From 9f126dafa8c09737f97bb42b583e3befe7d13c5b Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 2 Jun 2021 19:07:48 +0800 Subject: ... --- BackEnd/Timeline.Tests/IntegratedTests/TimelineHubTest.cs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'BackEnd/Timeline.Tests') 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(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; -- cgit v1.2.3