blob: 9d56e001c2f850f81eaae8433a8009e48cfdb1c1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# frozen_string_literal: true
module Gitlab
module Ci
module Parsers
module Sbom
module Validators
class CyclonedxSchemaValidator
SCHEMA_PATH = Rails.root.join('app', 'validators', 'json_schemas', 'cyclonedx_report.json').freeze
def initialize(report_data)
@report_data = report_data
end
def valid?
errors.empty?
end
def errors
@errors ||= pretty_errors
end
private
def raw_errors
JSONSchemer.schema(SCHEMA_PATH).validate(@report_data)
end
def pretty_errors
raw_errors.map { |error| JSONSchemer::Errors.pretty(error) }
end
end
end
end
end
end
end
|