diff --git a/test/EventStore.Client.Operations.Tests/EventStoreClientFixture.cs b/test/EventStore.Client.Operations.Tests/EventStoreClientFixture.cs index 8b9c80593..69298b703 100644 --- a/test/EventStore.Client.Operations.Tests/EventStoreClientFixture.cs +++ b/test/EventStore.Client.Operations.Tests/EventStoreClientFixture.cs @@ -5,7 +5,9 @@ public abstract class EventStoreClientFixture : EventStoreClientFixtureBase { public EventStoreOperationsClient Client { get; } public EventStoreClient StreamsClient { get; } - protected EventStoreClientFixture(EventStoreClientSettings? settings = null) : base(settings) { + protected EventStoreClientFixture(EventStoreClientSettings? settings = null) + : base(settings, noDefaultCredentials: true) { + Client = new EventStoreOperationsClient(Settings); StreamsClient = new EventStoreClient(Settings); } diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/EventStoreClientFixture.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/EventStoreClientFixture.cs index 0680fd1a8..ee83f13fb 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/EventStoreClientFixture.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/EventStoreClientFixture.cs @@ -8,7 +8,9 @@ public abstract class EventStoreClientFixture : EventStoreClientFixtureBase { public EventStoreClient StreamsClient { get; } public EventStoreUserManagementClient UserManagementClient { get; } - protected EventStoreClientFixture(EventStoreClientSettings? settings = null, bool skipPSWarmUp=false) : base(settings) { + protected EventStoreClientFixture(EventStoreClientSettings? settings = null, bool skipPSWarmUp=false, bool noDefaultCredentials=false) + : base(settings, noDefaultCredentials: noDefaultCredentials){ + _skipPsWarmUp = skipPSWarmUp; Client = new EventStorePersistentSubscriptionsClient(Settings); diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/connect_to_existing_without_permissions.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/connect_to_existing_without_permissions.cs index c32049dd3..6e35a6e38 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/connect_to_existing_without_permissions.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/connect_to_existing_without_permissions.cs @@ -16,6 +16,9 @@ public Task throws_access_denied() => }).WithTimeout(); public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Client.CreateToAllAsync( "agroupname55", diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/connect_to_existing_without_read_all_permissions.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/connect_to_existing_without_read_all_permissions.cs index 887c80bb6..6b4f28c12 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/connect_to_existing_without_read_all_permissions.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/connect_to_existing_without_read_all_permissions.cs @@ -16,6 +16,9 @@ public Task throws_access_denied() => }).WithTimeout(); public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Client.CreateToAllAsync( "agroupname55", diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/create_without_permissions.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/create_without_permissions.cs index 2223f27d7..9702b9e28 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/create_without_permissions.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/create_without_permissions.cs @@ -12,6 +12,9 @@ public create_without_permissions(Fixture fixture) { private readonly Fixture _fixture; public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; } diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/deleting_without_permissions.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/deleting_without_permissions.cs index 5d3519261..e93ef02d4 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/deleting_without_permissions.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/deleting_without_permissions.cs @@ -20,6 +20,9 @@ await Assert.ThrowsAsync( } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; } diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/update_existing_without_permissions.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/update_existing_without_permissions.cs index ccc1a18f1..56b4fa87b 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/update_existing_without_permissions.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToAll/update_existing_without_permissions.cs @@ -20,6 +20,9 @@ await Assert.ThrowsAsync( } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override async Task Given() { await Client.CreateToAllAsync(Group, new PersistentSubscriptionSettings(), userCredentials: TestCredentials.Root); diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/connect_to_existing_without_permissions.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/connect_to_existing_without_permissions.cs index ee76d19f9..74c901b3f 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/connect_to_existing_without_permissions.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/connect_to_existing_without_permissions.cs @@ -16,6 +16,9 @@ public Task throws_access_denied() => }).WithTimeout(); public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Client.CreateToStreamAsync( Stream, diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/create_without_permissions.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/create_without_permissions.cs index de117a446..fa03c00ce 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/create_without_permissions.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/create_without_permissions.cs @@ -12,6 +12,9 @@ public create_without_permissions(Fixture fixture) { private readonly Fixture _fixture; public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; } diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/deleting_without_permissions.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/deleting_without_permissions.cs index 2609ef9c4..5e7fbe505 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/deleting_without_permissions.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/deleting_without_permissions.cs @@ -20,6 +20,9 @@ await Assert.ThrowsAsync( } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; } diff --git a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/update_existing_without_permissions.cs b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/update_existing_without_permissions.cs index ac15627fe..128f0e798 100644 --- a/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/update_existing_without_permissions.cs +++ b/test/EventStore.Client.PersistentSubscriptions.Tests/SubscriptionToStream/update_existing_without_permissions.cs @@ -20,8 +20,12 @@ await Assert.ThrowsAsync( } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override async Task Given() { - await StreamsClient.AppendToStreamAsync(Stream, StreamState.NoStream, CreateTestEvents()); + await StreamsClient.AppendToStreamAsync(Stream, StreamState.NoStream, CreateTestEvents(), + userCredentials: TestCredentials.Root); await Client.CreateToStreamAsync(Stream, Group, new PersistentSubscriptionSettings(), userCredentials: TestCredentials.Root); } diff --git a/test/EventStore.Client.ProjectionManagement.Tests/EventStoreClientFixture.cs b/test/EventStore.Client.ProjectionManagement.Tests/EventStoreClientFixture.cs index 9bf5adbc0..3f7b502df 100644 --- a/test/EventStore.Client.ProjectionManagement.Tests/EventStoreClientFixture.cs +++ b/test/EventStore.Client.ProjectionManagement.Tests/EventStoreClientFixture.cs @@ -9,11 +9,11 @@ public abstract class EventStoreClientFixture : EventStoreClientFixtureBase { public EventStoreClient StreamsClient { get; } public EventStoreProjectionManagementClient Client { get; } - protected EventStoreClientFixture(EventStoreClientSettings? settings = null) : base(settings, - new Dictionary { + protected EventStoreClientFixture(EventStoreClientSettings? settings = null, bool noDefaultCredentials = false) : + base(settings, new Dictionary { ["EVENTSTORE_RUN_PROJECTIONS"] = "ALL", ["EVENTSTORE_START_STANDARD_PROJECTIONS"] = "True" - }) { + }, noDefaultCredentials) { Client = new EventStoreProjectionManagementClient(Settings); UserManagementClient = new EventStoreUserManagementClient(Settings); StreamsClient = new EventStoreClient(Settings); diff --git a/test/EventStore.Client.ProjectionManagement.Tests/restart_subsystem.cs b/test/EventStore.Client.ProjectionManagement.Tests/restart_subsystem.cs index a69d0363a..570cc62be 100644 --- a/test/EventStore.Client.ProjectionManagement.Tests/restart_subsystem.cs +++ b/test/EventStore.Client.ProjectionManagement.Tests/restart_subsystem.cs @@ -20,6 +20,9 @@ public async Task throws_when_given_no_credentials() { } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true) { + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; } diff --git a/test/EventStore.Client.Streams.Tests/Deprecation.cs b/test/EventStore.Client.Streams.Tests/Deprecation.cs new file mode 100644 index 000000000..ca1904b42 --- /dev/null +++ b/test/EventStore.Client.Streams.Tests/Deprecation.cs @@ -0,0 +1,39 @@ +using System; + +namespace EventStore.Client; + +internal class Deprecation { + internal class FactAttribute : Xunit.FactAttribute { + private readonly Version _legacySince; + private readonly string _skipMessage; + + public FactAttribute(Version since, string skipMessage) { + _legacySince = since; + _skipMessage = skipMessage; + } + + public override string? Skip { + get => EventStoreTestServer.Version >= _legacySince + ? _skipMessage + : null; + set => throw new NotSupportedException(); + } + } + + internal class TheoryAttribute : Xunit.TheoryAttribute { + private readonly Version _legacySince; + private readonly string _skipMessage; + + public TheoryAttribute(Version since, string skipMessage) { + _legacySince = since; + _skipMessage = skipMessage; + } + + public override string? Skip { + get => EventStoreTestServer.Version >= _legacySince + ? _skipMessage + : null; + set => throw new NotSupportedException(); + } + } +} diff --git a/test/EventStore.Client.Streams.Tests/EventStoreClientFixture.cs b/test/EventStore.Client.Streams.Tests/EventStoreClientFixture.cs index 774c2284d..3fd23986d 100644 --- a/test/EventStore.Client.Streams.Tests/EventStoreClientFixture.cs +++ b/test/EventStore.Client.Streams.Tests/EventStoreClientFixture.cs @@ -5,7 +5,9 @@ namespace EventStore.Client { public abstract class EventStoreClientFixture : EventStoreClientFixtureBase { public EventStoreClient Client { get; } protected EventStoreClientFixture(EventStoreClientSettings? settings = null, - Dictionary? env = null) : base(settings, env) { + Dictionary? env = null, bool noDefaultCredentials = false) + : base(settings, env, noDefaultCredentials) { + Client = new EventStoreClient(Settings); } diff --git a/test/EventStore.Client.Streams.Tests/NoAuthentication.cs b/test/EventStore.Client.Streams.Tests/NoAuthentication.cs new file mode 100644 index 000000000..731c0f6f4 --- /dev/null +++ b/test/EventStore.Client.Streams.Tests/NoAuthentication.cs @@ -0,0 +1,17 @@ +using System; + +namespace EventStore.Client; + +public class NoAuthentication { + private static readonly Version LegacySince = new Version(23, 6); + private static readonly string SkipMessage = + "Anonymous access is no longer supported since v23.6.0!"; + + internal class FactAttribute : Deprecation.FactAttribute { + public FactAttribute() : base(LegacySince, SkipMessage) { } + } + + internal class TheoryAttribute : Deprecation.TheoryAttribute { + public TheoryAttribute() : base(LegacySince, SkipMessage) { } + } +} diff --git a/test/EventStore.Client.Streams.Tests/Security/SecurityFixture.cs b/test/EventStore.Client.Streams.Tests/Security/SecurityFixture.cs index 72ab1ba9b..0ed899f24 100644 --- a/test/EventStore.Client.Streams.Tests/Security/SecurityFixture.cs +++ b/test/EventStore.Client.Streams.Tests/Security/SecurityFixture.cs @@ -19,9 +19,7 @@ public abstract class SecurityFixture : EventStoreClientFixture { public EventStoreUserManagementClient UserManagementClient { get; } - protected SecurityFixture() { - // make sure credentials aren't changing the test results./ - Settings.DefaultCredentials = null; + protected SecurityFixture() : base(noDefaultCredentials: true) { UserManagementClient = new EventStoreUserManagementClient(Settings); } diff --git a/test/EventStore.Client.Streams.Tests/Security/delete_stream_security.cs b/test/EventStore.Client.Streams.Tests/Security/delete_stream_security.cs index 046552107..e6a0b66a3 100644 --- a/test/EventStore.Client.Streams.Tests/Security/delete_stream_security.cs +++ b/test/EventStore.Client.Streams.Tests/Security/delete_stream_security.cs @@ -16,7 +16,7 @@ public async Task delete_of_all_is_never_allowed() { await Assert.ThrowsAsync(() => _fixture.DeleteStream(SecurityFixture.AllStream, userCredentials: TestCredentials.TestAdmin)); } - [Fact] + [NoAuthentication.Fact] public async Task deleting_normal_no_acl_stream_with_no_user_is_allowed() { var streamId = await _fixture.CreateStreamWithMeta(new StreamMetadata()); await _fixture.DeleteStream(streamId); @@ -89,7 +89,7 @@ await _fixture.CreateStreamWithMeta( } - [Fact] + [NoAuthentication.Fact] public async Task deleting_normal_all_stream_with_no_user_is_allowed() { var streamId = await _fixture.CreateStreamWithMeta( @@ -188,7 +188,7 @@ public async Task deleting_system_admin_stream_with_admin_user_is_allowed() { } - [Fact] + [NoAuthentication.Fact] public async Task deleting_system_all_stream_with_no_user_is_allowed() { var streamId = await _fixture.CreateStreamWithMeta(streamId: $"${_fixture.GetStreamName()}", metadata: new StreamMetadata(acl: new StreamAcl(deleteRole: SystemRoles.All))); diff --git a/test/EventStore.Client.Streams.Tests/Security/multiple_role_security.cs b/test/EventStore.Client.Streams.Tests/Security/multiple_role_security.cs index f096d622e..1c1567569 100644 --- a/test/EventStore.Client.Streams.Tests/Security/multiple_role_security.cs +++ b/test/EventStore.Client.Streams.Tests/Security/multiple_role_security.cs @@ -21,12 +21,16 @@ public async Task multiple_roles_are_handled_correctly() { await Assert.ThrowsAsync(() => _fixture.AppendStream("usr-stream", TestCredentials.TestUser2)); await _fixture.AppendStream("usr-stream", userCredentials: TestCredentials.TestAdmin); - await _fixture.DeleteStream("usr-stream1"); await _fixture.DeleteStream("usr-stream2", userCredentials: TestCredentials.TestUser1); await _fixture.DeleteStream("usr-stream3", TestCredentials.TestUser2); await _fixture.DeleteStream("usr-stream4", userCredentials: TestCredentials.TestAdmin); } + [NoAuthentication.Fact] + public async Task multiple_roles_are_handled_correctly_without_authentication() { + await _fixture.DeleteStream("usr-stream1"); + } + public class Fixture : SecurityFixture { protected override Task When() { diff --git a/test/EventStore.Client.Streams.Tests/Security/overriden_system_stream_security_for_all.cs b/test/EventStore.Client.Streams.Tests/Security/overriden_system_stream_security_for_all.cs index 2858aa617..ac3a073a6 100644 --- a/test/EventStore.Client.Streams.Tests/Security/overriden_system_stream_security_for_all.cs +++ b/test/EventStore.Client.Streams.Tests/Security/overriden_system_stream_security_for_all.cs @@ -35,7 +35,7 @@ public async Task operations_on_system_stream_succeeds_for_user() { await _fixture.DeleteStream(stream, userCredentials: TestCredentials.TestUser1); } - [Fact] + [NoAuthentication.Fact] public async Task operations_on_system_stream_fail_for_anonymous_user() { var stream = $"${_fixture.GetStreamName()}"; await _fixture.AppendStream(stream); diff --git a/test/EventStore.Client.Streams.Tests/Security/read_stream_meta_security.cs b/test/EventStore.Client.Streams.Tests/Security/read_stream_meta_security.cs index 94b30f420..a62b15454 100644 --- a/test/EventStore.Client.Streams.Tests/Security/read_stream_meta_security.cs +++ b/test/EventStore.Client.Streams.Tests/Security/read_stream_meta_security.cs @@ -41,7 +41,7 @@ public async Task reading_stream_meta_with_admin_user_credentials_succeeds() { } - [Fact] + [NoAuthentication.Fact] public async Task reading_no_acl_stream_meta_succeeds_when_no_credentials_are_passed() { await _fixture.ReadMeta(SecurityFixture.NoAclStream); } @@ -62,9 +62,8 @@ public async Task reading_no_acl_stream_meta_succeeds_when_any_existing_user_cre public async Task reading_no_acl_stream_meta_succeeds_when_admin_user_credentials_are_passed() { await _fixture.ReadMeta(SecurityFixture.NoAclStream, userCredentials: TestCredentials.TestAdmin); } - - - [Fact] + + [NoAuthentication.Fact] public async Task reading_all_access_normal_stream_meta_succeeds_when_no_credentials_are_passed() { await _fixture.ReadMeta(SecurityFixture.NormalAllStream); } diff --git a/test/EventStore.Client.Streams.Tests/Security/read_stream_security.cs b/test/EventStore.Client.Streams.Tests/Security/read_stream_security.cs index 3f00a291b..b1d3ae167 100644 --- a/test/EventStore.Client.Streams.Tests/Security/read_stream_security.cs +++ b/test/EventStore.Client.Streams.Tests/Security/read_stream_security.cs @@ -61,7 +61,7 @@ public async Task reading_stream_with_admin_user_credentials_succeeds() { } - [Fact] + [NoAuthentication.Fact] public async Task reading_no_acl_stream_succeeds_when_no_credentials_are_passed() { await _fixture.AppendStream(SecurityFixture.NoAclStream); @@ -101,7 +101,7 @@ public async Task reading_no_acl_stream_succeeds_when_admin_user_credentials_are } - [Fact] + [NoAuthentication.Fact] public async Task reading_all_access_normal_stream_succeeds_when_no_credentials_are_passed() { await _fixture.AppendStream(SecurityFixture.NormalAllStream); await _fixture.ReadEvent(SecurityFixture.NormalAllStream); diff --git a/test/EventStore.Client.Streams.Tests/Security/stream_security_inheritance.cs b/test/EventStore.Client.Streams.Tests/Security/stream_security_inheritance.cs index 130102289..40003413e 100644 --- a/test/EventStore.Client.Streams.Tests/Security/stream_security_inheritance.cs +++ b/test/EventStore.Client.Streams.Tests/Security/stream_security_inheritance.cs @@ -79,13 +79,10 @@ await Assert.ThrowsAsync(() => _fixture.AppendStream("user-w-restricted", TestCredentials.TestUser2)); await _fixture.AppendStream("user-w-restricted", userCredentials: TestCredentials.TestAdmin); - await _fixture.AppendStream("user-w-all"); await _fixture.AppendStream("user-w-all", userCredentials: TestCredentials.TestUser1); await _fixture.AppendStream("user-w-all", TestCredentials.TestUser2); await _fixture.AppendStream("user-w-all", userCredentials: TestCredentials.TestAdmin); - - await _fixture.ReadEvent("user-no-acl"); await _fixture.ReadEvent("user-no-acl", userCredentials: TestCredentials.TestUser1); await _fixture.ReadEvent("user-no-acl", TestCredentials.TestUser2); await _fixture.ReadEvent("user-no-acl", userCredentials: TestCredentials.TestAdmin); @@ -98,6 +95,13 @@ await Assert.ThrowsAsync(() => await _fixture.ReadEvent("user-r-restricted", userCredentials: TestCredentials.TestAdmin); } + [NoAuthentication.Fact] + public async Task acl_inheritance_is_working_properly_on_user_streams_when_not_authenticated() { + await _fixture.AppendStream("user-w-all"); + + await _fixture.ReadEvent("user-no-acl"); + } + [Fact] public async Task acl_inheritance_is_working_properly_on_system_streams() { await Assert.ThrowsAsync(() => _fixture.AppendStream("$sys-no-acl")); @@ -125,7 +129,6 @@ await Assert.ThrowsAsync(() => _fixture.AppendStream("$sys-w-restricted", TestCredentials.TestUser2)); await _fixture.AppendStream("$sys-w-restricted", userCredentials: TestCredentials.TestAdmin); - await _fixture.AppendStream("$sys-w-all"); await _fixture.AppendStream("$sys-w-all", userCredentials: TestCredentials.TestUser1); await _fixture.AppendStream("$sys-w-all", TestCredentials.TestUser2); await _fixture.AppendStream("$sys-w-all", userCredentials: TestCredentials.TestAdmin); @@ -137,5 +140,10 @@ await Assert.ThrowsAsync(() => _fixture.ReadEvent("$sys-no-acl", TestCredentials.TestUser2)); await _fixture.ReadEvent("$sys-no-acl", userCredentials: TestCredentials.TestAdmin); } + + [NoAuthentication.Fact] + public async Task acl_inheritance_is_working_properly_on_system_streams_when_not_authenticated() { + await _fixture.AppendStream("$sys-w-all"); + } } } diff --git a/test/EventStore.Client.Streams.Tests/Security/subscribe_to_stream_security.cs b/test/EventStore.Client.Streams.Tests/Security/subscribe_to_stream_security.cs index f207513d4..376ed89d9 100644 --- a/test/EventStore.Client.Streams.Tests/Security/subscribe_to_stream_security.cs +++ b/test/EventStore.Client.Streams.Tests/Security/subscribe_to_stream_security.cs @@ -43,7 +43,7 @@ public async Task reading_stream_with_admin_user_credentials_succeeds() { await _fixture.SubscribeToStream(SecurityFixture.ReadStream, userCredentials: TestCredentials.TestAdmin); } - [Fact] + [NoAuthentication.Fact] public async Task subscribing_to_no_acl_stream_succeeds_when_no_credentials_are_passed() { await _fixture.AppendStream(SecurityFixture.NoAclStream); await _fixture.SubscribeToStream(SecurityFixture.NoAclStream); @@ -69,7 +69,7 @@ public async Task subscribing_to_no_acl_stream_succeeds_when_admin_user_credenti } - [Fact] + [NoAuthentication.Fact] public async Task subscribing_to_all_access_normal_stream_succeeds_when_no_credentials_are_passed() { await _fixture.AppendStream(SecurityFixture.NormalAllStream); await _fixture.SubscribeToStream(SecurityFixture.NormalAllStream); diff --git a/test/EventStore.Client.Streams.Tests/Security/system_stream_security.cs b/test/EventStore.Client.Streams.Tests/Security/system_stream_security.cs index 79c33ac17..4b898363a 100644 --- a/test/EventStore.Client.Streams.Tests/Security/system_stream_security.cs +++ b/test/EventStore.Client.Streams.Tests/Security/system_stream_security.cs @@ -119,7 +119,7 @@ public async Task operations_on_system_stream_with_acl_set_to_admins_succeed_for } - [Fact] + [NoAuthentication.Fact] public async Task operations_on_system_stream_with_acl_set_to_all_succeed_for_not_authenticated_user() { await _fixture.AppendStream(SecurityFixture.SystemAllStream); await _fixture.ReadEvent(SecurityFixture.SystemAllStream); diff --git a/test/EventStore.Client.Streams.Tests/Security/write_stream_meta_security.cs b/test/EventStore.Client.Streams.Tests/Security/write_stream_meta_security.cs index fd5158943..3f059c709 100644 --- a/test/EventStore.Client.Streams.Tests/Security/write_stream_meta_security.cs +++ b/test/EventStore.Client.Streams.Tests/Security/write_stream_meta_security.cs @@ -46,7 +46,7 @@ await _fixture.WriteMeta(SecurityFixture.MetaWriteStream, TestCredentials.TestAd } - [Fact] + [NoAuthentication.Fact] public async Task writing_meta_to_no_acl_stream_succeeds_when_no_credentials_are_passed() { await _fixture.WriteMeta(SecurityFixture.NoAclStream); } @@ -70,7 +70,7 @@ public async Task writing_meta_to_no_acl_stream_succeeds_when_admin_user_credent } - [Fact] + [NoAuthentication.Fact] public async Task writing_meta_to_all_access_normal_stream_succeeds_when_no_credentials_are_passed() { await _fixture.WriteMeta(SecurityFixture.NormalAllStream, role: SystemRoles.All); } diff --git a/test/EventStore.Client.Streams.Tests/Security/write_stream_security.cs b/test/EventStore.Client.Streams.Tests/Security/write_stream_security.cs index 49f3239a8..827d09590 100644 --- a/test/EventStore.Client.Streams.Tests/Security/write_stream_security.cs +++ b/test/EventStore.Client.Streams.Tests/Security/write_stream_security.cs @@ -52,7 +52,7 @@ public async Task writing_to_stream_with_admin_user_credentials_succeeds() { } - [Fact] + [NoAuthentication.Fact] public async Task writing_to_no_acl_stream_succeeds_when_no_credentials_are_passed() { await _fixture.AppendStream(SecurityFixture.NoAclStream); } @@ -73,9 +73,8 @@ public async Task writing_to_no_acl_stream_succeeds_when_any_existing_user_crede public async Task writing_to_no_acl_stream_succeeds_when_any_admin_user_credentials_are_passed() { await _fixture.AppendStream(SecurityFixture.NoAclStream, userCredentials: TestCredentials.TestAdmin); } - - - [Fact] + + [NoAuthentication.Fact] public async Task writing_to_all_access_normal_stream_succeeds_when_no_credentials_are_passed() { await _fixture.AppendStream(SecurityFixture.NormalAllStream); } diff --git a/test/EventStore.Client.Tests.Common/EventStoreClientFixtureBase.cs b/test/EventStore.Client.Tests.Common/EventStoreClientFixtureBase.cs index b7339ef12..6390ded5f 100644 --- a/test/EventStore.Client.Tests.Common/EventStoreClientFixtureBase.cs +++ b/test/EventStore.Client.Tests.Common/EventStoreClientFixtureBase.cs @@ -50,13 +50,17 @@ private static void ConfigureLogging() { } protected EventStoreClientFixtureBase(EventStoreClientSettings? clientSettings, - IDictionary? env = null) { + IDictionary? env = null, bool noDefaultCredentials = false) { _disposables = new List(); ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; var connectionString = GlobalEnvironment.UseCluster ? ConnectionStringCluster : ConnectionStringSingle; Settings = clientSettings ?? EventStoreClientSettings.Create(connectionString); + if (noDefaultCredentials) { + Settings.DefaultCredentials = null; + } + Settings.DefaultDeadline = Debugger.IsAttached ? new TimeSpan?() : TimeSpan.FromSeconds(30); diff --git a/test/EventStore.Client.UserManagement.Tests/EventStoreClientFixture.cs b/test/EventStore.Client.UserManagement.Tests/EventStoreClientFixture.cs index eedaa0594..c33c94716 100644 --- a/test/EventStore.Client.UserManagement.Tests/EventStoreClientFixture.cs +++ b/test/EventStore.Client.UserManagement.Tests/EventStoreClientFixture.cs @@ -4,7 +4,9 @@ namespace EventStore.Client { public abstract class EventStoreClientFixture : EventStoreClientFixtureBase { public EventStoreUserManagementClient Client { get; } public EventStoreClient StreamsClient { get; } - protected EventStoreClientFixture(EventStoreClientSettings? settings = null) : base(settings) { + protected EventStoreClientFixture(EventStoreClientSettings? settings = null, bool noDefaultCredentials = false) + : base(settings, noDefaultCredentials: noDefaultCredentials) { + Client = new EventStoreUserManagementClient(Settings); StreamsClient = new EventStoreClient(Settings); } diff --git a/test/EventStore.Client.UserManagement.Tests/creating_a_user.cs b/test/EventStore.Client.UserManagement.Tests/creating_a_user.cs index 7aa1415c6..0f3b23f14 100644 --- a/test/EventStore.Client.UserManagement.Tests/creating_a_user.cs +++ b/test/EventStore.Client.UserManagement.Tests/creating_a_user.cs @@ -78,6 +78,9 @@ await _fixture.Client.CreateUserAsync(loginName, "Full Name", new[] { "foo", "ba } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; } diff --git a/test/EventStore.Client.UserManagement.Tests/deleting_a_user.cs b/test/EventStore.Client.UserManagement.Tests/deleting_a_user.cs index d4e354ad0..3efa207c6 100644 --- a/test/EventStore.Client.UserManagement.Tests/deleting_a_user.cs +++ b/test/EventStore.Client.UserManagement.Tests/deleting_a_user.cs @@ -66,6 +66,9 @@ await _fixture.Client.CreateUserAsync(loginName, "Full Name", new[] {"foo", "bar } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; } diff --git a/test/EventStore.Client.UserManagement.Tests/disabling_a_user.cs b/test/EventStore.Client.UserManagement.Tests/disabling_a_user.cs index c05a3f488..76d19d6b5 100644 --- a/test/EventStore.Client.UserManagement.Tests/disabling_a_user.cs +++ b/test/EventStore.Client.UserManagement.Tests/disabling_a_user.cs @@ -58,6 +58,9 @@ await _fixture.Client.CreateUserAsync(loginName, "Full Name", new[] {"foo", "bar } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; } diff --git a/test/EventStore.Client.UserManagement.Tests/enabling_a_user.cs b/test/EventStore.Client.UserManagement.Tests/enabling_a_user.cs index caef8311f..1bda5485c 100644 --- a/test/EventStore.Client.UserManagement.Tests/enabling_a_user.cs +++ b/test/EventStore.Client.UserManagement.Tests/enabling_a_user.cs @@ -58,6 +58,9 @@ await _fixture.Client.CreateUserAsync(loginName, "Full Name", new[] {"foo", "bar } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; } diff --git a/test/EventStore.Client.UserManagement.Tests/reset_user_password.cs b/test/EventStore.Client.UserManagement.Tests/reset_user_password.cs index c185c0785..3763b0cad 100644 --- a/test/EventStore.Client.UserManagement.Tests/reset_user_password.cs +++ b/test/EventStore.Client.UserManagement.Tests/reset_user_password.cs @@ -81,6 +81,9 @@ await Assert.ThrowsAsync( } public class Fixture : EventStoreClientFixture { + public Fixture () : base(noDefaultCredentials: true){ + } + protected override Task Given() => Task.CompletedTask; protected override Task When() => Task.CompletedTask; }