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 LifeCylce() { Random random = new Random(); String firstname = random.GetAlphanumericString(); String secondName = random.GetAlphanumericString(); Guid id = random.NextGuid(); PseudoAggregateRoot aggregateRoot = PseudoAggregateRoot.Create(id, firstname); aggregateRoot.ChangeName(secondName); var settings = EventStoreClientSettings.Create("esdb://127.0.0.1:2113?tls=false"); var client = new EventStoreClient(settings); String prefix = random.GetAlphanumericString(); EventStoreBasedStore store = new EventStoreBasedStore(new EventStoreBasedStoreConnenctionOptions(client, prefix)); try { Boolean firstExistResult = await store.CheckIfAggrerootExists <PseudoAggregateRoot>(id); Assert.False(firstExistResult); Boolean saveResult = await store.Save(aggregateRoot); Assert.True(saveResult); Boolean secondExistResult = await store.CheckIfAggrerootExists <PseudoAggregateRoot>(id); Assert.True(secondExistResult); var hydratedVersion = new PseudoAggregateRoot(id); await store.HydrateAggragate(hydratedVersion); Assert.Equal(firstname, hydratedVersion.InitialName); Assert.Equal(secondName, hydratedVersion.SecondName); Boolean deleteResult = await store.DeleteAggregateRoot <PseudoAggregateRoot>(id); Assert.True(deleteResult); Boolean thirdExistResult = await store.CheckIfAggrerootExists <PseudoAggregateRoot>(id); Assert.False(thirdExistResult); } finally { await EventStoreClientDisposer.CleanUp(prefix, settings); } }
private async Task ExecuteWithStreamErase(Random random, Func <EventStoreBasedStore, Task> executor) { String prefix = random.GetAlphanumericString(); var settings = EventStoreClientSettings.Create("esdb://127.0.0.1:2113?tls=false"); try { var client = new EventStoreClient(settings); EventStoreBasedStore store = new EventStoreBasedStore(new EventStoreBasedStoreConnenctionOptions(client, prefix)); await executor(store); } finally { await EventStoreClientDisposer.CleanUp(prefix, settings); } }