public async Task PesistEvent() { // Arrange var @event = new PatternUploaded { Id = Guid.NewGuid().ToString(), FileName = "pattern.xsd", Content = ByteString.CopyFrom( Encoding.UTF8.GetBytes("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")) }; // Act var version = await eventStore.PersistEventAsync($"test-{Guid.NewGuid()}", ExpectedVersion.NoStream + 1, @event); // Assert version.Should().Be(0); }
public async Task GetEvents() { // Arrange var event1 = new PatternUploaded { Id = Guid.NewGuid().ToString(), FileName = "pattern1.xsd", Content = ByteString.CopyFrom( Encoding.UTF8.GetBytes("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")) }; var event2 = new PatternUploaded { Id = Guid.NewGuid().ToString(), FileName = "pattern2.xsd", Content = ByteString.CopyFrom( Encoding.UTF8.GetBytes("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")) }; var actorName = $"test-{Guid.NewGuid()}"; long version = ExpectedVersion.NoStream; version = await eventStore.PersistEventAsync(actorName, version + 1, event1); version = await eventStore.PersistEventAsync(actorName, version + 1, event2); // Act var events = new List <PatternUploaded>(); version = await eventStore.GetEventsAsync(actorName, StreamPosition.Start, version, e => events.Add((PatternUploaded)e)); // Assert version.Should().Be(2); events.Should().HaveCount(2); events[0].FileName.Should().Be("pattern1.xsd"); Encoding.UTF8.GetString(events[0].Content.ToByteArray()).Should() .Be("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); events[1].FileName.Should().Be("pattern2.xsd"); Encoding.UTF8.GetString(events[1].Content.ToByteArray()).Should() .Be("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); }
public async Task CompressEvent() { // Arrange var @event = new PatternUploaded { Id = Guid.NewGuid().ToString(), FileName = "pattern.xsd", Content = ByteString.CopyFrom(Encoding.UTF8.GetBytes(new string('c', 512 * 1024))) }; var actorName = $"test-{Guid.NewGuid()}"; // Act PatternUploaded recoveredEvent = null; var version = await eventStore.PersistEventAsync(actorName, ExpectedVersion.NoStream + 1, @event); version = await eventStore.GetEventsAsync(actorName, StreamPosition.Start, version, e => recoveredEvent = (PatternUploaded)e); // Assert version.Should().Be(1); recoveredEvent.FileName.Should().Be("pattern.xsd"); recoveredEvent.Content.Should().HaveCount(512 * 1024); Encoding.UTF8.GetString(recoveredEvent.Content.ToByteArray()).Should().MatchRegex("c{512}"); }