What's wrong
4 tests in BuildMonitor.Test/GitHubRequestOutcomeTests.cs fail on main with NullReferenceException on every platform:
- the
OwnerWithToken helper at line 130, and the tests that use it
AWorkflowActionWithoutCredentialsReportsFailureWithoutCalling at line 192
Cause
These tests construct new Owner { ... } without a BuildProvider. Since #285 moved tokens into the secret store, Owner.TokenPersona dereferences BuildProvider.Name, so reading or writing the owner's token throws. #288 (which added these tests) was written before #285, and the two were merged in an order that broke them (80806f3 then b672d07).
Why it matters
The request-outcome reporting that #288 added is currently untested, and a red test suite on main hides new regressions.
Suggested fix / acceptance criteria
- Build owners with
provider.CreateOwner(...) so BuildProvider is set.
- Inject an in-memory store via
TokenStorage.UseCache so the tests don't touch the OS secret store.
dotnet test passes for GitHubRequestOutcomeTests on Windows and Linux.
What's wrong
4 tests in
BuildMonitor.Test/GitHubRequestOutcomeTests.csfail onmainwithNullReferenceExceptionon every platform:OwnerWithTokenhelper at line 130, and the tests that use itAWorkflowActionWithoutCredentialsReportsFailureWithoutCallingat line 192Cause
These tests construct
new Owner { ... }without aBuildProvider. Since #285 moved tokens into the secret store,Owner.TokenPersonadereferencesBuildProvider.Name, so reading or writing the owner's token throws. #288 (which added these tests) was written before #285, and the two were merged in an order that broke them (80806f3thenb672d07).Why it matters
The request-outcome reporting that #288 added is currently untested, and a red test suite on
mainhides new regressions.Suggested fix / acceptance criteria
provider.CreateOwner(...)soBuildProvideris set.TokenStorage.UseCacheso the tests don't touch the OS secret store.dotnet testpasses forGitHubRequestOutcomeTestson Windows and Linux.