public void setting_metadata_with_expected_version_any_works() { const string stream = "setting_metadata_with_expected_version_any_works"; var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), 10, TimeSpan.FromSeconds(0xABACABA)); _connection.SetStreamMetadata(stream, ExpectedVersion.Any, 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, ExpectedVersion.Any, 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); }
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), 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.CacheControl, meta.StreamMetadata.CacheControl); metadata = StreamMetadata.Create(37, TimeSpan.FromSeconds(0xBEEFDEAD), 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.CacheControl, meta.StreamMetadata.CacheControl); }
protected override async Task When() { await _conn.SetStreamMetadataAsync("$all", -1, StreamMetadata.Build().SetReadRole(SystemRoles.All), DefaultData.AdminCredentials); _testEventsA = Enumerable .Range(0, 10) .Select(x => TestEvent.NewTestEvent(x.ToString(), eventName: "AEvent")) .ToList(); var testEventsB = Enumerable .Range(0, 10000) .Select(x => TestEvent.NewTestEvent(x.ToString(), eventName: "BEvent")) .ToList(); _testEventsC = Enumerable .Range(0, 10) .Select(x => TestEvent.NewTestEvent(x.ToString(), eventName: "CEvent")) .ToList(); _testEvents.AddRange(_testEventsA); _testEvents.AddRange(testEventsB); _testEvents.AddRange(_testEventsC); _conn.AppendToStreamAsync("stream-a", ExpectedVersion.NoStream, _testEvents).Wait(); }
public async Task 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)); await _connection.SetStreamMetadataAsync(stream, ExpectedVersion.NoStream, metadata); var meta = await _connection.GetStreamMetadataAsync(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)); await _connection.SetStreamMetadataAsync(stream, 0, metadata); meta = await _connection.GetStreamMetadataAsync(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); }
public void setting_metadata_few_times_returns_last_metadata_info() { var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), 10, TimeSpan.FromSeconds(0xABACABA)); _connection.SetStreamMetadataAsync(_stream, ExpectedVersion.Any, metadata).Wait(); var meta = _connection.GetStreamMetadataAsync(_stream).Result; 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.SetStreamMetadataAsync(_stream, 0, metadata).Wait(); meta = _connection.GetStreamMetadataAsync(_stream).Result; 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); }
public void trying_to_set_metadata_with_wrong_expected_version_fails() { const string stream = "trying_to_set_metadata_with_wrong_expected_version_fails"; Assert.That(() => _connection.SetStreamMetadata(stream, 2, StreamMetadata.Create()), Throws.Exception.InstanceOf <AggregateException>() .With.InnerException.InstanceOf <WrongExpectedVersionException>()); }
public void Cleanup() { _conn.SetStreamMetadataAsync( "$all", ExpectedVersion.Any, StreamMetadata.Build(), new UserCredentials(SystemUsers.Admin, SystemUsers.DefaultAdminPassword)) .Wait(); _conn.Close(); }
protected override void When() { _conn.SetStreamMetadata( "$all", -1, StreamMetadata.Build().SetReadRole(SystemRoles.All), new UserCredentials(SystemUsers.Admin, SystemUsers.DefaultAdminPassword)); _testEvents = Enumerable.Range(0, 20).Select(x => TestEvent.NewTestEvent(x.ToString())).ToArray(); _conn.AppendToStream("stream", ExpectedVersion.EmptyStream, _testEvents); _conn.DeleteStream("stream", ExpectedVersion.Any); }
protected override void When() { _conn.SetStreamMetadataAsync( "$all", ExpectedVersion.Any, StreamMetadata.Build().SetReadRole(SystemRoles.All), new UserCredentials(SystemUsers.Admin, SystemUsers.DefaultAdminPassword)) .Wait(); _position = _conn.ReadAllEventsBackwardAsync(Position.End, 1, false).Result.NextPosition; _testEvents = Enumerable.Range(0, 20).Select(x => TestEvent.NewTestEvent(x.ToString())).ToArray(); _conn.AppendToStreamAsync(_stream, ExpectedVersion.Any, _testEvents).Wait(); _conn.DeleteStreamAsync(_stream, ExpectedVersion.Any).Wait(); }
public void returns_all_events_including_tombstone() { var metadataEvents = _conn.ReadStreamEventsBackwardAsync("$$" + _stream, -1, 1, true, new UserCredentials("admin", "changeit")).Result; var lastEvent = metadataEvents.Events[0].Event; Assert.AreEqual("$$" + _stream, lastEvent.EventStreamId); Assert.AreEqual(SystemEventTypes.StreamMetadata, lastEvent.EventType); var metadata = StreamMetadata.FromJsonBytes(lastEvent.Data); Assert.AreEqual(EventNumber.DeletedStream, metadata.TruncateBefore); }
public void setting_empty_metadata_works() { _connection.SetStreamMetadataAsync(_stream, ExpectedVersion.Any, StreamMetadata.Create()).Wait(); var meta = _connection.GetStreamMetadataAsRawBytesAsync(_stream).Result; Assert.AreEqual(_stream, meta.Stream); Assert.AreEqual(false, meta.IsStreamDeleted); Assert.AreEqual(0, meta.MetastreamVersion); Assert.AreEqual(Helper.UTF8NoBom.GetBytes("{}"), meta.StreamMetadata); }
protected override async Task When() { await _conn.SetStreamMetadataAsync( "$all", -1, StreamMetadata.Build().SetReadRole(SystemRoles.All), new UserCredentials(SystemUsers.Admin, SystemUsers.DefaultAdminPassword)); _testEvents = Enumerable.Range(0, 20).Select(x => TestEvent.NewTestEvent(x.ToString())).ToArray(); await _conn.AppendToStreamAsync("stream", ExpectedVersion.NoStream, _testEvents); await _conn.DeleteStreamAsync("stream", ExpectedVersion.Any, hardDelete : true); }
public async Task setting_structured_metadata_with_custom_properties_returns_them_untouched() { const string stream = "setting_structured_metadata_with_custom_properties_returns_them_untouched"; StreamMetadata metadata = StreamMetadata.Build() .SetMaxCount(17) .SetMaxAge(TimeSpan.FromSeconds(123321)) .SetTruncateBefore(23) .SetCacheControl(TimeSpan.FromSeconds(7654321)) .SetReadRole("readRole") .SetWriteRole("writeRole") .SetDeleteRole("deleteRole") //.SetMetadataReadRole("metaReadRole") .SetMetadataWriteRole("metaWriteRole") .SetCustomProperty("customString", "a string") .SetCustomProperty("customInt", -179) .SetCustomProperty("customDouble", 1.7) .SetCustomProperty("customLong", 123123123123123123L) .SetCustomProperty("customBool", true) .SetCustomProperty("customNullable", new int?()) .SetCustomPropertyWithValueAsRawJsonString("customRawJson", @"{ ""subProperty"": 999 }"); await _connection.SetStreamMetadataAsync(stream, ExpectedVersion.NoStream, metadata); var meta = await _connection.GetStreamMetadataAsync(stream); Assert.AreEqual(stream, meta.Stream); Assert.AreEqual(false, meta.IsStreamDeleted); Assert.AreEqual(0, meta.MetastreamVersion); Assert.AreEqual(17, meta.StreamMetadata.MaxCount); Assert.AreEqual(TimeSpan.FromSeconds(123321), meta.StreamMetadata.MaxAge); Assert.AreEqual(23, meta.StreamMetadata.TruncateBefore); Assert.AreEqual(TimeSpan.FromSeconds(7654321), meta.StreamMetadata.CacheControl); Assert.NotNull(meta.StreamMetadata.Acl); Assert.AreEqual("readRole", meta.StreamMetadata.Acl.ReadRole); Assert.AreEqual("writeRole", meta.StreamMetadata.Acl.WriteRole); Assert.AreEqual("deleteRole", meta.StreamMetadata.Acl.DeleteRole); //Assert.AreEqual("metaReadRole", meta.StreamMetadata.Acl.MetaReadRole); Assert.AreEqual("metaWriteRole", meta.StreamMetadata.Acl.MetaWriteRole); Assert.AreEqual("a string", meta.StreamMetadata.GetValue <string>("customString")); Assert.AreEqual(-179, meta.StreamMetadata.GetValue <int>("customInt")); Assert.AreEqual(1.7, meta.StreamMetadata.GetValue <double>("customDouble")); Assert.AreEqual(123123123123123123L, meta.StreamMetadata.GetValue <long>("customLong")); Assert.AreEqual(true, meta.StreamMetadata.GetValue <bool>("customBool")); Assert.AreEqual(null, meta.StreamMetadata.GetValue <int?>("customNullable")); Assert.AreEqual(@"{""subProperty"":999}", meta.StreamMetadata.GetValueAsRawJsonString("customRawJson")); }
public void setting_empty_metadata_works() { const string stream = "setting_empty_metadata_works"; _connection.SetStreamMetadata(stream, ExpectedVersion.EmptyStream, StreamMetadata.Create()); var meta = _connection.GetStreamMetadataAsRawBytes(stream); Assert.AreEqual(stream, meta.Stream); Assert.AreEqual(false, meta.IsStreamDeleted); Assert.AreEqual(0, meta.MetastreamVersion); Assert.AreEqual(Helper.UTF8NoBom.GetBytes("{}"), meta.StreamMetadata); }
protected override void When() { _conn.SetStreamMetadata( "$all", -1, StreamMetadata.Build().SetReadRole(SystemRoles.All), new UserCredentials(SystemUsers.Admin, SystemUsers.DefaultAdminPassword)); _testEvents = Enumerable.Range(0, 20).Select(x => TestEvent.NewTestEvent(x.ToString())).ToArray(); _conn.AppendToStream("stream", ExpectedVersion.EmptyStream, _testEvents); _conn.AppendToStream( "links", ExpectedVersion.EmptyStream, new EventData( Guid.NewGuid(), EventStore.ClientAPI.Common.SystemEventTypes.LinkTo, false, Encoding.UTF8.GetBytes("0@stream"), null)); _conn.DeleteStream("stream", ExpectedVersion.Any); }
public void setting_metadata_for_not_existing_stream_works() { var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), 10, TimeSpan.FromSeconds(0xABACABA)); _connection.SetStreamMetadataAsync(_stream, ExpectedVersion.EmptyStream, metadata).Wait(); var meta = _connection.GetStreamMetadataAsync(_stream).Result; 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); }
public void setting_metadata_for_not_existing_stream_works() { const string stream = "setting_metadata_for_not_existing_stream_works"; var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), 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.CacheControl, meta.StreamMetadata.CacheControl); }
public async Task setting_metadata_for_not_existing_stream_works() { const string stream = "setting_metadata_for_not_existing_stream_works"; var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), 10, TimeSpan.FromSeconds(0xABACABA)); await _connection.SetStreamMetadataAsync(stream, ExpectedVersion.NoStream, metadata); var meta = await _connection.GetStreamMetadataAsync(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); }
protected override void When() { _conn.SetStreamMetadataAsync( "$all", ExpectedVersion.Any, StreamMetadata.Build().SetReadRole(SystemRoles.All), new UserCredentials(SystemUsers.Admin, SystemUsers.DefaultAdminPassword)) .Wait(); _testEvents = Enumerable.Range(0, 20).Select(x => TestEvent.NewTestEvent(x.ToString())).ToArray(); _stream = "read_stream_events_with_unresolved_linkto"; _conn.AppendToStreamAsync(_stream, ExpectedVersion.EmptyStream, _testEvents).Wait(); _links = "read_stream_events_with_unresolved_linkto_links"; _conn.AppendToStreamAsync( _links, ExpectedVersion.EmptyStream, new EventData( Guid.NewGuid(), EventStore.ClientAPI.Common.SystemEventTypes.LinkTo, false, Encoding.UTF8.GetBytes("0@read_stream_events_with_unresolved_linkto"), null)) .Wait(); _conn.DeleteStreamAsync(_stream, ExpectedVersion.Any).Wait(); }
public void returns_all_events_including_tombstone() { AllEventsSlice read = _conn.ReadAllEventsForwardAsync(Position.Start, _testEvents.Length + 10, false).Result; Assert.That( EventDataComparer.Equal( _testEvents.ToArray(), read.Events.Skip(read.Events.Length - _testEvents.Length - 1) .Take(_testEvents.Length) .Select(x => x.Event) .ToArray())); var lastEvent = read.Events.Last().Event; Assert.AreEqual("$$stream", lastEvent.EventStreamId); Assert.AreEqual(SystemEventTypes.StreamMetadata, lastEvent.EventType); var metadata = StreamMetadata.FromJsonBytes(lastEvent.Data); Assert.AreEqual(EventNumber.DeletedStream, metadata.TruncateBefore); }
public void getting_metadata_for_deleted_stream_returns_empty_stream_metadata_and_signals_stream_deletion() { var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), 10, TimeSpan.FromSeconds(0xABACABA)); _connection.SetStreamMetadataAsync(_stream, ExpectedVersion.EmptyStream, metadata).Wait(); _connection.DeleteStreamAsync(_stream, ExpectedVersion.EmptyStream, hardDelete: true).Wait(); var meta = _connection.GetStreamMetadataAsync(_stream).Result; Assert.AreEqual(_stream, meta.Stream); Assert.AreEqual(true, meta.IsStreamDeleted); Assert.AreEqual(EventNumber.DeletedStream, meta.MetastreamVersion); Assert.AreEqual(null, meta.StreamMetadata.MaxCount); Assert.AreEqual(null, meta.StreamMetadata.MaxAge); Assert.AreEqual(null, meta.StreamMetadata.TruncateBefore); Assert.AreEqual(null, meta.StreamMetadata.CacheControl); Assert.AreEqual(null, meta.StreamMetadata.Acl); }
public void getting_metadata_for_deleted_stream_returns_empty_stream_metadata_and_signals_stream_deletion() { const string stream = "getting_metadata_for_deleted_stream_returns_empty_stream_metadata_and_signals_stream_deletion"; var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), TimeSpan.FromSeconds(0xABACABA)); _connection.SetStreamMetadata(stream, ExpectedVersion.EmptyStream, metadata); _connection.DeleteStream(stream, ExpectedVersion.EmptyStream); var meta = _connection.GetStreamMetadata(stream); Assert.AreEqual(stream, meta.Stream); Assert.AreEqual(true, meta.IsStreamDeleted); Assert.AreEqual(EventNumber.DeletedStream, meta.MetastreamVersion); Assert.AreEqual(null, meta.StreamMetadata.MaxCount); Assert.AreEqual(null, meta.StreamMetadata.MaxAge); Assert.AreEqual(null, meta.StreamMetadata.CacheControl); Assert.AreEqual(null, meta.StreamMetadata.Acl); }
public void setting_metadata_for_existing_stream_works() { const string stream = "setting_metadata_for_existing_stream_works"; _connection.AppendToStreamAsync(stream, ExpectedVersion.NoStream, TestEvent.NewTestEvent()).Wait(); var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), 10, TimeSpan.FromSeconds(0xABACABA)); _connection.SetStreamMetadataAsync(stream, ExpectedVersion.NoStream, metadata).Wait(); var meta = _connection.GetStreamMetadataAsync(stream).Result; 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); }
public void setting_structured_metadata_with_multiple_roles_can_be_read_back() { StreamMetadata metadata = StreamMetadata.Build() .SetReadRoles(new [] { "r1", "r2", "r3" }) .SetWriteRoles(new[] { "w1", "w2" }) .SetDeleteRoles(new[] { "d1", "d2", "d3", "d4" }) .SetMetadataWriteRoles(new[] { "mw1", "mw2" }); _connection.SetStreamMetadataAsync(_stream, ExpectedVersion.EmptyStream, metadata).Wait(); var meta = _connection.GetStreamMetadataAsync(_stream).Result; Assert.AreEqual(_stream, meta.Stream); Assert.AreEqual(false, meta.IsStreamDeleted); Assert.AreEqual(0, meta.MetastreamVersion); Assert.NotNull(meta.StreamMetadata.Acl); Assert.AreEqual(new[] { "r1", "r2", "r3" }, meta.StreamMetadata.Acl.ReadRoles); Assert.AreEqual(new[] { "w1", "w2" }, meta.StreamMetadata.Acl.WriteRoles); Assert.AreEqual(new[] { "d1", "d2", "d3", "d4" }, meta.StreamMetadata.Acl.DeleteRoles); Assert.AreEqual(new[] { "mw1", "mw2" }, meta.StreamMetadata.Acl.MetaWriteRoles); }
public async Task getting_metadata_for_deleted_stream_returns_empty_stream_metadata_and_signals_stream_deletion() { const string stream = "getting_metadata_for_deleted_stream_returns_empty_stream_metadata_and_signals_stream_deletion"; var metadata = StreamMetadata.Create(17, TimeSpan.FromSeconds(0xDEADBEEF), 10, TimeSpan.FromSeconds(0xABACABA)); await _connection.SetStreamMetadataAsync(stream, ExpectedVersion.NoStream, metadata); await _connection.DeleteStreamAsync(stream, ExpectedVersion.NoStream, hardDelete : true); var meta = await _connection.GetStreamMetadataAsync(stream); Assert.AreEqual(stream, meta.Stream); Assert.AreEqual(true, meta.IsStreamDeleted); Assert.AreEqual(EventNumber.DeletedStream, meta.MetastreamVersion); Assert.AreEqual(null, meta.StreamMetadata.MaxCount); Assert.AreEqual(null, meta.StreamMetadata.MaxAge); Assert.AreEqual(null, meta.StreamMetadata.TruncateBefore); Assert.AreEqual(null, meta.StreamMetadata.CacheControl); Assert.AreEqual(null, meta.StreamMetadata.Acl); }
public async Task setting_structured_metadata_with_multiple_roles_can_be_read_back() { const string stream = "setting_structured_metadata_with_multiple_roles_can_be_read_back"; StreamMetadata metadata = StreamMetadata.Build() .SetReadRoles(new[] { "r1", "r2", "r3" }) .SetWriteRoles(new[] { "w1", "w2" }) .SetDeleteRoles(new[] { "d1", "d2", "d3", "d4" }) .SetMetadataWriteRoles(new[] { "mw1", "mw2" }); await _connection.SetStreamMetadataAsync(stream, ExpectedVersion.NoStream, metadata); var meta = await _connection.GetStreamMetadataAsync(stream); Assert.AreEqual(stream, meta.Stream); Assert.AreEqual(false, meta.IsStreamDeleted); Assert.AreEqual(0, meta.MetastreamVersion); Assert.NotNull(meta.StreamMetadata.Acl); Assert.AreEqual(new[] { "r1", "r2", "r3" }, meta.StreamMetadata.Acl.ReadRoles); Assert.AreEqual(new[] { "w1", "w2" }, meta.StreamMetadata.Acl.WriteRoles); Assert.AreEqual(new[] { "d1", "d2", "d3", "d4" }, meta.StreamMetadata.Acl.DeleteRoles); Assert.AreEqual(new[] { "mw1", "mw2" }, meta.StreamMetadata.Acl.MetaWriteRoles); }
public Task <WriteResult> SetStreamMetadataAsync(string stream, long expectedMetastreamVersion, StreamMetadata metadata, UserCredentials userCredentials = null) { throw new NotImplementedException(); }
public Task<WriteResult> SetStreamMetadataAsync(string stream, int expectedMetastreamVersion, StreamMetadata metadata, UserCredentials userCredentials = null) { throw new NotImplementedException(); }
public async Task trying_to_set_metadata_with_wrong_expected_version_fails() { const string stream = "trying_to_set_metadata_with_wrong_expected_version_fails"; await AssertEx.ThrowsAsync <WrongExpectedVersionException>(() => _connection.SetStreamMetadataAsync(stream, 2, StreamMetadata.Create())); }
/// <summary> /// Constructs a new instance of <see cref="StreamMetadataResult"/>. /// </summary> /// <param name="stream">The name of the stream.</param> /// <param name="isStreamDeleted">True if the stream is soft-deleted.</param> /// <param name="metastreamVersion">The version of the metadata format.</param> /// <param name="streamMetadata">A <see cref="StreamMetadataResult"/> containing user-specified metadata.</param> public StreamMetadataResult(string stream, bool isStreamDeleted, long metastreamVersion, StreamMetadata streamMetadata) { Ensure.NotNullOrEmpty(stream, "stream"); Stream = stream; IsStreamDeleted = isStreamDeleted; MetastreamVersion = metastreamVersion; StreamMetadata = streamMetadata; }