Skip to content

Commit 5e16607

Browse files
[Fusion] Fix flaky Hot Reload test (#8120)
1 parent bd9027a commit 5e16607

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/HotChocolate/Fusion/test/Core.Tests/DemoIntegrationTests.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,6 +1286,7 @@ ... on User {
12861286
public async Task Hot_Reload()
12871287
{
12881288
// arrange
1289+
var executorUpdatedResetEvent = new ManualResetEventSlim(false);
12891290
using var demoProject = await DemoProject.CreateAsync();
12901291

12911292
var fusionGraph =
@@ -1319,6 +1320,18 @@ public async Task Hot_Reload()
13191320

13201321
var executorResolver = services.GetRequiredService<IRequestExecutorResolver>();
13211322
var executorProxy = new RequestExecutorProxy(executorResolver, Schema.DefaultName);
1323+
var isFirstUpdate = true;
1324+
executorProxy.ExecutorUpdated += (sender, args) =>
1325+
{
1326+
if (isFirstUpdate)
1327+
{
1328+
isFirstUpdate = false;
1329+
}
1330+
else
1331+
{
1332+
executorUpdatedResetEvent.Set();
1333+
}
1334+
};
13221335

13231336
var result = await executorProxy.ExecuteAsync(
13241337
OperationRequestBuilder
@@ -1342,6 +1355,8 @@ public async Task Hot_Reload()
13421355
config.SetConfiguration(
13431356
new GatewayConfiguration(
13441357
SchemaFormatter.FormatAsDocument(fusionGraph)));
1358+
using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5));
1359+
executorUpdatedResetEvent.Wait(cts.Token);
13451360

13461361
result = await executorProxy.ExecuteAsync(
13471362
OperationRequestBuilder

0 commit comments

Comments
 (0)