コード例 #1
0
        private static void PrepareEngine(Random random, EventStoreBasedStore store, out Mock <IDHCPv6ServerPropertiesResolver> propertyResolverMock, out DHCPv6StorageEngine engine)
        {
            Mock <IDHCPv6ReadStore> readStoreMock = new Mock <IDHCPv6ReadStore>(MockBehavior.Strict);

            readStoreMock.Setup(x => x.Project(It.IsAny <IEnumerable <DomainEvent> >())).ReturnsAsync(true).Verifiable();

            Mock <ILoggerFactory> factoryMock = new Mock <ILoggerFactory>(MockBehavior.Strict);

            factoryMock.Setup(x => x.CreateLogger(It.IsAny <String>())).Returns(Mock.Of <ILogger <DHCPv6RootScope> >());

            var scopeResolverMock = new Mock <IScopeResolver <DHCPv6Packet, IPv6Address> >();

            scopeResolverMock.Setup(x => x.PacketMeetsCondition(It.IsAny <DHCPv6Packet>())).Returns(true);

            Mock <IScopeResolverManager <DHCPv6Packet, IPv6Address> > resolverManagerMock = new Mock <IScopeResolverManager <DHCPv6Packet, IPv6Address> >();

            resolverManagerMock.Setup(x => x.InitializeResolver(It.IsAny <CreateScopeResolverInformation>())).Returns(scopeResolverMock.Object);
            resolverManagerMock.Setup(x => x.IsResolverInformationValid(It.IsAny <CreateScopeResolverInformation>())).Returns(true);

            propertyResolverMock = new Mock <IDHCPv6ServerPropertiesResolver>(MockBehavior.Strict);
            propertyResolverMock.Setup(x => x.GetServerDuid()).Returns(new UUIDDUID(random.NextGuid()));
            propertyResolverMock.Setup(x => x.GetLeaseLifeTime()).Returns(TimeSpan.FromMinutes(2));

            Mock <IServiceProvider> serviceProviderMock = new Mock <IServiceProvider>();

            serviceProviderMock.Setup(x => x.GetService(typeof(IDHCPv6ReadStore))).Returns(readStoreMock.Object);
            serviceProviderMock.Setup(x => x.GetService(typeof(ILoggerFactory))).Returns(factoryMock.Object);
            serviceProviderMock.Setup(x => x.GetService(typeof(IDHCPv6EventStore))).Returns(store);
            serviceProviderMock.Setup(x => x.GetService(typeof(IScopeResolverManager <DHCPv6Packet, IPv6Address>))).Returns(resolverManagerMock.Object);
            serviceProviderMock.Setup(x => x.GetService(typeof(IDHCPv6ServerPropertiesResolver))).Returns(propertyResolverMock.Object);


            engine = new DHCPv6StorageEngine(serviceProviderMock.Object);
        }
コード例 #2
0
        public async Task GetDHCPv6Listener()
        {
            List <DHCPv6Listener> listeners = new List <DHCPv6Listener>();

            Mock <IDHCPv6ReadStore> readStoreMock = new Mock <IDHCPv6ReadStore>(MockBehavior.Strict);

            readStoreMock.Setup(x => x.GetDHCPv6Listener()).ReturnsAsync(listeners).Verifiable();

            Mock <ILoggerFactory> factoryMock = new Mock <ILoggerFactory>(MockBehavior.Strict);

            factoryMock.Setup(x => x.CreateLogger(It.IsAny <String>())).Returns(Mock.Of <ILogger <DHCPv6RootScope> >());

            Mock <IServiceProvider> serviceProviderMock = new Mock <IServiceProvider>();

            serviceProviderMock.Setup(x => x.GetService(typeof(IDHCPv6ReadStore))).Returns(readStoreMock.Object);
            serviceProviderMock.Setup(x => x.GetService(typeof(ILoggerFactory))).Returns(factoryMock.Object);
            serviceProviderMock.Setup(x => x.GetService(typeof(IDHCPv6EventStore))).Returns(Mock.Of <IDHCPv6EventStore>());

            DHCPv6StorageEngine storageEngine = new DHCPv6StorageEngine(serviceProviderMock.Object);

            var actual = await storageEngine.GetDHCPv6Listener();

            Assert.Equal(listeners, actual);

            readStoreMock.Verify();
        }
