Exemplo n.º 1
0
        public async Task CosmosDbEventStore_GetEventById_AsExpected()
        {
            try
            {
                var eventToCreate = new EventTest1
                {
                    Id            = Guid.NewGuid(),
                    Texte         = "toto",
                    AggregateId   = Guid.NewGuid(),
                    AggregateType = typeof(SampleAgg),
                    EventTime     = DateTime.Now
                };
                await _cosmosDbEventStore.StoreDomainEventAsync(eventToCreate).ConfigureAwait(false);

                var eventCreated = await _cosmosDbEventStore.GetEventByIdAsync <EventTest1>(eventToCreate.Id).ConfigureAwait(false);

                eventCreated.Should().NotBeNull();
                eventCreated.Id.Should().Be(eventToCreate.Id);
                eventCreated.Texte.Should().Be("toto");
            }
            finally
            {
                await DeleteAllAsync().ConfigureAwait(false);
            }
        }
Exemplo n.º 2
0
        public async Task CosmosDbEventStore_GetEventsFromAggregateIdAsync_AsExpected()
        {
            try
            {
                var id1         = Guid.NewGuid();
                var id2         = Guid.NewGuid();
                var id3         = Guid.NewGuid();
                var id4         = Guid.NewGuid();
                var idAggregate = Guid.NewGuid();
                var eventTest1  = new EventTest1 {
                    Id = id1, Texte = "toto", AggregateId = idAggregate, AggregateType = typeof(SampleAgg), EventTime = DateTime.Now
                };
                var eventTest2 = new EventTest2 {
                    Id = id2, Texte = "tata", AggregateId = idAggregate, AggregateType = typeof(SampleAgg), EventTime = DateTime.Now
                };
                var eventTest3 = new EventTest1 {
                    Id = id3, Texte = "titi", AggregateId = idAggregate, AggregateType = typeof(SampleAgg), EventTime = DateTime.Now
                };
                var eventTest4 = new EventTest2 {
                    Id = id4, Texte = "tutu", AggregateId = idAggregate, AggregateType = typeof(SampleAgg), EventTime = DateTime.Now
                };
                await _cosmosDbEventStore.StoreDomainEventAsync(eventTest1).ConfigureAwait(false);

                await _cosmosDbEventStore.StoreDomainEventAsync(eventTest2).ConfigureAwait(false);

                await _cosmosDbEventStore.StoreDomainEventAsync(eventTest3).ConfigureAwait(false);

                await _cosmosDbEventStore.StoreDomainEventAsync(eventTest4).ConfigureAwait(false);

                var results = await(await _cosmosDbEventStore.GetEventsFromAggregateIdAsync <SampleAgg>(idAggregate).ConfigureAwait(false)).ToList().ConfigureAwait(false);

                var test1 = results.FirstOrDefault(x => x.Id == id1);
                test1.GetType().Should().Be(typeof(EventTest1));
                ((EventTest1)test1).Texte.Should().Be("toto");

                var test2 = results.FirstOrDefault(x => x.Id == id2);
                test2.GetType().Should().Be(typeof(EventTest2));
                ((EventTest2)test2).Texte.Should().Be("tata");

                var test3 = results.FirstOrDefault(x => x.Id == id3);
                test3.GetType().Should().Be(typeof(EventTest1));
                ((EventTest1)test3).Texte.Should().Be("titi");

                var test4 = results.FirstOrDefault(x => x.Id == id4);
                test4.GetType().Should().Be(typeof(EventTest2));
                ((EventTest2)test4).Texte.Should().Be("tutu");
            }
            finally
            {
                await DeleteAllAsync().ConfigureAwait(false);
            }
        }
Exemplo n.º 3
0
        public async Task CosmosDbEventStore_StoreDomainEventAsync_AsExpected()
        {
            try
            {
                var id        = Guid.NewGuid();
                var eventTest = new EventTest1 {
                    Id = id, AggregateId = Guid.NewGuid(), AggregateType = typeof(SampleAgg), Texte = "toto", EventTime = DateTime.Now
                };
                await _cosmosDbEventStore.StoreDomainEventAsync(eventTest).ConfigureAwait(false);

                (await _cosmosDbEventStore.GetEventByIdAsync <EventTest1>(id).ConfigureAwait(false)).Texte.Should().Be("toto");
            }
            finally
            {
                await DeleteAllAsync().ConfigureAwait(false);
            }
        }