qat-reporter 6.1.7 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5618ba12c5dfad947f4fd4fd08a179c8ff75188ea9a2ae9662b130fa2cb3627c
4
- data.tar.gz: fe0097a87bb54df10095a5642078b01cf71319dee8199bb620f86db1c0f45f6f
3
+ metadata.gz: 4772b5b5e87e182ac3c10af01ff0d4f6c1b9a35a36b39b0deb3977dfae3f279e
4
+ data.tar.gz: 0a200fcae3fb836ce04bcc903149949482e8103e4eb6251565803ad73190d6e9
5
5
  SHA512:
6
- metadata.gz: b76aca4f0beadacf9795bfff9b956958d8fa79896edb5d9ec826c5806d8a69f430d5c1636280cba82d4367916c446f3e4b14dd6d56895dabb11fd6d2a5ea5f26
7
- data.tar.gz: 44ff68d21f4e293386742ed3fd77fcf8603b1760e4f9a36c57eb2c395ba900bcdcb7f41ded4b4263a81ac0fcc524c9ebc62fb58549efc2cece47ceabf8fcb8e1
6
+ metadata.gz: 39216fdb5f7c3ef70f6de4680701bdc59c844e854d8ebbf9d6767655ed41087cb8d2674011b152cf581c41159bfbaf607e3c865f6c7074461ee114f7ce615780
7
+ data.tar.gz: 7c86e34f0a4853bce9301ce2afd48cdad535bdf04d7bc852645e6e528400dc82632b30e5926e085e84ca86934dd5552e9e33b1957780a029e21aab02dc3bb470
@@ -10,7 +10,7 @@ module QAT
10
10
  #@since 6.1.7
11
11
  class Json < ::Cucumber::Formatter::Json
12
12
  #@api private
13
- def embed *_
13
+ def attach *_
14
14
  end
15
15
  end
16
16
  end
@@ -5,7 +5,9 @@ require 'cucumber/formatter/duration_extractor'
5
5
  require 'json'
6
6
  require 'fileutils'
7
7
  require 'qat/logger'
8
+ require 'qat/formatter/helper'
8
9
  require 'qat/formatter/loggable'
10
+ require_relative '../../reporter/times'
9
11
 
10
12
  module QAT
11
13
  # Namespace for QAT Reporter
@@ -14,119 +16,126 @@ module QAT
14
16
  #@since 6.1.7
15
17
  module Formatter
16
18
  # Namespace for ReqCoverage formatter
17
- #@since 6.1.7
19
+ #@since 7.0.0
18
20
  class ReqCoverage
19
21
  include ::Cucumber::Formatter::Io
20
22
  include ::Cucumber::Formatter::Duration
21
23
  include QAT::Formatter::Loggable
22
24
  include QAT::Logger
23
-
24
- #@api private
25
- def initialize(runtime, path_or_io, options)
26
- @io = ensure_io(path_or_io)
27
- @options = options
28
- @test_results = []
29
-
30
- ensure_outputter 'ReqCoverage' unless options[:dry_run]
31
- end
32
-
33
- #@api private
34
- def before_feature(*_)
25
+ include QAT::Formatter::Helper
26
+
27
+
28
+ def initialize(config)
29
+ @config = config
30
+ @io = ensure_io(config.out_stream, config.error_stream)
31
+ ensure_outputter 'ReqCoverage' unless @config.dry_run?
32
+ @ast_lookup = ::Cucumber::Formatter::AstLookup.new(config)
33
+ @feature_hashes = []
34
+ config.on_event :test_case_started, &method(:on_test_case_started)
35
+ config.on_event :test_case_finished, &method(:on_test_case_finished)
36
+ config.on_event :test_run_finished, &method(:on_test_run_finished)
37
+ @test_results = []
35
38
  @feature_requirement_ids = []
36
- @test_requirement_ids = []
37
- @in_test_cases = false
38
- @row_counter = 0
39
- @flag_tag = nil
39
+ @test_requirement_ids = []
40
+ @row_counter = 0
41
+ @flag_tag = nil
40
42
  end
