Module: Henitai::ConfigurationValidator

Defined in:
lib/henitai/configuration_validator.rb

Overview

rubocop:disable Metrics/ModuleLength Internal validator for configuration data loaded from YAML and CLI overrides.

Constant Summary collapse

VALID_TOP_LEVEL_KEYS =
%i[
  integration
  includes
  mutation
  coverage_criteria
  thresholds
  reporters
  reports_dir
  all_logs
  dashboard
  jobs
].freeze
VALID_MUTATION_KEYS =
%i[operators timeout ignore_patterns max_flaky_retries sampling].freeze
VALID_SAMPLING_KEYS =
%i[ratio strategy].freeze
VALID_COVERAGE_CRITERIA_KEYS =
%i[test_result timeout process_abort].freeze
VALID_THRESHOLDS_KEYS =
%i[high low].freeze
VALID_DASHBOARD_KEYS =
%i[project base_url].freeze
VALID_INTEGRATION_KEYS =
%i[name].freeze
VALID_OPERATORS =
%i[light full].freeze
VALIDATION_STEPS =
%i[
  validate_top_level_keys
  validate_integration
  validate_includes
  validate_jobs
  validate_reporters
  validate_reports_dir
  validate_all_logs
  validate_dashboard
  validate_mutation
  validate_coverage_criteria
  validate_thresholds
].freeze

Class Method Summary collapse

Class Method Details

.validate!(raw) ⇒ Object



40
41
42
43
# File 'lib/henitai/configuration_validator.rb', line 40

def self.validate!(raw)
  ensure_hash!(raw, "configuration")
  VALIDATION_STEPS.each { |step| send(step, raw) }
end