public async Task WriteTwoStreamsAndReadAll() { var id1 = GuidId.NewGuidId(); var id2 = GuidId.NewGuidId(); await this.eventstore.AppendToStream(id1, 0, new IEvent[] { BigEventData.Create(id1, 228) }); await this.eventstore.AppendToStream(id1, 1, new IEvent[] { BigEventData.Create(id1, 118), BigEventData.Create(id1, 98), BigEventData.Create(id1, 328) }); await this.eventstore.AppendToStream(id1, 2, new IEvent[] { BigEventData.Create(id1, 28) }); await this.eventstore.AppendToStream(id2, 0, new IEvent[] { BigEventData.Create(id2, 128), BigEventData.Create(id2, 228) }); var stream = await this.eventstore.LoadEventStream(id1, 1, 2); Assert.Equal(3, stream.Events.Count); Assert.Equal(2, stream.Version); }
public async Task AppendRandomId() { var id = GuidId.NewGuidId(); await this.eventstore.AppendToStream(id, 0, new IEvent[] { BigEventData.Create(id, 440), BigEventData.Create(id, 200) }); await this.eventstore.AppendToStream(id, 1, new IEvent[] { BigEventData.Create(id, 30), BigEventData.Create(id, 200) }); var events = await this.eventstore.LoadEventStream(id); Assert.Equal(2, events.Version); }
public async Task WriteTwoStreamsAndReadAll() { var id1 = GuidId.NewGuidId(); var id2 = GuidId.NewGuidId(); await this.eventstore.AppendToStream(id1, 0, new IEvent[] { BigEventData.Create(id1, 1024 * 1024 * 3) }); await this.eventstore.AppendToStream(id1, 1, new IEvent[] { BigEventData.Create(id1, 1024 * 1024 * 2), BigEventData.Create(id1, 98), BigEventData.Create(id1, 328) }); await this.eventstore.AppendToStream(id1, 2, new IEvent[] { BigEventData.Create(id1, 28) }); await this.eventstore.AppendToStream(id2, 0, new IEvent[] { BigEventData.Create(id2, 128), BigEventData.Create(id2, 228) }); var stream = await this.eventstore.LoadEventStream(id1, 1, 2); await this.appender.WriteAll(); var stream1 = await this.appender.ReadRecords(id1.ToString(), 0, Int32.MaxValue); Assert.Equal(3, stream1.Length); var stream2 = await this.appender.ReadRecords(id2.ToString(), 0, Int32.MaxValue); Assert.Equal(1, stream2.Length); Assert.Equal(869, stream1[0].Data.Length); Assert.Equal(1377, stream1[1].Data.Length); Assert.Equal(869, stream1[0].Data.Length); Assert.Equal(869, stream1[0].Data.Length); }
public async Task WriteStreamAndExtraxt() { var fs = new FileAppendOnlyStoreAsync(File); var es = new EventStoreAsync(fs); var id2 = GuidId.NewGuidId(); var id1 = GuidId.NewGuidId(); await es.AppendToStream(id2, 0, new[] { new BigEventData(), new BigEventData(), new BigEventData() }); await es.AppendToStream(id1, 0, new[] { new BigEventData(), new BigEventData(), new BigEventData() }); await es.AppendToStream(id2, 1, new[] { new BigEventData(), new BigEventData(), new BigEventData() }); await es.AppendToStream(id1, 1, new[] { new BigEventData(), new BigEventData(), new BigEventData() }); await fs.ExtractMasterStream(new DirectoryInfo(Path.Combine(File, "out")), new NameDashGuidNaming(), 0, int.MaxValue); Assert.True(true, "Tested in: " + File); }
public async Task CanConflictOnAppend() { var id = GuidId.NewGuidId(); var events = new IEvent[] { BigEventData.Create(id, 20), BigEventData.Create(id, 1024), BigEventData.Create(id, 400121), BigEventData.Create(id, 2048) }; var run1 = this.eventstore.AppendToStream(id, 0, events); var run2 = this.eventstore.AppendToStream(id, 1, events); var run3 = this.eventstore.AppendToStream(id, 2, events); var run4 = this.eventstore.AppendToStream(id, 3, events); try { Task.WaitAll(run3, run2, run4, run1); } catch (AggregateException ex) { throw; } }