test(jwk): cover Jwks::to_value, builder default, and negative variant matrix#701
test(jwk): cover Jwks::to_value, builder default, and negative variant matrix#701EffortlessSteven wants to merge 1 commit into
Conversation
…trix Adds direct unit tests for: - `Jwks::to_value()` (was only exercised via `Display`). - `JwksBuilder::default()` equivalence to `new()` and `KidSorted::new`/ `default` empty-state invariants, plus stability of 10 equal-kid pushes. - `PublicJwk::negative_value` / `PrivateJwk::negative_value` across every concrete enum arm (RSA / EC / OKP / Oct) × every `NegativeJwk` variant. This nails the `WrongKty` else-branch for non-RSA inputs (OKP, Oct, EC) and the per-shape field-lookup order for `MalformedField` and `MismatchedParameters`. - `NegativeJwks::DuplicateKey` on a populated set — the existing tests only covered the empty-set scanner-safe fallback.
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Closing as superseded by #714. The useful JWK coverage was ported onto current main in a clean branch; this older draft branch is stale and would remove newer landed work if merged. |
Summary
Closes coverage gaps in
uselesskey-jwk:Jwks::to_value()was only exercised throughDisplay; add a direct test plus a parity test against theDisplayroute.JwksBuilder::default()was only used implicitly throughnew(); assert the equivalence and the empty-state invariant.KidSorted::new()/default()empty-state invariants; preserve insertion order across 10 equal-kidpushes.PublicJwk::negative_value/PrivateJwk::negative_valueacross every concrete enum arm (RSA / EC / OKP / Oct) × everyNegativeJwkvariant. This pins theWrongKtyelse-branch for non-RSA inputs (OKP, Oct, EC) and the per-shape field-lookup order forMalformedFieldandMismatchedParameters.NegativeJwks::DuplicateKeyon a populated set — the existing tests only covered the empty-set scanner-safe fallback path.13 new tests in
crates/uselesskey-jwk/tests/jwk_extra_coverage.rs; no production code changes.Test plan
cargo test -p uselesskey-jwk --all-featurescargo fmt -p uselesskey-jwk --checkcargo clippy -p uselesskey-jwk --all-features --all-targets -- -D warningsGenerated by Claude Code