about summary refs log tree commit diff
path: root/Tests
diff options
context:
space:
mode:
Diffstat (limited to 'Tests')
-rw-r--r--Tests/LibMatrix.Tests/Abstractions/HomeserverAbstraction.cs18
-rw-r--r--Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs2
-rw-r--r--Tests/LibMatrix.Tests/LibMatrix.Tests.csproj14
-rw-r--r--Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs21
-rw-r--r--Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs11
5 files changed, 32 insertions, 34 deletions
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<HomeserverAbstraction> _logger) { // private static readonly HomeserverResolverService _hsResolver = new HomeserverResolverService(NullLogger<HomeserverResolverService>.Instance); // private static readonly HomeserverProviderService _hsProvider = new HomeserverProviderService(NullLogger<HomeserverProviderService>.Instance, _hsResolver); - + private static AuthenticatedHomeserverGeneric? ConfiguredHomeserver { get; set; } private static readonly SemaphoreSlim _lock = new(1, 1); - + public async Task<AuthenticatedHomeserverGeneric> 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<AuthenticatedHomeserverGeneric> 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 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> - <TargetFramework>net9.0</TargetFramework> + <TargetFramework>net10.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> @@ -10,12 +10,12 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.7" /> + <PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0-rc.2.25502.107"/> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" /> - <PackageReference Include="xunit" Version="2.9.3" /> - <PackageReference Include="Xunit.Microsoft.DependencyInjection" Version="9.1.0" /> - <PackageReference Include="xunit.runner.visualstudio" Version="3.1.2"> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0"/> + <PackageReference Include="xunit" Version="2.9.3"/> + <PackageReference Include="Xunit.Microsoft.DependencyInjection" Version="9.2.2"/> + <PackageReference Include="xunit.runner.visualstudio" Version="3.1.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> @@ -23,7 +23,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> - <PackageReference Include="Xunit.SkippableFact" Version="1.5.23" /> + <PackageReference Include="Xunit.SkippableFact" Version="1.5.23"/> </ItemGroup> <ItemGroup> 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<TestFixture> { public RoomMembershipTests(ITestOutputHelper testOutputHelper, TestFixture fixture) : base(testOutputHelper, fixture) { _hsAbstraction = _fixture.GetService<HomeserverAbstraction>(_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<TestFixture> { } Assert.True(hitMembers, "No members were found in the room"); - + await room.LeaveAsync(); } @@ -62,7 +62,7 @@ public class RoomMembershipTests : TestBed<TestFixture> { Assert.NotNull(id); Assert.NotNull(id.RoomId); Assert.NotEmpty(id.RoomId); - + await room.LeaveAsync(); } @@ -95,7 +95,7 @@ public class RoomMembershipTests : TestBed<TestFixture> { Assert.NotNull(banState); Assert.Equal("leave", banState.Membership); Assert.Equal("test", banState.Reason); - + await room.LeaveAsync(); } @@ -109,7 +109,7 @@ public class RoomMembershipTests : TestBed<TestFixture> { var banState = await room.GetStateAsync<RoomMemberEventContent>("m.room.member", hs2.UserId); Assert.NotNull(banState); Assert.Equal("ban", banState.Membership); - + await room.LeaveAsync(); } @@ -124,12 +124,12 @@ public class RoomMembershipTests : TestBed<TestFixture> { Assert.NotNull(banState); Assert.Equal("ban", banState.Membership); await room.UnbanAsync(hs2.UserId, "testing"); - + var unbanState = await room.GetStateAsync<RoomMemberEventContent>("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<TestFixture> { 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<TestFixture> { }); 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<TestFixture> { 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<TestFixture> { 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); } }