From 43a5233538e6bcdcfa34451eeebacd3d47f65b55 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Fri, 5 Mar 2021 12:16:00 -0800 Subject: [PATCH 01/28] Update BlazorTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorTemplateTest.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs index 4057e99fec6a..03be99348641 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs @@ -3,6 +3,7 @@ using System.Runtime.InteropServices; using Microsoft.AspNetCore.BrowserTesting; +using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Testing; using ProjectTemplates.Tests.Infrastructure; @@ -11,7 +12,7 @@ namespace Templates.Test { - public class BlazorTemplateTest + public class BlazorTemplateTest : LoggedTest { public BlazorTemplateTest(PlaywrightFixture browserFixture) { From bbb165c7701cb18477c346f0dc5bbdf07a55df94 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Fri, 5 Mar 2021 14:29:45 -0800 Subject: [PATCH 02/28] Update BlazorWasmTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorWasmTemplateTest.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs index d917e71ca32a..5c2fd767f0b2 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs @@ -79,6 +79,8 @@ public async Task BlazorWasmStandaloneTemplate_Works(BrowserKind browserKind) EnsureBrowserAvailable(browserKind); } } + + Assert.True(0 == 1); } private async Task NavigateToPage(IBrowserContext browser, string listeningUri) From 55039a80da9b2655c75238109b11d38707f312de Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Fri, 5 Mar 2021 23:33:29 -0800 Subject: [PATCH 03/28] Use LoggedTest test sink --- .../BlazorTemplates.Tests/BlazorTemplateTest.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs index 03be99348641..dc177ef52329 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs @@ -24,8 +24,7 @@ public BlazorTemplateTest(PlaywrightFixture browserFix public static ILoggerFactory CreateFactory(ITestOutputHelper output) { - var testSink = new TestSink(); - testSink.MessageLogged += LogMessage; + TestSink.MessageLogged += LogMessage; var loggerFactory = new TestLoggerFactory(testSink, enabled: true); return loggerFactory; From 37d8771f7f84a6c985fe87ae3bc0cf8479aab71a Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sat, 6 Mar 2021 01:03:29 -0800 Subject: [PATCH 04/28] Update BlazorTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorTemplateTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs index dc177ef52329..f8b690c5869c 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs @@ -22,10 +22,10 @@ public BlazorTemplateTest(PlaywrightFixture browserFix public PlaywrightFixture Fixture { get; } - public static ILoggerFactory CreateFactory(ITestOutputHelper output) + public ILoggerFactory CreateFactory(ITestOutputHelper output) { TestSink.MessageLogged += LogMessage; - var loggerFactory = new TestLoggerFactory(testSink, enabled: true); + var loggerFactory = new TestLoggerFactory(TestSink, enabled: true); return loggerFactory; void LogMessage(WriteContext ctx) From 8372ff830d784ae8393fd0b2293aa664595727ad Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sat, 6 Mar 2021 12:14:48 -0800 Subject: [PATCH 05/28] Update BlazorTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorTemplateTest.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs index f8b690c5869c..72b8ca997e6b 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs @@ -20,14 +20,15 @@ public BlazorTemplateTest(PlaywrightFixture browserFix } public PlaywrightFixture Fixture { get; } + public ContextInformation BrowserContextInfo { get; } - - public ILoggerFactory CreateFactory(ITestOutputHelper output) + public override void Initialize(TestContext context, MethodInfo methodInfo, object[] testMethodArguments, ITestOutputHelper testOutputHelper) { - TestSink.MessageLogged += LogMessage; - var loggerFactory = new TestLoggerFactory(TestSink, enabled: true); - return loggerFactory; + base.Initialize(context, methodInfo, testMethodArguments, testOutputHelper); + TestSink.MessageLogged += LogMessage; + BrowserContextInfo = new ContextInformation(LoggerFactory); + void LogMessage(WriteContext ctx) { output.WriteLine($"{MapLogLevel(ctx)}: [Browser]{ctx.Message}"); From 757e1c8e5746ba707f08ecae77c14705969844ea Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sat, 6 Mar 2021 12:15:16 -0800 Subject: [PATCH 06/28] Update BlazorServerTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorServerTemplateTest.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs index 0fc61a174167..2d31691dfbc4 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs @@ -24,12 +24,10 @@ public BlazorServerTemplateTest(ProjectFactoryFixture projectFactory, Playwright { ProjectFactory = projectFactory; ; Output = output; - BrowserContextInfo = new ContextInformation(CreateFactory(output)); } public ProjectFactoryFixture ProjectFactory { get; set; } public ITestOutputHelper Output { get; } - public ContextInformation BrowserContextInfo { get; } public Project Project { get; private set; } From 9b6ba32787f8bb442bf97aa297727751db6031fe Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sat, 6 Mar 2021 12:15:31 -0800 Subject: [PATCH 07/28] Update BlazorWasmTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorWasmTemplateTest.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs index 5c2fd767f0b2..fff84306f6e7 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs @@ -31,15 +31,12 @@ public BlazorWasmTemplateTest(ProjectFactoryFixture projectFactory, PlaywrightFi { ProjectFactory = projectFactory; Output = output; - BrowserContextInfo = new ContextInformation(CreateFactory(output)); } public ProjectFactoryFixture ProjectFactory { get; set; } public ITestOutputHelper Output { get; } - public ContextInformation BrowserContextInfo { get; } - [Theory] [InlineData(BrowserKind.Chromium)] public async Task BlazorWasmStandaloneTemplate_Works(BrowserKind browserKind) From a1359cf0f2cba487a0854c2464adb85478118627 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sat, 6 Mar 2021 12:18:30 -0800 Subject: [PATCH 08/28] Update BlazorServerTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorServerTemplateTest.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs index 2d31691dfbc4..6bf20f58f0b8 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs @@ -19,15 +19,13 @@ namespace Templates.Test { public class BlazorServerTemplateTest : BlazorTemplateTest { - public BlazorServerTemplateTest(ProjectFactoryFixture projectFactory, PlaywrightFixture fixture, ITestOutputHelper output) + public BlazorServerTemplateTest(ProjectFactoryFixture projectFactory, PlaywrightFixture fixture) : base(fixture) { ProjectFactory = projectFactory; ; - Output = output; } public ProjectFactoryFixture ProjectFactory { get; set; } - public ITestOutputHelper Output { get; } public Project Project { get; private set; } @@ -38,7 +36,7 @@ public async Task BlazorServerTemplateWorks_NoAuth(BrowserKind browserKind) // Additional arguments are needed. See: https://github.com/dotnet/aspnetcore/issues/24278 Environment.SetEnvironmentVariable("EnableDefaultScopedCssItems", "true"); - Project = await ProjectFactory.GetOrCreateProject("blazorservernoauth" + browserKind.ToString(), Output); + Project = await ProjectFactory.GetOrCreateProject("blazorservernoauth" + browserKind.ToString(), TestOutputHelper ); var createResult = await Project.RunDotNetNewAsync("blazorserver"); Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", Project, createResult)); @@ -109,7 +107,7 @@ public async Task BlazorServerTemplateWorks_IndividualAuth(BrowserKind browserKi // Additional arguments are needed. See: https://github.com/dotnet/aspnetcore/issues/24278 Environment.SetEnvironmentVariable("EnableDefaultScopedCssItems", "true"); - Project = await ProjectFactory.GetOrCreateProject("blazorserverindividual" + browserKind + (useLocalDB ? "uld" : ""), Output); + Project = await ProjectFactory.GetOrCreateProject("blazorserverindividual" + browserKind + (useLocalDB ? "uld" : ""), TestOutputHelper ); var createResult = await Project.RunDotNetNewAsync("blazorserver", auth: "Individual", useLocalDB: useLocalDB); Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", Project, createResult)); @@ -214,7 +212,7 @@ private async Task TestBasicNavigation(IPage page) [InlineData("SingleOrg", new string[] { "--calls-graph" })] public async Task BlazorServerTemplat_IdentityWeb_BuildAndPublish(string auth, string[] args) { - Project = await ProjectFactory.GetOrCreateProject("blazorserveridweb" + Guid.NewGuid().ToString().Substring(0, 10).ToLowerInvariant(), Output); + Project = await ProjectFactory.GetOrCreateProject("blazorserveridweb" + Guid.NewGuid().ToString().Substring(0, 10).ToLowerInvariant(), TestOutputHelper ); var createResult = await Project.RunDotNetNewAsync("blazorserver", auth: auth, args: args); Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", Project, createResult)); From 0aa4b878c7eb9c8fe95a4cdaace1fefd07ec61df Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sat, 6 Mar 2021 12:19:57 -0800 Subject: [PATCH 09/28] Update BlazorWasmTemplateTest.cs --- .../BlazorWasmTemplateTest.cs | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs index fff84306f6e7..7acc85e19706 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs @@ -26,17 +26,14 @@ namespace Templates.Test { public class BlazorWasmTemplateTest : BlazorTemplateTest { - public BlazorWasmTemplateTest(ProjectFactoryFixture projectFactory, PlaywrightFixture browserFixture, ITestOutputHelper output) + public BlazorWasmTemplateTest(ProjectFactoryFixture projectFactory, PlaywrightFixture browserFixture) : base(browserFixture) { ProjectFactory = projectFactory; - Output = output; } public ProjectFactoryFixture ProjectFactory { get; set; } - public ITestOutputHelper Output { get; } - [Theory] [InlineData(BrowserKind.Chromium)] public async Task BlazorWasmStandaloneTemplate_Works(BrowserKind browserKind) @@ -44,7 +41,7 @@ public async Task BlazorWasmStandaloneTemplate_Works(BrowserKind browserKind) // Additional arguments are needed. See: https://github.com/dotnet/aspnetcore/issues/24278 Environment.SetEnvironmentVariable("EnableDefaultScopedCssItems", "true"); - var project = await ProjectFactory.GetOrCreateProject("blazorstandalone" + browserKind, Output); + var project = await ProjectFactory.GetOrCreateProject("blazorstandalone" + browserKind, TestOutputHelper); var createResult = await project.RunDotNetNewAsync("blazorwasm"); Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", project, createResult)); @@ -64,7 +61,7 @@ public async Task BlazorWasmStandaloneTemplate_Works(BrowserKind browserKind) var (serveProcess, listeningUri) = RunPublishedStandaloneBlazorProject(project); using (serveProcess) { - Output.WriteLine($"Opening browser at {listeningUri}..."); + TestOutputHelper.WriteLine($"Opening browser at {listeningUri}..."); if (Fixture.BrowserManager.IsAvailable(browserKind)) { await using var browser = await Fixture.BrowserManager.GetBrowserInstance(browserKind, BrowserContextInfo); @@ -94,7 +91,7 @@ public async Task BlazorWasmHostedTemplate_Works(BrowserKind browserKind) // Additional arguments are needed. See: https://github.com/dotnet/aspnetcore/issues/24278 Environment.SetEnvironmentVariable("EnableDefaultScopedCssItems", "true"); - var project = await ProjectFactory.GetOrCreateProject("blazorhosted" + browserKind, Output); + var project = await ProjectFactory.GetOrCreateProject("blazorhosted" + browserKind, TestOutputHelper); var createResult = await project.RunDotNetNewAsync("blazorwasm", args: new[] { "--hosted" }); Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", project, createResult)); @@ -153,7 +150,7 @@ public async Task BlazorWasmStandalonePwaTemplate_Works(BrowserKind browserKind) // Additional arguments are needed. See: https://github.com/dotnet/aspnetcore/issues/24278 Environment.SetEnvironmentVariable("EnableDefaultScopedCssItems", "true"); - var project = await ProjectFactory.GetOrCreateProject("blazorstandalonepwa", Output); + var project = await ProjectFactory.GetOrCreateProject("blazorstandalonepwa", TestOutputHelper); var createResult = await project.RunDotNetNewAsync("blazorwasm", args: new[] { "--pwa" }); Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", project, createResult)); @@ -172,7 +169,7 @@ public async Task BlazorWasmStandalonePwaTemplate_Works(BrowserKind browserKind) { var (serveProcess, listeningUri) = RunPublishedStandaloneBlazorProject(project); await using var browser = await Fixture.BrowserManager.GetBrowserInstance(browserKind, BrowserContextInfo); - Output.WriteLine($"Opening browser at {listeningUri}..."); + TestOutputHelper.WriteLine($"Opening browser at {listeningUri}..."); var page = await NavigateToPage(browser, listeningUri); using (serveProcess) { @@ -200,7 +197,7 @@ public async Task BlazorWasmHostedPwaTemplate_Works(BrowserKind browserKind) // Additional arguments are needed. See: https://github.com/dotnet/aspnetcore/issues/24278 Environment.SetEnvironmentVariable("EnableDefaultScopedCssItems", "true"); - var project = await ProjectFactory.GetOrCreateProject("blazorhostedpwa", Output); + var project = await ProjectFactory.GetOrCreateProject("blazorhostedpwa", TestOutputHelper); var createResult = await project.RunDotNetNewAsync("blazorwasm", args: new[] { "--hosted", "--pwa" }); Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", project, createResult)); @@ -296,7 +293,7 @@ private async Task BlazorWasmHostedTemplate_IndividualAuth_Works(BrowserKind bro // Additional arguments are needed. See: https://github.com/dotnet/aspnetcore/issues/24278 Environment.SetEnvironmentVariable("EnableDefaultScopedCssItems", "true"); - var project = await ProjectFactory.GetOrCreateProject("blazorhostedindividual" + browserKind + (useLocalDb ? "uld" : ""), Output); + var project = await ProjectFactory.GetOrCreateProject("blazorhostedindividual" + browserKind + (useLocalDb ? "uld" : ""), TestOutputHelper); var createResult = await project.RunDotNetNewAsync("blazorwasm", args: new[] { "--hosted", "-au", "Individual", useLocalDb ? "-uld" : "" }); Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", project, createResult)); @@ -369,7 +366,7 @@ public async Task BlazorWasmStandaloneTemplate_IndividualAuth_Works(BrowserKind // Additional arguments are needed. See: https://github.com/dotnet/aspnetcore/issues/24278 Environment.SetEnvironmentVariable("EnableDefaultScopedCssItems", "true"); - var project = await ProjectFactory.GetOrCreateProject("blazorstandaloneindividual" + browserKind, Output); + var project = await ProjectFactory.GetOrCreateProject("blazorstandaloneindividual" + browserKind, TestOutputHelper); var createResult = await project.RunDotNetNewAsync("blazorwasm", args: new[] { "-au", @@ -401,7 +398,7 @@ public async Task BlazorWasmStandaloneTemplate_IndividualAuth_Works(BrowserKind var (serveProcess, listeningUri) = RunPublishedStandaloneBlazorProject(project); using (serveProcess) { - Output.WriteLine($"Opening browser at {listeningUri}..."); + TestOutputHelper.WriteLine($"Opening browser at {listeningUri}..."); await using var browser = await Fixture.BrowserManager.GetBrowserInstance(browserKind, BrowserContextInfo); var page = await NavigateToPage(browser, listeningUri); await TestBasicNavigation(project.ProjectName, page); @@ -482,7 +479,7 @@ public TemplateInstance(string name, params string[] arguments) [MemberData(nameof(TemplateData))] public async Task BlazorWasmHostedTemplate_AzureActiveDirectoryTemplate_Works(TemplateInstance instance) { - var project = await ProjectFactory.GetOrCreateProject(instance.Name, Output); + var project = await ProjectFactory.GetOrCreateProject(instance.Name, TestOutputHelper); project.TargetFramework = "netstandard2.1"; var createResult = await project.RunDotNetNewAsync("blazorwasm", args: instance.Arguments); @@ -651,7 +648,7 @@ private void UpdatePublishedSettings(Project serverProject) { var publishDir = Path.Combine(project.TemplatePublishDir, "wwwroot"); - Output.WriteLine("Running dotnet serve on published output..."); + TestOutputHelper.WriteLine("Running dotnet serve on published output..."); var developmentCertificate = DevelopmentCertificate.Create(project.TemplateOutputDir); var args = $"-S --pfx \"{developmentCertificate.CertificatePath}\" --pfx-pwd \"{developmentCertificate.CertificatePassword}\" --port 0"; var command = DotNetMuxer.MuxerPathOrDefault(); @@ -665,7 +662,7 @@ private void UpdatePublishedSettings(Project serverProject) args = "--roll-forward LatestMajor " + args; // dotnet-serve targets net5.0 by default } - var serveProcess = ProcessEx.Run(Output, publishDir, command, args); + var serveProcess = ProcessEx.Run(TestOutputHelper, publishDir, command, args); var listeningUri = ResolveListeningUrl(serveProcess); return (serveProcess, listeningUri); } From 8b0f5f706e034836f8891c105a4db4b1ac081854 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sat, 6 Mar 2021 12:58:32 -0800 Subject: [PATCH 10/28] Update BlazorTemplateTest.cs --- src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs index 72b8ca997e6b..4e621d2a4de5 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Reflection; using System.Runtime.InteropServices; using Microsoft.AspNetCore.BrowserTesting; using Microsoft.AspNetCore.Testing; From e09d73242027d2f1b3f525f2b7f98fc70d5668a7 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sat, 6 Mar 2021 22:41:49 -0800 Subject: [PATCH 11/28] Update BlazorTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorTemplateTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs index 4e621d2a4de5..90dd19aff021 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs @@ -21,7 +21,7 @@ public BlazorTemplateTest(PlaywrightFixture browserFix } public PlaywrightFixture Fixture { get; } - public ContextInformation BrowserContextInfo { get; } + public ContextInformation BrowserContextInfo { get; private set; } public override void Initialize(TestContext context, MethodInfo methodInfo, object[] testMethodArguments, ITestOutputHelper testOutputHelper) { From c8bdbb43bddf36157ee60e464195354421648d24 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Sun, 7 Mar 2021 20:51:10 -0800 Subject: [PATCH 12/28] Update BlazorTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorTemplateTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs index 90dd19aff021..0c28674a9a7c 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplateTest.cs @@ -32,7 +32,7 @@ public override void Initialize(TestContext context, MethodInfo methodInfo, obje void LogMessage(WriteContext ctx) { - output.WriteLine($"{MapLogLevel(ctx)}: [Browser]{ctx.Message}"); + testOutputHelper.WriteLine($"{MapLogLevel(ctx)}: [Browser]{ctx.Message}"); static string MapLogLevel(WriteContext obj) => obj.LogLevel switch { From 3ebf27f8027107552f5fdbc1ce9a5c72a32d3e51 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 8 Mar 2021 00:17:09 -0800 Subject: [PATCH 13/28] Update playwrightSettings.json --- .../BlazorTemplates.Tests/playwrightSettings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/playwrightSettings.json b/src/ProjectTemplates/BlazorTemplates.Tests/playwrightSettings.json index d5e34b4795f4..2cd7de2f5f43 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/playwrightSettings.json +++ b/src/ProjectTemplates/BlazorTemplates.Tests/playwrightSettings.json @@ -4,7 +4,7 @@ "BaseArtifactsFolder": ".", "GlobalBrowserOptions": { "ChromiumSandbox": true, - "DumpIO": true, + "DumpIO": false, "IgnoreHTTPSErrors": true, "Headless": true, "Timeout": 30000 From 144425c17a4fb420471322c67622570da691e5a4 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 8 Mar 2021 09:11:37 -0800 Subject: [PATCH 14/28] Update playwrightSettings.json --- .../BlazorTemplates.Tests/playwrightSettings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/playwrightSettings.json b/src/ProjectTemplates/BlazorTemplates.Tests/playwrightSettings.json index 2cd7de2f5f43..d5e34b4795f4 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/playwrightSettings.json +++ b/src/ProjectTemplates/BlazorTemplates.Tests/playwrightSettings.json @@ -4,7 +4,7 @@ "BaseArtifactsFolder": ".", "GlobalBrowserOptions": { "ChromiumSandbox": true, - "DumpIO": false, + "DumpIO": true, "IgnoreHTTPSErrors": true, "Headless": true, "Timeout": 30000 From a7cbf0540c64b20fc1f547f93f5bfd2fc6d92e8e Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 8 Mar 2021 09:12:31 -0800 Subject: [PATCH 15/28] Update BrowserManager.cs --- src/Shared/BrowserTesting/src/BrowserManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Shared/BrowserTesting/src/BrowserManager.cs b/src/Shared/BrowserTesting/src/BrowserManager.cs index 20f970736e27..ede459195318 100644 --- a/src/Shared/BrowserTesting/src/BrowserManager.cs +++ b/src/Shared/BrowserTesting/src/BrowserManager.cs @@ -46,7 +46,7 @@ private async Task InitializeAsync() async Task InitializeCore() { - Playwright = await PlaywrightSharp.Playwright.CreateAsync(_loggerFactory/*, debug: "pw:api"*/); + Playwright = await PlaywrightSharp.Playwright.CreateAsync(_loggerFactory, debug: "pw:api"); foreach (var (browserName, options) in _browserManagerConfiguration.BrowserOptions) { if (!_launchBrowsers.ContainsKey(browserName)) From 6010cfa295b4fff672116c3d30ffd5823746f60b Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Tue, 9 Mar 2021 11:50:48 -0800 Subject: [PATCH 16/28] Add serilogger file stuff --- eng/Dependencies.props | 1 + eng/Versions.props | 1 + .../BlazorTemplates.Tests/BlazorTemplates.Tests.csproj | 1 + 3 files changed, 3 insertions(+) diff --git a/eng/Dependencies.props b/eng/Dependencies.props index 8dd976051839..8b2bd9ca7d15 100644 --- a/eng/Dependencies.props +++ b/eng/Dependencies.props @@ -181,6 +181,7 @@ and are generated based on the last package release. + diff --git a/eng/Versions.props b/eng/Versions.props index 96cc0344e36d..f2a6c48cf541 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -252,6 +252,7 @@ 89.0.4389.2300-beta 4.0.0-beta1 1.4.0 + 2.0.0 4.0.0 2.0.593 3.1.1 diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplates.Tests.csproj b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplates.Tests.csproj index 8001d254d00c..b8c36467abc6 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplates.Tests.csproj +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorTemplates.Tests.csproj @@ -45,6 +45,7 @@ + false true From d737a29b1da4af1a879652b79a3f9edc0d285182 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Tue, 9 Mar 2021 23:08:52 -0800 Subject: [PATCH 17/28] Update BlazorServerTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorServerTemplateTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs index 6bf20f58f0b8..7b3db27d0500 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs @@ -17,6 +17,7 @@ namespace Templates.Test { + [LogLevel(LogLevel.Debug)] public class BlazorServerTemplateTest : BlazorTemplateTest { public BlazorServerTemplateTest(ProjectFactoryFixture projectFactory, PlaywrightFixture fixture) From 0ab67b0bf12b7a0e9f6e89bb9139816284244e86 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Tue, 9 Mar 2021 23:09:14 -0800 Subject: [PATCH 18/28] Update BlazorWasmTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorWasmTemplateTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs index 7acc85e19706..c8fa06756cdc 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs @@ -24,6 +24,7 @@ namespace Templates.Test { + [LogLevel(LogLevel.Debug)] public class BlazorWasmTemplateTest : BlazorTemplateTest { public BlazorWasmTemplateTest(ProjectFactoryFixture projectFactory, PlaywrightFixture browserFixture) From 5dc34c0f8e35312a1ac0756be96a00260ba40c6d Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Wed, 10 Mar 2021 00:38:53 -0800 Subject: [PATCH 19/28] Update BlazorServerTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorServerTemplateTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs index 7b3db27d0500..1e308b1f938f 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs @@ -9,6 +9,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.BrowserTesting; using Microsoft.AspNetCore.Testing; +using Microsoft.Extensions.Logging.Testing using PlaywrightSharp; using ProjectTemplates.Tests.Infrastructure; using Templates.Test.Helpers; From ac6f0edf1dfd401d9e2b53eb975706a0b5494dbf Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Wed, 10 Mar 2021 00:39:12 -0800 Subject: [PATCH 20/28] Update BlazorWasmTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorWasmTemplateTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs index c8fa06756cdc..45b5ab45a43b 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs @@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.CommandLineUtils; +using Microsoft.Extensions.Logging.Testing using Newtonsoft.Json.Linq; using PlaywrightSharp; using ProjectTemplates.Tests.Infrastructure; From 650157eafadc0c79d166b73477f108578b444fe9 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Wed, 10 Mar 2021 02:24:42 -0800 Subject: [PATCH 21/28] Update BlazorServerTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorServerTemplateTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs index 1e308b1f938f..db3978cf8de4 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.BrowserTesting; using Microsoft.AspNetCore.Testing; -using Microsoft.Extensions.Logging.Testing +using Microsoft.Extensions.Logging.Testing; using PlaywrightSharp; using ProjectTemplates.Tests.Infrastructure; using Templates.Test.Helpers; From 267f9a336563552b95b4c6da58d41400fae5ad0f Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Wed, 10 Mar 2021 02:25:11 -0800 Subject: [PATCH 22/28] Update BlazorWasmTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorWasmTemplateTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs index 45b5ab45a43b..dbc624003b41 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs @@ -15,7 +15,7 @@ using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.CommandLineUtils; -using Microsoft.Extensions.Logging.Testing +using Microsoft.Extensions.Logging.Testing; using Newtonsoft.Json.Linq; using PlaywrightSharp; using ProjectTemplates.Tests.Infrastructure; From f2c8969e5132d0988e7d49dff9c367f89b9c9d21 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Wed, 10 Mar 2021 15:24:01 -0800 Subject: [PATCH 23/28] Update BlazorServerTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorServerTemplateTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs index db3978cf8de4..bb8f2961ccb6 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs @@ -9,6 +9,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.BrowserTesting; using Microsoft.AspNetCore.Testing; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Testing; using PlaywrightSharp; using ProjectTemplates.Tests.Infrastructure; From 227d41abf50da6c10eea043cc2a82c60d653bdf1 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Wed, 10 Mar 2021 15:24:27 -0800 Subject: [PATCH 24/28] Update BlazorWasmTemplateTest.cs --- .../BlazorTemplates.Tests/BlazorWasmTemplateTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs index dbc624003b41..5d285975c541 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/BlazorWasmTemplateTest.cs @@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.CommandLineUtils; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Testing; using Newtonsoft.Json.Linq; using PlaywrightSharp; From 7be15d5f54189373803e257726c87658b9145be1 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Thu, 11 Mar 2021 11:21:30 -0800 Subject: [PATCH 25/28] Try writing logs to a file --- .../BlazorTemplates.Tests/PlaywrightFixture.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ProjectTemplates/BlazorTemplates.Tests/PlaywrightFixture.cs b/src/ProjectTemplates/BlazorTemplates.Tests/PlaywrightFixture.cs index f5ad94c908d3..842919f2c968 100644 --- a/src/ProjectTemplates/BlazorTemplates.Tests/PlaywrightFixture.cs +++ b/src/ProjectTemplates/BlazorTemplates.Tests/PlaywrightFixture.cs @@ -9,6 +9,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.BrowserTesting; using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Testing; using Xunit; using Xunit.Abstractions; @@ -65,6 +66,11 @@ public async Task InitializeAsync() var sink = new TestSink(); sink.MessageLogged += LogBrowserManagerMessage; var factory = new TestLoggerFactory(sink, enabled: true); + var helixUploadDir = Environment.GetEnvironmentVariable("HELIX_WORKITEM_UPLOAD_ROOT"); + if (!string.IsNullOrEmpty(helixUploadDir)) + { + factory.AddFile(Path.Combine(helixUploadDir, "playwright-fixture.log")); + } BrowserManager = await BrowserManager.CreateAsync(_configuration, factory); } From 1c5526693d26657856f120f84552ed87ad7cd1cd Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Thu, 11 Mar 2021 15:50:37 -0800 Subject: [PATCH 26/28] Try turning pw logging to warning for now --- eng/helix/content/RunTests/TestRunner.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/helix/content/RunTests/TestRunner.cs b/eng/helix/content/RunTests/TestRunner.cs index 2a48452d7356..8569a919700b 100644 --- a/eng/helix/content/RunTests/TestRunner.cs +++ b/eng/helix/content/RunTests/TestRunner.cs @@ -266,7 +266,11 @@ public async Task RunTestsAsync() { // Timeout test run 5 minutes before the Helix job would timeout var cts = new CancellationTokenSource(Options.Timeout.Subtract(TimeSpan.FromMinutes(5))); +#if INSTALLPLAYWRIGHT + var commonTestArgs = $"test {Options.Target} --logger:xunit --logger:\"console;verbosity=normal\" --blame \"CollectHangDump;TestTimeout=15m\" --Logging:LogLevel:PlaywrightSharp=Warning"; +#else var commonTestArgs = $"test {Options.Target} --logger:xunit --logger:\"console;verbosity=normal\" --blame \"CollectHangDump;TestTimeout=15m\""; +#endif if (Options.Quarantined) { Console.WriteLine("Running quarantined tests."); From aae6eecc08225f4138531b70901aa5c4dbfd2848 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Thu, 11 Mar 2021 15:52:42 -0800 Subject: [PATCH 27/28] Update TestRunner.cs --- eng/helix/content/RunTests/TestRunner.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/helix/content/RunTests/TestRunner.cs b/eng/helix/content/RunTests/TestRunner.cs index 8569a919700b..a08a49edd1c9 100644 --- a/eng/helix/content/RunTests/TestRunner.cs +++ b/eng/helix/content/RunTests/TestRunner.cs @@ -267,7 +267,7 @@ public async Task RunTestsAsync() // Timeout test run 5 minutes before the Helix job would timeout var cts = new CancellationTokenSource(Options.Timeout.Subtract(TimeSpan.FromMinutes(5))); #if INSTALLPLAYWRIGHT - var commonTestArgs = $"test {Options.Target} --logger:xunit --logger:\"console;verbosity=normal\" --blame \"CollectHangDump;TestTimeout=15m\" --Logging:LogLevel:PlaywrightSharp=Warning"; + var commonTestArgs = $"test {Options.Target} --logger:xunit --logger:\"console;verbosity=normal\" --blame \"CollectHangDump;TestTimeout=15m\" --Logging:Console:LogLevel:PlaywrightSharp=Warning"; #else var commonTestArgs = $"test {Options.Target} --logger:xunit --logger:\"console;verbosity=normal\" --blame \"CollectHangDump;TestTimeout=15m\""; #endif From a7287b3fe7b1edf25b103bb8741c725e53a1bf0f Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Thu, 11 Mar 2021 23:12:58 -0800 Subject: [PATCH 28/28] Update TestRunner.cs --- eng/helix/content/RunTests/TestRunner.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/eng/helix/content/RunTests/TestRunner.cs b/eng/helix/content/RunTests/TestRunner.cs index a08a49edd1c9..993365dd97dc 100644 --- a/eng/helix/content/RunTests/TestRunner.cs +++ b/eng/helix/content/RunTests/TestRunner.cs @@ -48,6 +48,9 @@ public bool SetupEnvironment() var playwrightBrowsers = Path.Combine(helixDir, "ms-playwright"); Console.WriteLine($"Setting PLAYWRIGHT_BROWSERS_PATH: {playwrightBrowsers}"); EnvironmentVariables.Add("PLAYWRIGHT_BROWSERS_PATH", playwrightBrowsers); + + Console.WriteLine($"Setting playwright console logging to warning: Logging__Console__LogLevel__PlaywrightSharp = Warning"); + EnvironmentVariables.Add("Logging__Console__LogLevel__PlaywrightSharp", "Warning"); #endif Console.WriteLine($"Creating nuget restore directory: {nugetRestore}"); @@ -266,11 +269,7 @@ public async Task RunTestsAsync() { // Timeout test run 5 minutes before the Helix job would timeout var cts = new CancellationTokenSource(Options.Timeout.Subtract(TimeSpan.FromMinutes(5))); -#if INSTALLPLAYWRIGHT - var commonTestArgs = $"test {Options.Target} --logger:xunit --logger:\"console;verbosity=normal\" --blame \"CollectHangDump;TestTimeout=15m\" --Logging:Console:LogLevel:PlaywrightSharp=Warning"; -#else var commonTestArgs = $"test {Options.Target} --logger:xunit --logger:\"console;verbosity=normal\" --blame \"CollectHangDump;TestTimeout=15m\""; -#endif if (Options.Quarantined) { Console.WriteLine("Running quarantined tests.");