Skip to content

test(sink): WebApplicationFactory smoke test for samples/WebhookSink (S0b)#76

Merged
williamdewitt merged 4 commits into
mainfrom
claude/issue-53-20260628-2129
Jun 28, 2026
Merged

test(sink): WebApplicationFactory smoke test for samples/WebhookSink (S0b)#76
williamdewitt merged 4 commits into
mainfrom
claude/issue-53-20260628-2129

Conversation

@williamdewitt

Copy link
Copy Markdown
Owner

Automated by the agent-in-the-loop for #53. Closes #53.

Adds tests/WebhookSink.Tests/, wired into Caliber.Webhooks.slnx under /tests/.
WebApplicationFactory<Program> smoke test asserts GET /healthz → 200.
Pins Microsoft.AspNetCore.Mvc.Testing 10.0.6 in Directory.Packages.props (CPM).
Program partial-class shim was already present in samples/WebhookSink/Program.cs.

Closes #53

Co-authored-by: William de Witt <williamdewitt@users.noreply.github.com>
@github-actions github-actions Bot added the risk:core src/Caliber.Webhooks; code-owner review (Opus, high effort) label Jun 28, 2026
williamdewitt added a commit that referenced this pull request Jun 28, 2026
The first dispatched slice (S0b, PR #76) pinned Microsoft.AspNetCore.Mvc.Testing
to 10.0.6, which drags Microsoft.Extensions.*.Abstractions to 10.x and downgrade-
conflicts (NU1109) with the net8-floor central pins. Make the net8-floor rule
explicit in House overrides so the agent pins test/sample deps to 8.0.x.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@williamdewitt

Copy link
Copy Markdown
Owner Author

@claude the build · test · pack check is failing on NU1109 package downgrades: Microsoft.AspNetCore.Mvc.Testing 10.0.6 transitively pulls Microsoft.Extensions.{DependencyInjection,Hosting,Logging}.Abstractions 10.x, which downgrade-conflict against this repo's net8-floor central pins in Directory.Packages.props (8.0.2 / 8.0.0 / 8.0.3).

Per the house CPM policy — pin to the net8 LTS floor — fix it by changing the Microsoft.AspNetCore.Mvc.Testing PackageVersion in Directory.Packages.props from 10.0.6 to the latest 8.0.x release (its transitive Microsoft.Extensions.* then unify with the existing pins). Don't bump the Extensions pins. Then dotnet restore + dotnet build + dotnet test to confirm green, and push the fix to this PR branch.

@claude

claude Bot commented Jun 28, 2026

Copy link
Copy Markdown

Claude finished @williamdewitt's task in 4m 47s —— View job


Fixing NU1109 package downgrade

  • Pin Microsoft.AspNetCore.Mvc.Testing to the net8 LTS floor in Directory.Packages.props
  • Verify the rest of the change set (the public partial class Program { } shim is present, so the pin was the only break)
  • Push the fix to this PR branch
  • ⚠️ Local dotnet restore/build/testcould not run (see note)

What changed

Directory.Packages.propsMicrosoft.AspNetCore.Mvc.Testing 10.0.68.0.11 (latest stable patch on the net8 LTS line), with an explanatory comment added.

Why this fixes NU1109: the 10.0.6 pin transitively drags Microsoft.Extensions.{DependencyInjection,Hosting,Logging}.Abstractions to 10.x, which downgrade-conflicts against this repo's net8-floor central pins (8.0.2 / 8.0.0 / 8.0.3) under CentralPackageTransitivePinningEnabled. The 8.0.x line's transitive Microsoft.Extensions.* unify with those existing pins — no Extensions pin bumps, exactly per the house CPM policy.

Pushed as af6473b.

⚠️ Heads-up — I could not run dotnet restore/build/test locally. In this CI agent sandbox, dotnet and network access (NuGet) are permission-blocked and auto-denied non-interactively, so the build · test · pack check on this push is the actual verification. I expect it to go green; if it doesn't, the restore output will tell us whether a different 8.0.x patch is needed.

One note on patch choice: I pinned 8.0.11 (a verified-existing, supported 8.0 LTS patch) rather than guessing a higher patch number I couldn't confirm exists offline. Since Mvc.Testing's transitive Microsoft.Extensions.*.Abstractions don't track the package's patch (they sit at the 8.0.x baseline, ≤ the existing pins), any 8.0.x resolves the conflict identically — so this is safe and policy-compliant. Bump to a newer 8.0.x if you'd prefer the exact latest.
· branch claude/issue-53-20260628-2129

…) to resolve NU1109

The 10.0.6 pin transitively pulls Microsoft.Extensions.{DependencyInjection,Hosting,Logging}.Abstractions 10.x, which downgrade-conflict (NU1109) against the repo's net8-floor central pins (8.0.2 / 8.0.0 / 8.0.3) under CentralPackageTransitivePinningEnabled. Pinning to the 8.0.x LTS line unifies the transitive Microsoft.Extensions.* with the existing pins; no Extensions pin bumps needed.

Co-authored-by: William de Witt <williamdewitt@users.noreply.github.com>
The agent's self-heal correctly pinned Microsoft.AspNetCore.Mvc.Testing to the
net8 floor (8.0.11), but 8.0.11 → Hosting 8.0.1 → Hosting.Abstractions >= 8.0.1,
one patch above the central 8.0.0 pin → NU1109. Raising the floor to 8.0.1 (still
net8 LTS) resolves it; a maintainer dependency-floor decision, not an agent bump.
Verified: dotnet build + dotnet test green (WebhookSink.Tests 1/1).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@williamdewitt williamdewitt enabled auto-merge (squash) June 28, 2026 22:06
@williamdewitt williamdewitt merged commit 3a5eb2e into main Jun 28, 2026
9 checks passed
@williamdewitt williamdewitt deleted the claude/issue-53-20260628-2129 branch June 28, 2026 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:core src/Caliber.Webhooks; code-owner review (Opus, high effort)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(sink): WebApplicationFactory smoke test for samples/WebhookSink (S0b)

1 participant