Example #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);
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
            }
        }