Fix vulnerability location URLs

What does this MR do and why?

Fixes duplicated relative URL roots in vulnerability finding blob and raw links.

Uses project *_url helpers for ordinary project links while preserving path helper contracts and external submodule URLs. Same-instance submodule paths are handled without duplicating the relative URL root.

Regression coverage includes newly detected and previously existing policy violations, raw links, and submodules.

References

Closes #627630 (closed)

Screenshots or screen recordings

Not applicable. This change only affects backend-generated Markdown links.

How to set up and validate locally

  1. Run the affected presenter and policy violation detail specs:
    bundle exec rspec ee/spec/presenters/vulnerabilities/finding_presenter_spec.rb ee/spec/presenters/vulnerability_presenter_spec.rb ee/spec/presenters/security/finding_presenter_spec.rb ee/spec/lib/security/scan_result_policies/policy_violation_details_spec.rb
    Result: 119 examples, 0 failures.
  2. Run targeted RuboCop against the seven changed Ruby files. Result: no offenses.

MR acceptance checklist

Evaluated against the MR acceptance checklist.

Merge request reports

Loading
Loading