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); }
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(); }
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(); }
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(); } }