dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.37k stars 9.99k forks source link

Helix OSX - Playwright ERR_CERT_DATABASE_CHANGED failures Individual Auth #30825

Closed HaoK closed 8 months ago

HaoK commented 3 years ago

IndividualAuth_Works tests are failing with the following on OSX, this seems like its generally an issue when the trust store is modified which causes Chrome to flush all the connections, we should investigate to see if we can avoid these exceptions

PlaywrightSharp.PlaywrightSharpException : net::ERR_CERT_DATABASE_CHANGED at http://localhost:63342/
=========================== logs ===========================
navigating to "http://localhost:63342/", waiting until "load"

  at PlaywrightSharp.Transport.Connection.SendMessageToServerAsync[T](String guid, String method, Object args, Boolean ignoreNullValues, JsonSerializerOptions serializerOptions, Boolean treatErrorPropertyAsError) in /home/runner/work/playwright-sharp/playwright-sharp/src/PlaywrightSharp/Transport/Connection.cs:line 186
   at PlaywrightSharp.Frame.GoToAsync(Boolean isPage, String url, Nullable`1 waitUntil, String referer, Nullable`1 timeout) in /home/runner/work/playwright-sharp/playwright-sharp/src/PlaywrightSharp/Frame.cs:line 761
   at Templates.Test.Helpers.AspNetProcess.VisitInBrowserAsync(IPage page) in /_/src/ProjectTemplates/Shared/AspNetProcess.cs:line 108
   at Templates.Test.BlazorServerTemplateTest.BlazorServerTemplateWorks_IndividualAuth(BrowserKind browserKind, Boolean useLocalDB) in /_/src/ProjectTemplates/BlazorTemplates.Tests/BlazorServerTemplateTest.cs:line 164
--- End of stack trace from previous location ---
javiercn commented 3 years ago

I think I ran into this in my prototype, but there's an easy solution for it.

We create a cert every time we spin up a .NET project, we can switch to create a single https certificate and use that for all of our tests instead.

ghost commented 3 years ago

Thanks for contacting us. We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We will evaluate the request when we are planning the work for the next milestone. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

TanayParikh commented 2 years ago

Re-opening this issue as it's still used to mark tests as quarantined.

SteveSandersonMS commented 2 years ago

@TanayParikh I see this has the test-fixed label but could you clarify which PR contained the fix? I'm unclear on how to know if it's been 30 days since this was fixed.

TanayParikh commented 2 years ago

which PR contained the fix

https://github.com/dotnet/aspnetcore/pull/31012

I'm unclear on how to know if it's been 30 days since this was fixed.

This issue was closed out when the above PR was merged, but the underlying tests were never un-quarantined. Given it was merged in March, assuming all the tests have a consistent pass rate, we should be fine to un-quarantine now.

TanayParikh commented 1 year ago

We need Helix enabled for the Playwright tests first before we resolve this issue (if this is still an issue):

Depends on: https://github.com/dotnet/aspnetcore/issues/38818

TanayParikh commented 1 year ago

We need Helix enabled for the Playwright tests first before we resolve this issue (if this is still an issue):

We're running the tests specifically on the build agents for now due to issues with Helix compatibility. Backlogging this until we decide we'd like these tests running on helix.

javiercn commented 1 year ago

For reference here: I believe the issue is that we generate a new HTTPS cert for each test and that causes issues on chrome. We can generate a single HTTPS cert at the beginning of the test run and that should get rid of these problems.

mkArtakMSFT commented 8 months ago

Closing as a dupe of https://github.com/dotnet/aspnetcore/issues/46430