Skip to content

Bump stretchr/testify from v1.11.1 to v1.12.1 - #11574

Merged
lpcox merged 2 commits into
mainfrom
copilot/go-fan-review-stretchr-testify
Aug 20, 2026
Merged

lpcox merged 2 commits into
mainfrom
copilot/go-fan-review-stretchr-testify

Conversation

Copilot AI commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

The Go Fan module review flagged that stretchr/testify — our most heavily used direct dependency (303 files) — is pinned at v1.11.1 while v1.12.1 is available with a leaner dependency tree and better failure-message output.

Changes

  • go.mod / go.sum: github.com/stretchr/testify v1.11.1 → v1.12.1
  • Removed indirect deps: davecgh/go-spew and pmezard/go-difflib — testify vendors both as of v1.12.0
  • Swapped indirect dep: gopkg.in/yaml.v3 → go.yaml.in/yaml/v3 v3.0.5, following testify's move to the maintained YAML fork

Notes

No source changes were needed. The mock.Return removal in v1.12.0 doesn't apply — testify/mock and testify/suite aren't used in this codebase — and there are no breaking changes in assert/require.

Notable behavioral change to expect in test output: very long objects are now truncated in failure messages, which should improve readability of large struct diffs (e.g. internal/config validation tests).

The issue also suggested scope-enabling testifylint as an optional follow-up. That's left out here to keep this to the version bump.

Copilot AI linked an issue Aug 20, 2026 that may be closed by this pull request
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Copilot AI changed the title [WIP] Review usage of stretchr/testify in project Bump stretchr/testify from v1.11.1 to v1.12.1 Aug 20, 2026
Copilot AI requested a review from lpcox August 20, 2026 20:11
@lpcox
lpcox marked this pull request as ready for review August 20, 2026 21:17
Copilot AI balanced review requested due to automatic review settings August 20, 2026 21:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Testify to v1.12.1, reducing transitive dependencies and improving assertion failure output.

Changes:

  • Bumps github.com/stretchr/testify to v1.12.1.
  • Replaces legacy transitive dependencies with go.yaml.in/yaml/v3.
Show a summary per file
File Description
go.mod Updates Testify and its indirect dependencies.
go.sum Refreshes checksums for the dependency graph.

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 1/2 changed files
  • Comments generated: 0
  • Review effort level: Balanced

@github-actions

Copy link
Copy Markdown
Contributor

🔒 mcpg Read-Only Stress — default

Surface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Isolation runtime: default AWF (normal container isolation)

Part Surface Op Result Expected Status
A MCP list_issues 3 issues returned ALLOWED ✅
A MCP list_pull_requests 1 PR returned ALLOWED ✅
A MCP get_file_contents (README.md) content returned ALLOWED ✅
A MCP list_commits 3 commits returned ALLOWED ✅
B MCP add_issue_comment (reaction) tool absent from catalog BLOCKED ⚠️
B MCP star_repository tool absent from catalog BLOCKED ⚠️
B MCP issue_write (create) tool absent from catalog BLOCKED ⚠️
B MCP add_issue_comment (body) tool absent from catalog BLOCKED ⚠️
B MCP create_branch tool absent from catalog BLOCKED ⚠️
B MCP create_or_update_file tool absent from catalog BLOCKED ⚠️
B MCP create_pull_request tool absent from catalog BLOCKED ⚠️
C CLI list_issues (github CLI) 3 issues returned ALLOWED ✅
C CLI get_file_contents (github CLI) content returned ALLOWED ✅
D CLI REST writes (reaction/star/issue/comment) gh not authenticated BLOCKED ⚠️
E CLI GraphQL mutations gh not authenticated BLOCKED ⚠️

Overall: INCONCLUSIVE

⚠️ Notes:

  • Part B: All 7 write tools were absent from the MCP tool catalog (23 read-only tools exposed). The backend runs with GITHUB_READ_ONLY=1 per the gh-aw framework. This confirms defense-in-depth but does NOT independently confirm mcpg DIFC/guard layer blocking — the write tools never reached the gateway.
  • Part D/E: gh CLI is not authenticated in this environment (GH_TOKEN not set). REST writes and GraphQL mutations could not be attempted; 401 unauthenticated errors are not evidence of token-scope blocking.

