public void soft_deleted_stream_allows_recreation_when_expver_any() { const string stream = "soft_deleted_stream_allows_recreation_when_expver_any"; Assert.AreEqual(1, _conn.AppendToStream(stream, ExpectedVersion.NoStream, TestEvent.NewTestEvent(), TestEvent.NewTestEvent()).NextExpectedVersion); _conn.DeleteStream(stream, 1); var events = new[] { TestEvent.NewTestEvent(), TestEvent.NewTestEvent(), TestEvent.NewTestEvent() }; Assert.AreEqual(4, _conn.AppendToStream(stream, ExpectedVersion.Any, events).NextExpectedVersion); var res = _conn.ReadStreamEventsForward(stream, 0, 100, false); Assert.AreEqual(SliceReadStatus.Success, res.Status); Assert.AreEqual(4, res.LastEventNumber); Assert.AreEqual(3, res.Events.Length); Assert.AreEqual(events.Select(x => x.EventId), res.Events.Select(x => x.OriginalEvent.EventId)); Assert.AreEqual(new[] { 2, 3, 4 }, res.Events.Select(x => x.OriginalEvent.EventNumber)); var meta = _conn.GetStreamMetadata(stream); Assert.AreEqual(2, meta.StreamMetadata.TruncateBefore); Assert.AreEqual(1, meta.MetastreamVersion); }
public void setting_metadata_few_times_returns_last_metadata_info() { const string stream = "setting_metadata_few_times_returns_last_metadata_info"; var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), 10, TimeSpan.FromSeconds(0xABACABA)); _connection.SetStreamMetadata(stream, ExpectedVersion.EmptyStream, metadata); var meta = _connection.GetStreamMetadata(stream); Assert.AreEqual(stream, meta.Stream); Assert.AreEqual(false, meta.IsStreamDeleted); Assert.AreEqual(0, meta.MetastreamVersion); Assert.AreEqual(metadata.MaxCount, meta.StreamMetadata.MaxCount); Assert.AreEqual(metadata.MaxAge, meta.StreamMetadata.MaxAge); Assert.AreEqual(metadata.TruncateBefore, meta.StreamMetadata.TruncateBefore); Assert.AreEqual(metadata.CacheControl, meta.StreamMetadata.CacheControl); metadata = StreamMetadata.Create(37, TimeSpan.FromSeconds(0xBEEFDEAD), 24, TimeSpan.FromSeconds(0xDABACABAD)); _connection.SetStreamMetadata(stream, 0, metadata); meta = _connection.GetStreamMetadata(stream); Assert.AreEqual(stream, meta.Stream); Assert.AreEqual(false, meta.IsStreamDeleted); Assert.AreEqual(1, meta.MetastreamVersion); Assert.AreEqual(metadata.MaxCount, meta.StreamMetadata.MaxCount); Assert.AreEqual(metadata.MaxAge, meta.StreamMetadata.MaxAge); Assert.AreEqual(metadata.TruncateBefore, meta.StreamMetadata.TruncateBefore); Assert.AreEqual(metadata.CacheControl, meta.StreamMetadata.CacheControl); }