From 1db452c75de1e25a9a2a8fd4fe2a04a2e1047f2a Mon Sep 17 00:00:00 2001 From: Rory& Date: Wed, 29 Oct 2025 19:01:32 +0100 Subject: dotnet 10, synapse admin room list improvements --- .../Abstractions/HomeserverAbstraction.cs | 18 +++++++++--------- .../LibMatrix.Tests/Abstractions/RoomAbstraction.cs | 2 +- Tests/LibMatrix.Tests/LibMatrix.Tests.csproj | 14 +++++++------- .../Tests/RoomTests/RoomMembershipTests.cs | 21 ++++++++++----------- Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs | 11 +++++------ 5 files changed, 32 insertions(+), 34 deletions(-) (limited to 'Tests') diff --git a/Tests/LibMatrix.Tests/Abstractions/HomeserverAbstraction.cs b/Tests/LibMatrix.Tests/Abstractions/HomeserverAbstraction.cs index 6878b44..20be560 100644 --- a/Tests/LibMatrix.Tests/Abstractions/HomeserverAbstraction.cs +++ b/Tests/LibMatrix.Tests/Abstractions/HomeserverAbstraction.cs @@ -10,15 +10,15 @@ namespace LibMatrix.Tests.Abstractions; public class HomeserverAbstraction(HomeserverProviderService _hsProvider, Config _config, ILogger _logger) { // private static readonly HomeserverResolverService _hsResolver = new HomeserverResolverService(NullLogger.Instance); // private static readonly HomeserverProviderService _hsProvider = new HomeserverProviderService(NullLogger.Instance, _hsResolver); - + private static AuthenticatedHomeserverGeneric? ConfiguredHomeserver { get; set; } private static readonly SemaphoreSlim _lock = new(1, 1); - + public async Task GetConfiguredHomeserver(ITestOutputHelper? testOutputHelper = null) { Assert.False(string.IsNullOrWhiteSpace(_config.TestHomeserver)); Assert.False(string.IsNullOrWhiteSpace(_config.TestUsername)); Assert.False(string.IsNullOrWhiteSpace(_config.TestPassword)); - + _logger.LogDebug("Using homeserver '{0}' with login '{1}' '{2}", _config.TestHomeserver, _config.TestUsername, _config.TestPassword); testOutputHelper?.WriteLine($"Using homeserver '{_config.TestHomeserver}' with login '{_config.TestUsername}' '{_config.TestPassword}'"); @@ -29,7 +29,7 @@ public class HomeserverAbstraction(HomeserverProviderService _hsProvider, Config } var rhs = await _hsProvider.GetRemoteHomeserver(_config.TestHomeserver); - + LoginResponse reg; try { reg = await rhs.LoginAsync(_config.TestUsername, _config.TestPassword); @@ -53,27 +53,27 @@ public class HomeserverAbstraction(HomeserverProviderService _hsProvider, Config Assert.False(string.IsNullOrWhiteSpace(_config.TestHomeserver)); var username = Guid.NewGuid().ToString(); var password = Guid.NewGuid().ToString(); - + _logger.LogDebug("Creating new homeserver '{0}' with login '{1}' '{2}'", _config.TestHomeserver, username, password); - + var rhs = await _hsProvider.GetRemoteHomeserver(_config.TestHomeserver); var reg = await rhs.RegisterAsync(username, password, "Unit tests!"); var hs = await _hsProvider.GetAuthenticatedWithToken(reg.Homeserver, reg.AccessToken); - + return hs; } public async IAsyncEnumerable GetNewHomeservers(int count = 1) { var createRandomUserTasks = Enumerable .Range(0, count) - .Select(_ => GetNewHomeserver()).ToAsyncEnumerable(); + .Select(_ => GetNewHomeserver()).ToAsyncResultEnumerable(); await foreach (var hs in createRandomUserTasks) yield return hs; } public async Task<(string username, string password, string token)> GetKnownCredentials() { Assert.False(string.IsNullOrWhiteSpace(_config.TestHomeserver)); var rhs = await _hsProvider.GetRemoteHomeserver(_config.TestHomeserver); - + var username = _config.TestUsername; var password = _config.TestPassword; var reg = await rhs.RegisterAsync(username, password, "Unit tests!"); diff --git a/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs b/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs index b1176ca..d02ced3 100644 --- a/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs +++ b/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs @@ -69,7 +69,7 @@ public static class RoomAbstraction { Name = $"LibMatrix Test Room {Guid.NewGuid()}", // Visibility = CreateRoomVisibility.Public, RoomAliasName = Guid.NewGuid().ToString() - })).ToAsyncEnumerable(); + })).ToAsyncResultEnumerable(); await foreach (var room in createRoomTasks) crq.InitialState.Add(new StateEvent { diff --git a/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj b/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj index 763c287..234b978 100644 --- a/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj +++ b/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable @@ -10,12 +10,12 @@ - + - - - - + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all @@ -23,7 +23,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all - + diff --git a/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs b/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs index 8419518..0943b8a 100644 --- a/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs +++ b/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs @@ -14,7 +14,7 @@ public class RoomMembershipTests : TestBed { public RoomMembershipTests(ITestOutputHelper testOutputHelper, TestFixture fixture) : base(testOutputHelper, fixture) { _hsAbstraction = _fixture.GetService(_testOutputHelper) ?? throw new InvalidOperationException($"Failed to get {nameof(HomeserverAbstraction)}"); } - + [Fact] public async Task GetMembersAsync() { Assert.True(StateEvent.KnownStateEventTypes is { Count: > 0 }, "StateEvent.KnownStateEventTypes is empty!"); @@ -44,7 +44,7 @@ public class RoomMembershipTests : TestBed { } Assert.True(hitMembers, "No members were found in the room"); - + await room.LeaveAsync(); } @@ -62,7 +62,7 @@ public class RoomMembershipTests : TestBed { Assert.NotNull(id); Assert.NotNull(id.RoomId); Assert.NotEmpty(id.RoomId); - + await room.LeaveAsync(); } @@ -95,7 +95,7 @@ public class RoomMembershipTests : TestBed { Assert.NotNull(banState); Assert.Equal("leave", banState.Membership); Assert.Equal("test", banState.Reason); - + await room.LeaveAsync(); } @@ -109,7 +109,7 @@ public class RoomMembershipTests : TestBed { var banState = await room.GetStateAsync("m.room.member", hs2.UserId); Assert.NotNull(banState); Assert.Equal("ban", banState.Membership); - + await room.LeaveAsync(); } @@ -124,12 +124,12 @@ public class RoomMembershipTests : TestBed { Assert.NotNull(banState); Assert.Equal("ban", banState.Membership); await room.UnbanAsync(hs2.UserId, "testing"); - + var unbanState = await room.GetStateAsync("m.room.member", hs2.UserId); Assert.NotNull(unbanState); Assert.Equal("leave", unbanState.Membership); Assert.Equal("testing", unbanState.Reason); - + await room.LeaveAsync(); } @@ -157,17 +157,16 @@ public class RoomMembershipTests : TestBed { tasks.Add(otherUser, room.InviteUserAsync(otherUser.UserId, "Unit test!")); } - await foreach (var otherUser in tasks.ToAsyncEnumerable()) { + await foreach (var otherUser in tasks.ToAsyncResultEnumerable()) { _testOutputHelper.WriteLine($"Joining {otherUser.UserId} to {room.RoomId}"); await otherUser.GetRoom(room.RoomId).JoinAsync(reason: "Unit test!"); } var states = await room.GetMembersListAsync(); Assert.Equal(count + 1, states.Count); - + await room.LeaveAsync(); - await foreach (var authenticatedHomeserverGeneric in otherUsers) - { + await foreach (var authenticatedHomeserverGeneric in otherUsers) { await authenticatedHomeserverGeneric.GetRoom(room.RoomId).LeaveAsync(); } } diff --git a/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs b/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs index be8076a..36b4ad8 100644 --- a/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs +++ b/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs @@ -52,14 +52,14 @@ public class SpaceTests : TestBed { }); await space.AddChildByIdAsync(child.RoomId); - + //validate children var children = space.GetChildrenAsync().ToBlockingEnumerable().ToList(); Assert.NotNull(children); Assert.NotEmpty(children); Assert.Single(children, x => x.RoomId == child.RoomId); } - + [Fact] public async Task GetChildrenAsync() { var hs = await _hsAbstraction.GetConfiguredHomeserver(); @@ -68,8 +68,8 @@ public class SpaceTests : TestBed { Name = "Test child" }); return room; - }).ToAsyncEnumerable().ToBlockingEnumerable().ToList(); - + }).ToAsyncResultEnumerable().ToBlockingEnumerable().ToList(); + var crq = new CreateRoomRequest() { Name = "Test space", InitialState = expectedChildren.Select(c => new StateEvent() { @@ -89,8 +89,7 @@ public class SpaceTests : TestBed { Assert.NotNull(children); Assert.NotEmpty(children); Assert.Equal(expectedChildren.Count, children.Count); - foreach (var expectedChild in expectedChildren) - { + foreach (var expectedChild in expectedChildren) { Assert.Single(children, x => x.RoomId == expectedChild.RoomId); } } -- cgit 1.5.1