Class: GitlabQuality::TestTooling::TestResults::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab_quality/test_tooling/test_results/builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(file_glob:, token: nil, project: nil, ref: 'master') ⇒ Builder

Returns a new instance of Builder.



7
8
9
10
11
12
# File 'lib/gitlab_quality/test_tooling/test_results/builder.rb', line 7

def initialize(file_glob:, token: nil, project: nil, ref: 'master')
  @file_glob = file_glob
  @token = token
  @project = project
  @ref = ref
end

Instance Method Details

#test_results_per_fileObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/gitlab_quality/test_tooling/test_results/builder.rb', line 14

def test_results_per_file
  Dir.glob(file_glob).each do |path|
    extension = File.extname(path)

    test_results =
      case extension
      when '.json'
        TestResults::JsonTestResults.new(path: path, token: token, project: project, ref: ref)
      when '.xml'
        TestResults::JUnitTestResults.new(path: path, token: token, project: project, ref: ref)
      else
        raise "Unknown extension #{extension}"
      end

    yield test_results
  end
end