Esempio n. 1
0
        public async Task DeletedDocumentsAppearInChangeFeed(bool partitioned)
        {
            // Arrange
            var partition = partitioned ? Guid.NewGuid().ToString() : null;

            var client = await CosmosSetup.GetClient(this.Database, this.Collection, partitioned : partitioned);

            var store = new EventStore(client, this.Database, this.Collection, partition);

            var streamId = Guid.NewGuid().ToString();
            var events   = TestSetup.GetEvents(10);

            await store.WriteToStream(streamId, events);

            await store.CreateSnapshot(streamId, 2, 2);

            await store.CreateSnapshot(streamId, 4, 4);

            await store.CreateSnapshot(streamId, 8, 8);

            // Act
            var token = await this.GetCurrentChangeFeedToken(client, partition);

            await store.DeleteStream(streamId, (ulong)events.Length);

            // Assert
            var documents = await this.LoadChangeFeed(client, partition, token);

            Assert.AreEqual(1 + events.Length + 3, documents.Count);

            foreach (var document in documents)
            {
                Assert.IsTrue(document.Deleted);
            }
        }
            public void DeleteAllStreamCommits()
            {
                var streamId = Guid.NewGuid();

                EventStore.Save(new Commit(Guid.NewGuid(), streamId, 1, HeaderCollection.Empty, EventCollection.Empty));
                EventStore.Save(new Commit(Guid.NewGuid(), streamId, 2, HeaderCollection.Empty, EventCollection.Empty));
                EventStore.DeleteStream(streamId);

                Assert.Equal(0, EventStore.GetStream(streamId).Count());
            }
            public void DoNotDeleteOtherStreams()
            {
                var streamId          = Guid.NewGuid();
                var alternateStreamid = Guid.NewGuid();

                EventStore.Save(new Commit(Guid.NewGuid(), streamId, 1, HeaderCollection.Empty, EventCollection.Empty));
                EventStore.Save(new Commit(Guid.NewGuid(), alternateStreamid, 1, HeaderCollection.Empty, EventCollection.Empty));
                EventStore.DeleteStream(streamId);

                Assert.Equal(1, EventStore.GetStream(alternateStreamid).Count());
            }