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..7c74d9f 100644
--- a/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs
+++ b/Tests/LibMatrix.Tests/Abstractions/RoomAbstraction.cs
@@ -14,29 +14,29 @@ public static class RoomAbstraction {
// Visibility = CreateRoomVisibility.Public,
RoomAliasName = Guid.NewGuid().ToString()
};
- crq.InitialState ??= new List<StateEvent>();
- crq.InitialState.Add(new StateEvent() {
+ crq.InitialState ??= new List<MatrixEvent>();
+ crq.InitialState.Add(new MatrixEvent() {
Type = RoomTopicEventContent.EventId,
StateKey = "",
TypedContent = new RoomTopicEventContent() {
Topic = "LibMatrix Test Room " + DateTime.Now.ToString("O")
}
});
- crq.InitialState.Add(new StateEvent() {
+ crq.InitialState.Add(new MatrixEvent() {
Type = RoomNameEventContent.EventId,
StateKey = "",
TypedContent = new RoomNameEventContent() {
Name = "LibMatrix Test Room " + DateTime.Now.ToString("O")
}
});
- crq.InitialState.Add(new StateEvent() {
+ crq.InitialState.Add(new MatrixEvent() {
Type = RoomAvatarEventContent.EventId,
StateKey = "",
TypedContent = new RoomAvatarEventContent() {
Url = "mxc://conduit.rory.gay/r9KiT0f9eQbv8pv4RxwBZFuzhfKjGWHx"
}
});
- crq.InitialState.Add(new StateEvent() {
+ crq.InitialState.Add(new MatrixEvent() {
Type = RoomAliasEventContent.EventId,
StateKey = "",
TypedContent = new RoomAliasEventContent() {
@@ -60,7 +60,7 @@ public static class RoomAbstraction {
Name = $"LibMatrix Test Space ({roomCount} children)",
// Visibility = CreateRoomVisibility.Public,
RoomAliasName = Guid.NewGuid().ToString(),
- InitialState = new List<StateEvent>()
+ InitialState = new List<MatrixEvent>()
};
crq.CreationContentBaseType.Type = "m.space";
@@ -69,10 +69,10 @@ 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 {
+ crq.InitialState.Add(new MatrixEvent {
Type = "m.space.child",
StateKey = room.RoomId,
TypedContent = new SpaceChildEventContent() {
@@ -85,7 +85,7 @@ public static class RoomAbstraction {
if (addSpaces)
for (var i = 0; i < roomCount; i++) {
var space = await GetTestSpace(hs, roomCount - spaceSizeReduction, true, spaceSizeReduction);
- crq.InitialState.Add(new StateEvent {
+ crq.InitialState.Add(new MatrixEvent {
Type = "m.space.child",
StateKey = space.RoomId,
TypedContent = new SpaceChildEventContent() {
diff --git a/Tests/LibMatrix.Tests/DataTests/WhoAmITests.cs b/Tests/LibMatrix.Tests/DataTests/WhoAmITests.cs
index e1da3d5..2a25056 100644
--- a/Tests/LibMatrix.Tests/DataTests/WhoAmITests.cs
+++ b/Tests/LibMatrix.Tests/DataTests/WhoAmITests.cs
@@ -1,3 +1,5 @@
+using LibMatrix.Responses;
+
namespace LibMatrix.Tests.DataTests;
public static class WhoAmITests {
diff --git a/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj b/Tests/LibMatrix.Tests/LibMatrix.Tests.csproj
index 98c8101..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,20 +10,20 @@
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.1" />
+ <PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0-rc.2.25502.107"/>
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
- <PackageReference Include="xunit" Version="2.9.3" />
- <PackageReference Include="Xunit.Microsoft.DependencyInjection" Version="9.0.0" />
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
+ <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>
- <PackageReference Include="coverlet.collector" Version="6.0.3">
+ <PackageReference Include="coverlet.collector" Version="6.0.4">
<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..1b2271e 100644
--- a/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs
+++ b/Tests/LibMatrix.Tests/Tests/RoomTests/RoomMembershipTests.cs
@@ -14,11 +14,11 @@ 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!");
- Assert.True(StateEvent.KnownStateEventTypesByName is { Count: > 0 }, "StateEvent.KnownStateEventTypesByName is empty!");
+ Assert.True(MatrixEvent.KnownEventTypes is { Count: > 0 }, "MatrixEvent.KnownEventTypes is empty!");
+ Assert.True(MatrixEvent.KnownEventTypesByName is { Count: > 0 }, "MatrixEvent.KnownEventTypesByName is empty!");
var hs = await _hsAbstraction.GetConfiguredHomeserver();
var room = await RoomAbstraction.GetTestRoom(hs);
@@ -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/RoomTests.cs b/Tests/LibMatrix.Tests/Tests/RoomTests/RoomTests.cs
index 7801ed0..817eca9 100644
--- a/Tests/LibMatrix.Tests/Tests/RoomTests/RoomTests.cs
+++ b/Tests/LibMatrix.Tests/Tests/RoomTests/RoomTests.cs
@@ -35,8 +35,8 @@ public class RoomTests : TestBed<TestFixture> {
[Fact]
public async Task GetMembersAsync() {
- Assert.True(StateEvent.KnownStateEventTypes is { Count: > 0 }, "StateEvent.KnownStateEventTypes is empty!");
- Assert.True(StateEvent.KnownStateEventTypesByName is { Count: > 0 }, "StateEvent.KnownStateEventTypesByName is empty!");
+ Assert.True(MatrixEvent.KnownEventTypes is { Count: > 0 }, "MatrixEvent.KnownEventTypes is empty!");
+ Assert.True(MatrixEvent.KnownEventTypesByName is { Count: > 0 }, "MatrixEvent.KnownEventTypesByName is empty!");
var hs = await _hsAbstraction.GetConfiguredHomeserver();
var room = await RoomAbstraction.GetTestRoom(hs);
@@ -240,7 +240,7 @@ public class RoomTests : TestBed<TestFixture> {
});
await room.LeaveAsync();
-
+
await File.WriteAllTextAsync("test.json", messages.ToJson());
}
@@ -268,7 +268,7 @@ public class RoomTests : TestBed<TestFixture> {
await room.LeaveAsync();
}
-
+
[Fact]
public async Task SendMessageEventAsync() {
var hs = await _hsAbstraction.GetConfiguredHomeserver();
@@ -276,13 +276,14 @@ public class RoomTests : TestBed<TestFixture> {
Assert.NotNull(room);
var res = await room.SendMessageEventAsync(new RoomMessageEventContent(body: "This test was written by Emma [it/its], member of the Rory& system." +
- "\nIf you are reading this on matrix, it means the unit test for sending a message works!", messageType: "m.text"));
+ "\nIf you are reading this on matrix, it means the unit test for sending a message works!",
+ messageType: "m.text"));
Assert.NotNull(res);
Assert.NotNull(res.EventId);
await room.LeaveAsync();
}
-
+
[Fact]
public async Task InviteUsersAsync() {
var hs = await _hsAbstraction.GetConfiguredHomeserver();
@@ -298,7 +299,7 @@ public class RoomTests : TestBed<TestFixture> {
Assert.NotNull(u.UserId);
Assert.NotEmpty(u.UserId);
});
-
+
await room.InviteUsersAsync(users.Select(u => u.UserId));
var members = await room.GetMembersListAsync();
Assert.NotNull(members);
@@ -310,7 +311,7 @@ public class RoomTests : TestBed<TestFixture> {
Assert.NotEmpty(m.StateKey);
});
Assert.All(users, u => Assert.Contains(u.UserId, members.Select(m => m.StateKey)));
-
+
await room.LeaveAsync();
}
}
\ No newline at end of file
diff --git a/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs b/Tests/LibMatrix.Tests/Tests/RoomTests/SpaceTests.cs
index be8076a..d59920d 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,11 +68,11 @@ 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() {
+ InitialState = expectedChildren.Select(c => new MatrixEvent() {
Type = "m.space.child",
StateKey = c.RoomId,
TypedContent = new SpaceChildEventContent() {
@@ -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);
}
}
|