コード例 #3
0
        public async Task DeleteAggregateRoot(Boolean storeResult)
        {
            MockedAggregateRoot mockedAggregateRoot = new MockedAggregateRoot(null);

            Mock <IDHCPv6EventStore> eventStoreMock = new Mock <IDHCPv6EventStore>(MockBehavior.Strict);

            eventStoreMock.Setup(x => x.DeleteAggregateRoot <MockedAggregateRoot>(mockedAggregateRoot.Id)).ReturnsAsync(storeResult).Verifiable();

            Mock <ILoggerFactory> factoryMock = new Mock <ILoggerFactory>(MockBehavior.Strict);

            factoryMock.Setup(x => x.CreateLogger(It.IsAny <String>())).Returns(Mock.Of <ILogger <DHCPv6RootScope> >());

            Mock <IServiceProvider> serviceProviderMock = new Mock <IServiceProvider>();

            serviceProviderMock.Setup(x => x.GetService(typeof(IDHCPv6ReadStore))).Returns(Mock.Of <IDHCPv6ReadStore>());
            serviceProviderMock.Setup(x => x.GetService(typeof(IDHCPv6EventStore))).Returns(eventStoreMock.Object);

            serviceProviderMock.Setup(x => x.GetService(typeof(ILoggerFactory))).Returns(factoryMock.Object);

            DHCPv6StorageEngine storageEngine = new DHCPv6StorageEngine(serviceProviderMock.Object);

            var actual = await storageEngine.DeleteAggregateRoot <MockedAggregateRoot>(mockedAggregateRoot.Id);

            Assert.Equal(actual, storeResult);

            eventStoreMock.Verify();
        }
コード例 #4
0
        public async Task Save(Boolean eventStoreResult, Boolean projectionResult, Boolean expectedResult)
        {
            List <DummyEvent> events = new List <DummyEvent>();

            for (int i = 0; i < 10; i++)
            {
                events.Add(new DummyEvent());
            }

            var mockedAggregateRoot = new MockedAggregateRoot(events);

            Mock <IDHCPv6EventStore> eventStoreMock = new Mock <IDHCPv6EventStore>(MockBehavior.Strict);

            eventStoreMock.Setup(x => x.Save(mockedAggregateRoot, 20)).ReturnsAsync(eventStoreResult).Verifiable();

            var comparer = new DummyEventEqualityCompare();

            Mock <IDHCPv6ReadStore> readStoreMock = new Mock <IDHCPv6ReadStore>(MockBehavior.Strict);

            if (eventStoreResult == true)
            {
                readStoreMock.Setup(x => x.Project(It.Is <IEnumerable <DomainEvent> >(y =>
                                                                                      comparer.Equals(events, y.Cast <DummyEvent>())
                                                                                      ))).ReturnsAsync(projectionResult).Verifiable();
            }

            Mock <ILoggerFactory> factoryMock = new Mock <ILoggerFactory>(MockBehavior.Strict);

            factoryMock.Setup(x => x.CreateLogger(It.IsAny <String>())).Returns(Mock.Of <ILogger <DHCPv6RootScope> >());

            Mock <IServiceProvider> serviceProviderMock = new Mock <IServiceProvider>();

            serviceProviderMock.Setup(x => x.GetService(typeof(IDHCPv6ReadStore))).Returns(readStoreMock.Object);
            serviceProviderMock.Setup(x => x.GetService(typeof(ILoggerFactory))).Returns(factoryMock.Object);
            serviceProviderMock.Setup(x => x.GetService(typeof(IDHCPv6EventStore))).Returns(eventStoreMock.Object);

            DHCPv6StorageEngine storageEngine = new DHCPv6StorageEngine(serviceProviderMock.Object);

            Boolean actual = await storageEngine.Save(mockedAggregateRoot);

            Assert.Equal(expectedResult, actual);

            eventStoreMock.Verify();
            if (eventStoreResult == false)
            {
                readStoreMock.Verify();
            }
        }