Repository navigation
test(repo): pin installation access in any position, approval scopes without a driver and git-only proxy probes - #3552
Merged
Merged
Conversation
…without a driver and git-only proxy probe outcomes Mutation testing found refusal branches from #3524, #3531 and #3534 that no case could fail: installation-wide access listed after another binding, the approval-scope review on an Installation with no repository settings, the deploy probe keeping the binding refusal when the counterpart is unavailable, and each condition of the git-only registration check (kind encoding, protocol major, either capability list, a separate egress registration).
Contributor
|
🦞👀 Pull request received. I will update this pull request when review starts. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Mutation testing of the repository refusals added in #3524, #3531 and #3534 found branches no test could fail. Each mutant below passed
repository-credentials-admission,http-errors,configuration-startup,egress-enrollment,credential-proxy-configurationandprotected-driver-registration:GET .../repository-approval-scopesstops returning[]for an Agent whose stored binding predates the Installation dropping itsrepositorysettings (it answers the save-path 409 instead).assertAvailablefailure, so an unavailable counterpart answers 503 instead of the binding refusal (CredentialSourceUnprotectedError).registeredWithoutExecution) ignores which registration failed, theEXTENSION_KIND_SUPERVISOR_MIDDLEWAREkind encoding,protocol_major, or one or both capability lists.Change
Test-only, in
tests/integration/repository-credentials-admission.test.mjs:protectedOpenShellCompositiontakesextension(fields of the reported registration) andmiddlewareName(a separate egress registration). The git-only test runs the earlier Gateway source through a missing registration too (409 binding refusal), then checks six registration shapes at the counterpart check: the named kind is git-only (409), and a missing registration, protocol 2, required-only or supported-only capabilities and a separate egress registration stay 503.Verification
Risks
Test-only. Not covered: the deploy probe running for an Agent with repository Git (needs a full repository Git transport composition), and the provisioning worker's pass-through of
CredentialProxyRepositoryOnlyError,CredentialSourceUnprotectedErrorandRepositoryDriverNotConfiguredErrormessages (reachable only when the Installation changes between request and worker attempt).