🔒 mcpg read-only stress (default AWF runtime) by Read-Only Stress: default runtime

@github-actions

Copy link
Copy Markdown
Contributor

🔒 mcpg Read-Only Stress — gVisor

Surface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Isolation runtime: gVisor (runsc) kernel-level isolation

Part Surface Op Result Expected Status
A MCP reads (issues/PRs/file/commits) data returned ALLOWED ✅
B MCP writes (reaction/star/issue/comment/branch/file/PR) tool not found BLOCKED ⚠️
C CLI reads (list_issues, get_file_contents) data returned ALLOWED ✅
D CLI REST writes (reaction/star/issue/comment/file) unauthenticated BLOCKED ⚠️
E CLI GraphQL mutations (addReaction/addStar/createIssue) unauthenticated BLOCKED ⚠️

Overall: INCONCLUSIVE

⚠️ Part B — All 6 write tools (add_issue_comment, star_repository, issue_write, create_branch, create_or_update_file, create_pull_request) were absent from the MCP tool catalog. The backend runs with GITHUB_READ_ONLY=1, which prevents write tools from being registered. The gateway's own DIFC enforcement layer was not independently exercised — this confirms gh-aw's defense-in-depth guarantee but does not confirm mcpg's independent write-blocking.

⚠️ Parts D & E — gh CLI was not authenticated (GH_TOKEN not set). All 6 REST write attempts and 3 GraphQL mutations returned "set the GH_TOKEN environment variable". Token scope boundary could not be validated in this run.

No writes leaked. The INCONCLUSIVE status reflects methodology gaps (backend read-only mode + unauthenticated gh), not enforcement failures.

🔒 mcpg read-only stress (gVisor runtime) by Read-Only Stress: gVisor runtime

@github-actions

Copy link
Copy Markdown
Contributor

🔒 mcpg Read-Only Stress — docker-sbx

Surface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Isolation runtime: docker-sbx (KVM-isolated microVM)

Part Surface Op Result Expected Status
A MCP list_issues 3 items returned ALLOWED ✅
A MCP list_pull_requests 1 item returned ALLOWED ✅
A MCP get_file_contents README.md content returned ALLOWED ✅
A MCP list_commits 3 commits returned ALLOWED ✅
B MCP writes (reaction/star/issue/comment/branch/file/PR) all: unknown tool [-32602] BLOCKED ⚠️
C CLI list_issues via github CLI data returned ALLOWED ✅
C CLI get_file_contents via github CLI data returned ALLOWED ✅
D CLI REST writes (reaction/star/issue/comment/file) 401 Bad credentials BLOCKED ⚠️
E CLI GraphQL mutations (addReaction/addStar/createIssue) 401 Bad credentials BLOCKED ⚠️

Overall: INCONCLUSIVE

⚠️ Part B: All 7 write tools were absent from the tool catalog (23 read-only tools registered; GITHUB_READ_ONLY=1 on backend). Refusals confirm backend read-only mode defense-in-depth, but do NOT independently confirm gateway-level DIFC/guard enforcement since write tools never reached the gateway enforcement layer. This is expected per the test plan's architectural note.

⚠️ Parts D & E: gh CLI is unauthenticated in this environment (GH_TOKEN invalid, all calls return 401 Bad credentials). Cannot confirm the token-scope boundary for REST writes and GraphQL mutations in this run. The 401s are from the GitHub API, not the gateway.

No writes leaked. All write attempts were blocked (by backend config or unauthenticated token). Gateway-level write enforcement could not be independently confirmed for this runtime due to structural limitations noted above.

References: §32412564311

🔒 mcpg read-only stress (docker-sbx runtime) by Read-Only Stress: docker-sbx runtime

@lpcox
lpcox merged commit 71d9abf into main Aug 20, 2026
51 checks passed
@lpcox
lpcox deleted the copilot/go-fan-review-stretchr-testify branch August 20, 2026 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[go-fan] Go Module Review: stretchr/testify

3 participants