aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-06-02 19:07:48 +0800
committercrupest <crupest@outlook.com>2021-06-02 19:07:48 +0800
commit14c8e37493e686822972e0372c845045569a485e (patch)
tree8bdf6f92379de6a8ffb6011cba28648b2b314cd2
parent02502642313118b9bf44db01ecb6620232964353 (diff)
downloadtimeline-14c8e37493e686822972e0372c845045569a485e.tar.gz
timeline-14c8e37493e686822972e0372c845045569a485e.tar.bz2
timeline-14c8e37493e686822972e0372c845045569a485e.zip
...
-rw-r--r--BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs6
1 files changed, 6 insertions, 0 deletions
diff --git a/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs
index 0c4225c6..c9986177 100644
--- a/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs
+++ b/BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs
@@ -1,6 +1,7 @@
using FluentAssertions;
using Microsoft.AspNetCore.SignalR.Client;
using System;
+using System.Threading;
using System.Threading.Tasks;
using Timeline.SignalRHub;
using Xunit;
@@ -33,12 +34,15 @@ namespace Timeline.Tests.IntegratedTests
await using var connection = CreateConnection(token);
+ using SemaphoreSlim semaphore = new SemaphoreSlim(0);
+
var changed = false;
connection.On<string>(nameof(ITimelineClient.OnTimelinePostChanged), (timelineName) =>
{
timelineName.Should().Be(generator(1));
changed = true;
+ semaphore.Release();
});
await connection.StartAsync();
@@ -47,11 +51,13 @@ namespace Timeline.Tests.IntegratedTests
using var client = await CreateClientAsUser();
await client.TestPostAsync($"timelines/{generator(1)}/posts", TimelinePostTest.CreateTextPostRequest("aaa"));
+ await semaphore.WaitAsync();
changed.Should().BeFalse();
await connection.InvokeAsync(nameof(TimelineHub.SubscribeTimelinePostChange), generator(1));
await client.TestPostAsync($"timelines/{generator(1)}/posts", TimelinePostTest.CreateTextPostRequest("bbb"));
+ await semaphore.WaitAsync();
changed.Should().BeTrue();
changed = false;