Class: GitlabQuality::TestTooling::TestMetricsExporter::Config

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#custom_metrics_procProc

A lambda that return hash with additional custom metrics

Returns:

  • (Proc)


75
76
77
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 75

def custom_metrics_proc
  @custom_metrics_proc ||= ->(_example) { {} }
end

#extra_rspec_metadata_keysArray<Symbol>

Extra rspec metadata keys to include in exported metrics

Returns:

  • (Array<Symbol>)


44
45
46
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 44

def 
  @extra_rspec_metadata_keys ||= []
end

#loggerLogger

Logger instance

Returns:

  • (Logger)


82
83
84
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 82

def logger
  @logger ||= Logger.new($stdout, level: Logger::INFO)
end

#observer_tokenObject

Returns the value of attribute observer_token.



22
23
24
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 22

def observer_token
  @observer_token
end

#observer_urlObject

Returns the value of attribute observer_url.



22
23
24
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 22

def observer_url
  @observer_url
end

#run_typeObject

Returns the value of attribute run_type.



22
23
24
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 22

def run_type
  @run_type
end

#skip_record_procProc

A lambda that determines whether to skip recording a test result

This is useful when you would want to skip initial failure when retrying specs is set up in a separate process and you want to avoid duplicate records

Returns:

  • (Proc)


61
62
63
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 61

def skip_record_proc
  @skip_record_proc ||= ->(_example) { false }
end

#spec_file_path_prefixString

Extra path prefix for constructing full file path within mono-repository setups

Returns:

  • (String)


51
52
53
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 51

def spec_file_path_prefix
  @spec_file_path_prefix ||= ""
end

#test_retried_procProc

A lambda that determines whether a test was retried or not

Returns:

  • (Proc)


68
69
70
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 68

def test_retried_proc
  @test_retried_proc ||= ->(_example) { false }
end

Class Method Details

.configurationObject



13
14
15
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 13

def configuration
  Config.instance
end

.configure {|configuration| ... } ⇒ Object

Yields:



17
18
19
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 17

def configure
  yield(configuration)
end

Instance Method Details

#observer_configured?Boolean

Whether observer export is configured

Export is considered enabled when all required attributes are set

Returns:

  • (Boolean)


37
38
39
# File 'lib/gitlab_quality/test_tooling/test_metrics_exporter/config.rb', line 37

def observer_configured?
  [observer_url, observer_token].none? { |value| value.nil? || value.to_s.empty? }
end