Skip to content

Negative coverage for try_* / auth surfaces: src/test_auth.rs should map each critical unauthorized attempt [RC26Q2-C33] #282

@thlpkee20-wq

Description

@thlpkee20-wq

Description

Harden the “client-friendly” surface by ensuring the tests exercise unauthorized attempts in a way integrators can mirror (including expected Result vs host panic). Align with docs/structured-error-coverage-expansion.md if that file exists in the repo.

Requirements and context

  • This reduces integration bugs where a wallet assumes an error is returned but the host panics, or vice versa—document the actual behavior.

Suggested execution

  • Fork the repo, then:

    • git checkout -b feature/soroban-try-auth-coverage
  • Relevant modules: src/test_auth.rs, src/lib.rs, docs/structured-error-coverage-expansion.md, README.md

  • Implement and verify

    • Add tests that call from wrong addresses for issuer-only operations, holder-only operations, and admin-only operations, per the real public API.
  • Test and document

    • Add or extend automated tests; cover edge cases and invariants
    • Document security assumptions; include test output summary and a short security / risk note in the PR
    • For Revora-Contracts (Soroban): cargo test, cargo clippy, rustdoc/NatSpec-style entrypoint docs where applicable. Do not implement Solidity; this work targets Rust/WASM in this repository.
    • For Backend / Frontend: follow the repo’s existing Jest/TS/ESLint/Vite setup.
    • Example commit message: test(soroban): try_* auth and unauthorized negative matrix

Labels and GitHub label colors

  • Create the labels in this issue’s labels: line under Settings → Labels in the target repo.
  • Assign distinct colors (avoid all grey): e.g. #0052CC (blue, platform), #B60205 (red, security), #0E8A16 (green, tests), #5319E7 (purple, P1), #F9D0C4 (scope), #1D76DB (api), #BFD4F2 (docs) — pick a non-default palette so issues are scannable in the board.

Guidelines

  • Target ≥ 95% test coverage for new or materially changed code paths
  • Clear, linked documentation in-repo
  • Timeframe: 96 hours from assignment

Metadata

Metadata

Assignees

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions