diff options
author | crupest <crupest@outlook.com> | 2021-06-02 19:48:06 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-06-02 19:48:06 +0800 |
commit | 47d37154db1f527d0e6ecac4d29f6056e4a971b1 (patch) | |
tree | 050a1b2398c8a47aa1bb423266105a0a0fb72b09 | |
parent | 9f126dafa8c09737f97bb42b583e3befe7d13c5b (diff) | |
download | timeline-47d37154db1f527d0e6ecac4d29f6056e4a971b1.tar.gz timeline-47d37154db1f527d0e6ecac4d29f6056e4a971b1.tar.bz2 timeline-47d37154db1f527d0e6ecac4d29f6056e4a971b1.zip |
test: Finally find the right way to test signalr.
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs index c9986177..9b28a648 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs @@ -34,6 +34,9 @@ namespace Timeline.Tests.IntegratedTests await using var connection = CreateConnection(token);
+ await connection.StartAsync();
+ connection.State.Should().Be(HubConnectionState.Connected);
+
using SemaphoreSlim semaphore = new SemaphoreSlim(0);
var changed = false;
@@ -45,27 +48,28 @@ namespace Timeline.Tests.IntegratedTests semaphore.Release();
});
- await connection.StartAsync();
- connection.State.Should().Be(HubConnectionState.Connected);
+ await Task.Run(async () =>
+ {
+ using var client = await CreateClientAsUser();
- using var client = await CreateClientAsUser();
+ await client.TestPostAsync($"timelines/{generator(1)}/posts", TimelinePostTest.CreateTextPostRequest("aaa"));
- await client.TestPostAsync($"timelines/{generator(1)}/posts", TimelinePostTest.CreateTextPostRequest("aaa"));
- await semaphore.WaitAsync();
- changed.Should().BeFalse();
+ changed.Should().BeFalse();
- await connection.InvokeAsync(nameof(TimelineHub.SubscribeTimelinePostChange), generator(1));
+ await connection.InvokeAsync(nameof(TimelineHub.SubscribeTimelinePostChange), generator(1));
- await client.TestPostAsync($"timelines/{generator(1)}/posts", TimelinePostTest.CreateTextPostRequest("bbb"));
- await semaphore.WaitAsync();
- changed.Should().BeTrue();
+ await client.TestPostAsync($"timelines/{generator(1)}/posts", TimelinePostTest.CreateTextPostRequest("bbb"));
+ await semaphore.WaitAsync();
+ changed.Should().BeTrue();
- changed = false;
+ changed = false;
- await connection.InvokeAsync(nameof(TimelineHub.UnsubscribeTimelinePostChange), generator(1));
+ await connection.InvokeAsync(nameof(TimelineHub.UnsubscribeTimelinePostChange), generator(1));
- await client.TestPostAsync($"timelines/{generator(1)}/posts", TimelinePostTest.CreateTextPostRequest("ccc"));
- changed.Should().BeFalse();
+ await client.TestPostAsync($"timelines/{generator(1)}/posts", TimelinePostTest.CreateTextPostRequest("ccc"));
+ changed.Should().BeFalse();
+
+ });
}
[Fact]
|