41
43
 
42
- #@api private
43
- def feature_name(*_)
44
- @in_test_cases = true
45
- end
46
44
 
47
45
  #@api private
48
46
  def tag_name(tag_name)
49
- @test_id = tag_name.to_s.split('#')[1] if tag_name.match(/@test#(\d+)/)
47
+ @test_id = tag_name.to_s.split('#')[1] if tag_name.match(/@test#(\d+)/)
50
48
  requirement_id = tag_name.to_s.split('#')[1] if tag_name.match(/@user_story#(\d+)/)
51
- if @in_test_cases
52
- @test_requirement_ids << requirement_id
53
- else
54
- @feature_requirement_ids << requirement_id
55
- end
49
+ @test_requirement_ids << requirement_id
56
50
  end
57
51
 
58
52
  #@api private
59
- def before_test_case(test_case)
60
- @current_scenario = test_case.source[1]
61
- unless @current_scenario.is_a?(::Cucumber::Core::Ast::ScenarioOutline)
62
- @test_id = nil
63
- @test_requirement_ids = []
53
+ def on_test_case_started(event)
54
+ return if @config.dry_run?
55
+ @row_number = nil
56
+ @examples = nil
57
+ test_case = event.test_case
58
+ build(test_case, @ast_lookup)
59
+ @test_id = nil
60
+ @test_requirement_ids = []
61
+ @scenario[:tags].each do |tag|
62
+ tag_name tag
64
63
  end
64
+
65
+
65
66
  end
66
67
 
67
- #@api private
68
- def after_test_case(_, status)
69
- test_status = if status.is_a? ::Cucumber::Core::Test::Result::Passed
70
- "passed"
71
- elsif status.is_a? ::Cucumber::Core::Test::Result::Failed
68
+ def on_test_case_finished event
69
+ return if @config.dry_run?
70
+ _test_case, result = *event.attributes
71
+ @current_feature = nil
72
+
73
+ test_status = if result.passed?
74
+ if QAT::Reporter.const_defined?('Times')
75
+ QAT::Reporter::Times.test_sla_status
76
+ else
77
+ "passed"
78
+ end
79
+ elsif result.failed?
72
80
  "failed"
73
81
  else
74
82
  "not_runned"
75
83
  end
76
84
 
77
- if @current_scenario.is_a? ::Cucumber::Core::Ast::ScenarioOutline
85
+ if @examples_values
78
86
  if @flag_tag == @test_id
79
87
  @row_counter += 1
80
88
  else
81
89
  @row_counter = 1
82
90
  end
83
-
84
- test_id = "#{@test_id}.#{@row_counter}".to_f
91
+ test_id = "#{@test_id}.#{@scenario[:id].split('').last}".to_f
85
92
  else
86
93
  @row_counter = 1
87
- test_id = @test_id.to_i
94
+ test_id = @test_id.to_i
88
95
  end
89
96
 
90
- duration = ::Cucumber::Formatter::DurationExtractor.new(status).result_duration
97
+ duration = ::Cucumber::Formatter::DurationExtractor.new(result).result_duration
91
98
  human_duration = format_duration(duration)
92
99
 
93
100
  test_result = {
94
- test: test_id,
95
- requirement: (@feature_requirement_ids + @test_requirement_ids).uniq.compact,
96
- status: test_status,
97
- duration: duration,
98
- human_duration: human_duration
101
+ test: test_id,
102
+ requirement: @test_requirement_ids.uniq.compact,
103
+ status: test_status,
104
+ duration: duration,
105
+ human_duration: human_duration
99
106
  }
100
107
 
101
108
  if test_result[:test]
102
109
  @test_results << test_result
103
110
 
104
111
  log.info({
105
- 'message' => 'test execution',
106
- '_test' => test_result[:test],
107
- '_requirement' => test_result[:requirement],
108
- '_status' => test_result[:status],
109
- '_duration' => duration,
110
- '_human_duration' => human_duration
112
+ 'message' => 'test execution',
113
+ '_test' => test_result[:test],
114
+ '_requirement' => test_result[:requirement],
115
+ '_status' => test_result[:status],
116
+ '_duration' => duration,
117
+ '_human_duration' => human_duration
111
118
  })
112
119
  end
113
120
 
114
- @test_requirement_ids = [] unless @current_scenario.is_a?(::Cucumber::Core::Ast::ScenarioOutline)
115
- @flag_tag = @test_id if @flag_tag != @test_id
121
+ @test_requirement_ids = [] if @examples_values
122
+ @flag_tag = @test_id if @flag_tag != @test_id
116
123
  end
117
124
 
118
- #@api private
119
- def after_features(*_)
125
+
126
+ def on_test_run_finished event
127
+ return if @config.dry_run?
120
128
  publish_result
129
+ @test_id = nil
130
+ @test_requirement_ids = []
121
131
  end
122
132
 
123
-
124
133
  private
125
134
 
126
135
  # Writes results to a JSON file
127
136
  def publish_result
128
137
  content = {
129
- results: @test_results
138
+ results: @test_results
130
139
  }
131
140
  @io.puts(JSON.pretty_generate(content))
132
141
  end
@@ -4,150 +4,118 @@ require 'cucumber/formatter/duration'
4
4
  require 'cucumber/formatter/duration_extractor'
5
5
  require 'json'
6
6
  require 'qat/logger'
7
+ require 'qat/formatter/helper'
7
8
  require 'qat/formatter/loggable'
8
- require_relative '../times'
9
+ require_relative '../../reporter/times'
10
+
9
11
 
10
12
  module QAT
11
- # Namespace for QAT Reporter
13
+ # Namespace for custom Cucumber formatters and helpers.
14
+ #@since 0.1.0
12
15
  module Reporter
13
- # Namespace for custom Cucumber formatters and helpers.
14
- #@since 6.1.7
15
16
  module Formatter
16
17
  # Namespace for Time Measurements formatter
17
- #@since 6.1.7
18
+ #@since 7.0.0
18
19
  class TimeMeasurements
19
20
  include ::Cucumber::Formatter::Io
20
21
  include ::Cucumber::Formatter::Duration
21
-
22
- def initialize(runtime, path_or_io, options)
23
- @io = ensure_io(path_or_io)
24
- @options = options
22
+ include QAT::Formatter::Loggable
23
+ include QAT::Logger
24
+ include QAT::Formatter::Helper
25
+
26
+
27
+ def initialize(config)
28
+ @config = config
29
+ @io = ensure_io(config.out_stream, config.error_stream)
30
+ @ast_lookup = ::Cucumber::Formatter::AstLookup.new(config)
31
+ @feature_hashes = []
32
+ config.on_event :test_case_started, &method(:on_test_case_started)
33
+ config.on_event :test_case_finished, &method(:on_test_case_finished)
34
+ config.on_event :test_run_finished, &method(:on_test_run_finished)
25
35
  @json_content = []
26
36
  end
27
37
 
28
- #@api private
29
- def before_feature(feature)
30
- @in_test_cases = false
31
- @current_feature = feature
32
- @current_feature_timestamp = Time.now.strftime("%FT%T%z")
33
- @outline_tags = []
34
- @current_feature_info = {
35
- feature: @current_feature,
36
- tags: [],
37
- timestamp: @current_feature_timestamp,
38
- scenarios: []
39
- }
40
-
41
- @outline_scenario_info = {
42
- name: [],
43
- tags: [],
44
- timestamp: [],
45
- test_runs: []
46
- }
47
- end
48
38
 
49
- #@api private
50
- def feature_name(*_)
51
- @in_test_cases = true
52
- end
39
+ def on_test_case_started event
40
+ return if @config.dry_run?
41
+ @row_number = nil
42
+ test_case = event.test_case
43
+ build(test_case, @ast_lookup)
53
44
 
54
- #@api private
55
- def tag_name(tag_name)
56
- @test_id = tag_name.to_s
57
- @current_feature_info[:tags] << tag_name unless @in_test_cases
58
-
59
- if @in_test_cases
60
- if @current_scenario.is_a?(::Cucumber::Core::Ast::ScenarioOutline)
61
- @outline_tags << tag_name
62
- else
63
- @current_scenario_info[:tags] << tag_name
64
- end
45
+ if @current_feature_info.nil?
46
+ @current_feature_timestamp = Time.now.strftime("%FT%T%z")
47
+ feature_body
48
+ elsif @current_feature_info.values.include?(@feature_hash[:name])
49
+ else
50
+ @current_feature_timestamp = Time.now.strftime("%FT%T%z")
51
+ process_scenarios
52
+ feature_body
65
53
  end
66
- end
67
54
 
68
- #@api private
69
- def before_test_case(test_case)
70
- @current_scenario = test_case.source[1]
71
- @current_scenario_timestamp = Time.now.strftime("%FT%T%z")
72
-
73
- unless @current_scenario.is_a?(::Cucumber::Core::Ast::ScenarioOutline)
74
- @current_scenario_info = {
75
- name: @current_scenario,
76
- tags: [],
77
- timestamp: @current_scenario_timestamp,
78
- test_runs: []
79
- }
80
- end
55
+ @current_scenario = @scenario
56
+ @current_scenario[:tags] = @current_scenario[:tags] - @feature_hash[:tags] if @feature_hash[:tags]
57
+ scenario_body
81
58
  end
82
59
 
83
- #@api private
84
- def before_outline_table(*_)
85
- @outline = true
86
- @outline_scenario_info = {
87
- name: @current_scenario,
88
- tags: [],
89
- timestamp: @current_scenario_timestamp,
90
- test_runs: []
91
- }
92
- end
60
+ def on_test_case_finished event
61
+ return if @config.dry_run?
62
+ _test_case, result = *event.attributes
63
+ @current_feature = nil
64
+ @current_feature_info[:scenarios] << @current_scenario_info
93
65
 
94
- #@api private
95
- def after_test_case(_, status)
96
66
  test_run_id = QAT[:current_test_run_id]
97
67
  measurements = QAT::Reporter::Times.get_measures rescue []
98
68
 
69
+ test_status = if result.passed?
70
+ if QAT::Reporter.const_defined?('Times')
71
+ QAT::Reporter::Times.test_sla_status
72
+ else
73
+ "passed"
74
+ end
75
+ elsif result.failed?
76
+ "failed"
77
+ else
78
+ "not_runned"
79
+ end
80
+
99
81
  test_run_info = {
100
- id: test_run_id,
101
- timestamp: QAT[:test_start_timestamp]&.strftime("%FT%T%z"),
102
- measurements: []
82
+ id: test_run_id,
83
+ test_status: test_status,
84
+ timestamp: QAT[:test_start_timestamp]&.strftime("%FT%T%z"),
85
+ measurements: []
103
86
  }
104
87
 
105
88
  measurements.each do |id, measure|
106
89
  if id
107
90
  minutes, seconds = measure[:duration].divmod(60)
108
91
  test_run_info[:measurements] << {
109
- id: id,
110
- name: measure[:name],
111
- timestamp: measure[:start].strftime("%FT%T%z"),
112
- time: {
113
- secs: measure[:duration],
114
- human: "#{minutes}m #{'%02.0f' % seconds}s"
115
- }
92
+ id: id,
93
+ name: measure[:name],
94
+ timestamp: measure[:start].strftime("%FT%T%z"),
95
+ time: {
96
+ secs: measure[:duration],
97
+ human: "#{minutes}m #{'%02.0f' % seconds}s"
98
+ },
99
+ sla: measure[:sla]
116
100
  }
117
101
  end
118
102
  end
119
103
 
120
- if @current_scenario.is_a?(::Cucumber::Core::Ast::ScenarioOutline)
121
- @outline_scenario_info[:test_runs] << test_run_info
122
- else
123
- @current_scenario_info[:test_runs] << test_run_info
124
- end
104
+ @current_scenario_info[:test_runs] << test_run_info
125
105
  end
126
106
 
127
- #@api private
128
- def after_examples_array(*_)
129
- @outline_scenario_info[:tags] = @outline_tags
130
- @current_feature_info[:scenarios] << @outline_scenario_info
131
- @outline = true
132
- @outline_tags = []
107
+ def on_test_run_finished event
108
+ return if @config.dry_run?
109
+ process_scenarios
110
+ @io.puts(JSON.pretty_generate(@json_content))
111
+ log.error @json_content
133
112
  end
134
113
 
135
- #@api private
136
- def after_feature_element(*_)
137
- #After outline run, here cucumber changes for non outline, flag needed for outlines scenarios
138
- if @outline == true
139
- @outline = false
140
- else
141
- @current_feature_info[:scenarios] << @current_scenario_info
142
- end
143
- @in_test_cases = true
144
- end
145
114
 
146
- #@api private
147
- def after_feature(*_)
148
- @indexes = []
115
+ def process_scenarios
116
+ @indexes = []
149
117
  @indexes_test_runs = []
150
- @scenarios = @current_feature_info[:scenarios]
118
+ @scenarios = @current_feature_info[:scenarios]
151
119
 
152
120
  @scenarios.each_with_index do |key, value|
153
121
  test_run = key[:test_runs]
@@ -174,17 +142,25 @@ module QAT
174
142
  @json_content << @current_feature_info unless @scenarios.empty?
175
143
  end
176
144
 
177
- #@api private
178
- def after_features(*_)
179
- publish_result
180
- end
181
145
 
182
- private
146
+ def feature_body
147
+ @current_feature_info = {
148
+ feature: @feature_hash[:name],
149
+ tags: @feature_hash[:tags],
150
+ timestamp: @current_feature_timestamp,
151
+ scenarios: []
152
+ }
153
+ end
183
154
 
184
- # Writes results to a JSON file
185
- def publish_result
186
- @io.puts(JSON.pretty_generate(@json_content))
155
+ def scenario_body
156
+ @current_scenario_info = {
157
+ name: @current_scenario[:name],
158
+ tags: @current_scenario[:tags],
159
+ timestamp: Time.now.strftime("%FT%T%z"),
160
+ test_runs: []
161
+ }
187
162
  end
163
+
188
164
  end
189
165
  end
190
166
  end
@@ -152,11 +152,20 @@ module QAT
152
152
 
153
153
  end_time = QAT["#{label}_end".to_sym] || Time.now
154
154
 
155
+ measure_duration = end_time.to_f - start_time.to_f
156
+
157
+ warn_sla, error_sla, status_sla = sla_info(label, measure_duration)
158
+
155
159
  list[label] = {
156
160
  name: measure_description(label),
157
161
  start: start_time,
158
162
  end: end_time,
159
- duration: end_time.to_f - start_time.to_f
163
+ duration: measure_duration,
164
+ sla: {
165
+ warn: warn_sla,
166
+ error: error_sla,
167
+ status: status_sla
168
+ }
160
169
  }
161
170
 
162
171
  list
@@ -167,25 +176,78 @@ module QAT
167
176
  duration = measure[:duration]
168
177
 
169
178
  {
170
- "message" => "partial time execution",
171
- "_test_id" => test_id,
172
- "_id" => id,
173
- "_name" => measure[:name],
174
- "_time" => {
175
- "secs" => duration,
176
- "human" => human_formatted_time(duration)
177
- },
178
- "_os" => {
179
- "name" => QAT[:os_name],
180
- "version" => QAT[:os_version]
181
- },
182
- "_browser" => {
183
- "name" => QAT[:browser_name],
184
- "version" => QAT[:browser_version]
185
- }
179
+ "message" => "partial time execution",
180
+ "_test_id" => test_id,
181
+ "_id" => id,
182
+ "_name" => measure[:name],
183
+ "_time" => {
184
+ "secs" => duration,
185
+ "human" => human_formatted_time(duration)
186
+ },
187
+ "_os" => {
188
+ "name" => QAT[:os_name],
189
+ "version" => QAT[:os_version]
190
+ },
191
+ "_browser" => {
192
+ "name" => QAT[:browser_name],
193
+ "version" => QAT[:browser_version]
194
+ }
186
195
  }.deep_compact
187
196
  end
188
197
 
198
+
199
+ def self.measure_description(key)
200
+ description = if QAT.configuration.dig(:qat, :reporter, :times, key).is_a?(Hash)
201
+ QAT.configuration.dig(:qat, :reporter, :times, key, :name)
202
+ else
203
+ QAT.configuration.dig(:qat, :reporter, :times, key)
204
+ end
205
+
206
+ raise NoLabelInConfig.new "No description was found in configuration file for key '#{key}'!" unless description
207
+ description
208
+ end
209
+
210
+ def self.sla_info(key, duration)
211
+ if QAT.configuration.dig(:qat, :reporter, :times, key).is_a?(Hash)
212
+ warn_sla = QAT.configuration.dig(:qat, :reporter, :times, key, :sla_warn)&.to_f
213
+ error_sla = QAT.configuration.dig(:qat, :reporter, :times, key, :sla_error)&.to_f
214
+ end
215
+
216
+ #If no measure end found, returns measure with status error
217
+ unless QAT["#{key}_end".to_sym]
218
+ return warn_sla, error_sla, "Error"
219
+ end
220
+
221
+ status = if error_sla && duration > error_sla
222
+ "Error"
223
+ elsif warn_sla && duration > warn_sla
224
+ "Warning"
225
+ else
226
+ "Passed"
227
+ end
228
+
229
+ return warn_sla, error_sla, status
230
+ end
231
+
232
+
233
+ def self.test_sla_status
234
+ measures = get_measures rescue []
235
+ status_results = []
236
+ measures&.each do |measure_key, info|
237
+ sla_status = info.dig(:sla, :status)
238
+ log.debug "SLA status for measure with key: #{measure_key} is '#{sla_status}'"
239
+ status_results << sla_status
240
+ end
241
+
242
+ if status_results.include? 'Error'
243
+ return "passed with SLA Error"
244
+ elsif status_results.include? 'Warning'
245
+ return "passed with SLA Warning"
246
+ else
247
+ return "passed"
248
+ end
249
+ end
250
+
189
251
  #No start time value error class
190
252
  class NoStartTimeError < StandardError
191
253
  end
@@ -195,14 +257,6 @@ module QAT
195
257
  #No label in yml configuration error class
196
258
  class NoLabelInConfig < StandardError
197
259
  end
198
-
199
- private
200
-
201
- def self.measure_description(key)
202
- description = QAT.configuration.dig(:qat, :reporter, :times, key)
203
- raise NoLabelInConfig.new "No description was found in configuration file for key '#{key}'!" unless description
204
- description
205
- end
206
260
  end
207
261
  end
208
262
  end
@@ -1,4 +1,3 @@
1
- warn "[WARN] DEPRECATED: QAT::Reporter::Times::Helpers will be removed in a 7.0 version, please use QAT::Reporter::Helpers::TimeFormat"
2
1
  require_relative '../helpers/time_format'
3
2
 
4
3
  module QAT
@@ -3,6 +3,6 @@ module QAT
3
3
  # Namespace for QAT Reporter
4
4
  module Reporter
5
5
  # Represents QAT Reporter's version
6
- VERSION = '6.1.7'
6
+ VERSION = '7.0.0'
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qat-reporter
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.7
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - QAT
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-11 00:00:00.000000000 Z
11
+ date: 2021-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: qat-cucumber
@@ -16,79 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '6.0'
19
+ version: 7.0.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '6.0'
26
+ version: 7.0.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: qat-logger
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '6.0'
33
+ version: 8.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '6.0'
40
+ version: 8.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: qat-core
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '6.0'
47
+ version: 8.0.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '6.0'
54
+ version: 8.0.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: qat-devel
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '6.0'
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 6.0.1
61
+ version: 8.0.0
65
62
  type: :development
66
63
  prerelease: false
67
64
  version_requirements: !ruby/object:Gem::Requirement
68
65
  requirements:
69
66
  - - "~>"
70
67
  - !ruby/object:Gem::Version
71
- version: '6.0'
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: 6.0.1
68
+ version: 8.0.0
75
69
  description: |2
76
70
  QAT Reporter is a collection of tool for generating test report information such as:
77
71
  - Requirement Coverage
72
+ - Time Measurements
78
73
  email: qatoolkit@readinessit.com
79
74
  executables: []
80
75
  extensions: []
81
76
  extra_rdoc_files: []
82
77
  files:
83
78
  - LICENSE
84
- - lib/qat/formatter/json.rb
85
- - lib/qat/formatter/req_coverage.rb
86
- - lib/qat/formatter/time_measurements.rb
87
79
  - lib/qat/reporter.rb
88
80
  - lib/qat/reporter/formatter/json.rb
89
81
  - lib/qat/reporter/formatter/req_coverage.rb
90
82
  - lib/qat/reporter/formatter/time_measurements.rb
91
- - lib/qat/reporter/formatters/ascii_table.rb
92
83
  - lib/qat/reporter/helpers.rb
93
84
  - lib/qat/reporter/helpers/ascii_table.rb
94
85
  - lib/qat/reporter/helpers/time_format.rb
@@ -110,14 +101,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
110
101
  requirements:
111
102
  - - "~>"
112
103
  - !ruby/object:Gem::Version
113
- version: '2.3'
104
+ version: '2.5'
114
105
  required_rubygems_version: !ruby/object:Gem::Requirement
115
106
  requirements:
116
107
  - - ">="
117
108
  - !ruby/object:Gem::Version
118
109
  version: '0'
119
110
  requirements: []
120
- rubygems_version: 3.0.6
111
+ rubygems_version: 3.0.8
121
112
  signing_key:
122
113
  specification_version: 4
123
114
  summary: Utility for Test Reports.
@@ -1,12 +0,0 @@
1
- warn "[WARN] DEPRECATED: QAT::Formatter::Json will be removed in a 7.0 version, please use QAT::Reporter::Formatter::Json"
2
- require_relative '../reporter/formatter/json'
3
-
4
- module QAT
5
- # Namespace for custom Cucumber formatters and helpers.
6
- #@since 0.1.0
7
- module Formatter
8
- # Namespace for Json formatter
9
- #@since 6.1.0
10
- Json = QAT::Reporter::Formatter::Json
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- warn "[WARN] DEPRECATED: QAT::Formatter::ReqCoverage will be removed in a 7.0 version, please use QAT::Reporter::Formatter::ReqCoverage"
2
- require_relative '../reporter/formatter/req_coverage'
3
-
4
- module QAT
5
- # Namespace for custom Cucumber formatters and helpers.
6
- #@since 0.1.0
7
- module Formatter
8
- # Namespace for ReqCoverage formatter
9
- #@since 1.0.0
10
- ReqCoverage = QAT::Reporter::Formatter::ReqCoverage
11
- end
12
- end
@@ -1,10 +0,0 @@
1
- warn "[WARN] DEPRECATED: QAT::Formatter::TimeMeasurements will be removed in a 7.0 version, please use QAT::Reporter::Formatter::TimeMeasurements"
2
- require_relative '../reporter/formatter/time_measurements'
3
-
4
- module QAT
5
- # Namespace for custom Cucumber formatters and helpers.
6
- #@since 0.1.0
7
- module Formatter
8
- TimeMeasurements = QAT::Reporter::Formatter::TimeMeasurements
9
- end
10
- end
@@ -1,14 +0,0 @@
1
- warn "[WARN] DEPRECATED: QAT::Reporter::Formatters::AsciiTable will be removed in a 7.0 version, please use QAT::Reporter::Helpers::AsciiTable"
2
- require_relative '../helpers/ascii_table'
3
-
4
- module QAT
5
- module Reporter
6
- # Namespace for custom Report output formatters
7
- #@since 3.1.0
8
- module Formatters
9
- # Namespace for AsciiTable formatter
10
- #@since 3.1.0
11
- AsciiTable = QAT::Reporter::Helpers::AsciiTable
12
- end
13
- end
14
- end