HomePhabricator

Refactor into rules based system

Description

Refactor into rules based system

Prepare for adding a third validator variant by refactoring the existing
system to favor composition over inheritance when reusing individual
tests.

  • Add a RulesMessageValidator that uses LineRule and CommitRule tests to validate a commit message.
  • Reimplement GerritMessageValidator and GitHubMessageValidator as RulesMessageValidator subclasses.
  • Add a ValidationFailure class to describe detected errors
  • Update MessageValidator to expect ValidationFailure responses

Bug: T339307

Details

Provenance
bd808Authored on Jun 29 2023, 10:50 PM
Parents
rICMV266daddd5880: gerrit: Use "subject" rather than "header"
Branches
Unknown
Tags
Unknown
ChangeId
None