aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-06-02 19:48:06 +0800
committercrupest <crupest@outlook.com>2021-06-02 19:48:06 +0800
commitc616e7b6e4a6ed316cf243c141b1fbad67757ea0 (patch)
tree96e76e9f96293a8c5f7dfef0f3a9aa25c35ac7c2
parent14c8e37493e686822972e0372c845045569a485e (diff)
downloadtimeline-c616e7b6e4a6ed316cf243c141b1fbad67757ea0.tar.gz
timeline-c616e7b6e4a6ed316cf243c141b1fbad67757ea0.tar.bz2
timeline-c616e7b6e4a6ed316cf243c141b1fbad67757ea0.zip
test: Finally find the right way to test signalr.
-rw-r--r--BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs32
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]