qat-reporter 6.1.8 → 7.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e62e2b531b292abcd00cf449d28537c267fc63781eb88eceb25b133c3e31c93e
4
- data.tar.gz: 487e465338c489d8621468c932727dbf1f2a4686b6d6eb2220b02c02a25fd1f4
3
+ metadata.gz: 65c51ac7481e2da49a37c5c81cb04be497e731575d54c07dcde1046dd690e60b
4
+ data.tar.gz: 6ea4d7c669f4e2e76c1cf15c9a901d7132a368517a39c967d8e9863fe2caad9a
5
5
  SHA512:
6
- metadata.gz: 978f6cf11fee264a100e7ff78fc1f38d4a71b8d625bb8e9116412d72f885d8324152ef049518d7ee918678b025082382f06beecb60e2d3314ee507fd2c337e8c
7
- data.tar.gz: 355b86c40eb3fb4e61f7334efa9f1639b0296ab86c4aef5b2d8b0ae6b64c31a2f118974492d2717299793d20e28f8239fe2f184d762bbf33748c5d158275d70e
6
+ metadata.gz: 2b18fbdd0c9a4594a9a93c97d1a76b04f849bebc9ac69084314659fea7dd4ceeebf67cb9b9ca34899ac98e85e129b98642fb337958336d37412246ee0f1b58d1
7
+ data.tar.gz: d3eb57ba65ad274ec7a95b60cbbd11b222934dbc5826efe542a3f86355488692673bfaf81c8575a15201e9e4490f1b5634e0d913ccbf1b5fc4bb1c420297ce08
@@ -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,117 @@ 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))
133
111
  end
134
112
 
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
113
 
146
- #@api private
147
- def after_feature(*_)
148
- @indexes = []
114
+ def process_scenarios
115
+ @indexes = []
149
116
  @indexes_test_runs = []
150
- @scenarios = @current_feature_info[:scenarios]
117
+ @scenarios = @current_feature_info[:scenarios]
151
118
 
152
119
  @scenarios.each_with_index do |key, value|
153
120
  test_run = key[:test_runs]
@@ -174,17 +141,25 @@ module QAT
174
141
  @json_content << @current_feature_info unless @scenarios.empty?
175
142
  end
176
143
 
177
- #@api private
178
- def after_features(*_)
179
- publish_result
180
- end
181
144
 
182
- private
145
+ def feature_body
146
+ @current_feature_info = {
147
+ feature: @feature_hash[:name],
148
+ tags: @feature_hash[:tags],
149
+ timestamp: @current_feature_timestamp,
150
+ scenarios: []
151
+ }
152
+ end
183
153
 
184
- # Writes results to a JSON file
185
- def publish_result
186
- @io.puts(JSON.pretty_generate(@json_content))
154
+ def scenario_body
155
+ @current_scenario_info = {
156
+ name: @current_scenario[:name],
157
+ tags: @current_scenario[:tags],
158
+ timestamp: Time.now.strftime("%FT%T%z"),
159
+ test_runs: []
160
+ }
187
161
  end
162
+
188
163
  end
189
164
  end
190
165
  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.8'
6
+ VERSION = '7.0.1'
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.8
4
+ version: 7.0.1
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-19 00:00:00.000000000 Z
11
+ date: 2021-05-07 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