Skip to content

[Task] — All 11 PredicateJudge SPI routing-condition matchers have ZERO test #6613

Description

@Aias00
  • severity: Critical; files (all under shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/condition/judge/): EqualsPredicateJudge.java:29, MatchPredicateJudge.java:31, RegexPredicateJudge.java:29, PathPatternPredicateJudge.java:34, ContainsPredicateJudge.java, StartsWithPredicateJudge.java, EndsWithPredicateJudge.java, BlankPredicateJudge.java, ExcludePredicateJudge.java, TimerAfterPredicateJudge.java, TimerBeforePredicateJudge.java
  • description: These 11 SPI classes decide whether a selector/rule matches an incoming request — i.e. they govern routing of all traffic. None is referenced by any test file (verified by content grep). RegexPredicateJudge is also the site of PERF-01 (per-request regex compile) and FUNC-C3 (TimerAfter/TimerBefore inconsistency) — yet the match logic itself is untested.
  • impact: Mis-routing regressions land silently.
  • suggested_fix: Add judge unit tests for match/no-match/edge cases for each.

Identified during the 2026-08-02 deep re-scan; full list in docs/scan2-2026-08-02/00-consolidated-critical-high.md.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions