Skip to content

RestWrite.js auth and validation branches survive boolean negation under mutation testing #10643

Description

@fohara

New Feature / Enhancement Checklist

Current Limitation

While mutation-testing this repo (I'm building a tool in this space), I ran the jasmine suite (with a live mongod, 9.10.0-alpha.2 tree) against a 200-mutant sample. The suite killed 191 of 200, which is one of the strongest results I've measured, and every kill came from a real test failure.

All 9 survivors cluster in src/RestWrite.js, and all are boolean negations, meaning the guard can be inverted and the full suite still passes:

  • :549, :1910, :1914, :1918 — the auth-provider handling branches. These four also survived an independent earlier sample, so they're stable gaps rather than sampling noise.
  • :665, :699, :706, :868, :1457 — validation and session-handling guards in the same file.

Each survivor was re-run against the entire suite to confirm it's a genuine gap rather than a targeting artifact.

Feature / Enhancement Description

RestWrite is a hot path, so a small set of tests exercising those branch outcomes (particularly the auth-provider chain around :1910-:1918) would close most of the file's mutation surface. Happy to share the exact mutants or turn any of these into a test PR if that's welcome. No action needed otherwise: 95.5% with survivors this localized is an excellent showing!

Example Use Case

  1. Invert one of the listed guards (for example the :1910 auth-provider branch).
  2. Run the full jasmine suite.
  3. The suite passes, so a regression on that branch outcome would ship undetected.

Alternatives / Workarounds

None needed; this is a test-strength observation, not a product defect.

3rd Party References

n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions