Skip to content

Commit 572c6fa

Browse files
authored
Add retries when initial connection fails (#21711)
* Add retries when initial connection fails
1 parent 1abf560 commit 572c6fa

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
33

4+
using System;
5+
using System.Linq;
46
using System.Net;
57
using System.Threading;
68
using System.Threading.Tasks;
@@ -24,7 +26,7 @@ public BlazorServerTemplateTest(ProjectFactoryFixture projectFactory, BrowserFix
2426

2527
public Project Project { get; private set; }
2628

27-
[ConditionalFact(Skip = "This test ran for over an hour")]
29+
[Fact]
2830
[QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/20172")]
2931
public async Task BlazorServerTemplateWorks_NoAuth()
3032
{
@@ -137,9 +139,23 @@ public async Task BlazorServerTemplateWorks_IndividualAuth(bool useLocalDB)
137139

138140
private void TestBasicNavigation()
139141
{
140-
// Give components.server enough time to load so that it can replace
141-
// the prerendered content before we start making assertions.
142-
Thread.Sleep(5000);
142+
var retries = 3;
143+
var connected = false;
144+
do
145+
{
146+
try
147+
{
148+
Browser.Contains("Information: WebSocket connected to",
149+
() => string.Join(Environment.NewLine, Browser.GetBrowserLogs(LogLevel.Info).Select(b => b.Message)));
150+
connected = true;
151+
}
152+
catch (TimeoutException) when(retries-- > 0)
153+
{
154+
Browser.Navigate().Refresh();
155+
}
156+
} while (!connected && retries > 0);
157+
158+
143159
Browser.Exists(By.TagName("ul"));
144160
// <title> element gets project ID injected into it during template execution
145161
Browser.Equal(Project.ProjectName.Trim(), () => Browser.Title.Trim());

src/ProjectTemplates/ProjectTemplatesNoDeps.slnf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"Web.ItemTemplates\\Microsoft.DotNet.Web.ItemTemplates.csproj",
77
"Web.ProjectTemplates\\Microsoft.DotNet.Web.ProjectTemplates.csproj",
88
"Web.Spa.ProjectTemplates\\Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj",
9-
"test\\ProjectTemplates.Tests.csproj"
9+
"test\\ProjectTemplates.Tests.csproj",
10+
"BlazorTemplates.Tests\\BlazorTemplates.Tests.csproj"
1011
]
1112
}
1213
}

0 commit comments

Comments
 (0)