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 +4 -4
- data/lib/qat/reporter/formatter/json.rb +1 -1
- data/lib/qat/reporter/formatter/req_coverage.rb +68 -59
- data/lib/qat/reporter/formatter/time_measurements.rb +89 -113
- data/lib/qat/reporter/times.rb +79 -25
- data/lib/qat/reporter/times/helpers.rb +0 -1
- data/lib/qat/reporter/version.rb +1 -1
- metadata +13 -22
- data/lib/qat/formatter/json.rb +0 -12
- data/lib/qat/formatter/req_coverage.rb +0 -12
- data/lib/qat/formatter/time_measurements.rb +0 -10
- data/lib/qat/reporter/formatters/ascii_table.rb +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4772b5b5e87e182ac3c10af01ff0d4f6c1b9a35a36b39b0deb3977dfae3f279e
|
4
|
+
data.tar.gz: 0a200fcae3fb836ce04bcc903149949482e8103e4eb6251565803ad73190d6e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39216fdb5f7c3ef70f6de4680701bdc59c844e854d8ebbf9d6767655ed41087cb8d2674011b152cf581c41159bfbaf607e3c865f6c7074461ee114f7ce615780
|
7
|
+
data.tar.gz: 7c86e34f0a4853bce9301ce2afd48cdad535bdf04d7bc852645e6e528400dc82632b30e5926e085e84ca86934dd5552e9e33b1957780a029e21aab02dc3bb470
|
@@ -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
|
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
|
-
|
25
|
-
|
26
|
-
|
27
|
-
@
|
28
|
-
@
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
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
|
-
@
|
38
|
-
@
|
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
|
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
|
-
|
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
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
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
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
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 @
|
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
|
94
|
+
test_id = @test_id.to_i
|
88
95
|
end
|
89
96
|
|
90
|
-
duration
|
97
|
+
duration = ::Cucumber::Formatter::DurationExtractor.new(result).result_duration
|
91
98
|
human_duration = format_duration(duration)
|
92
99
|
|
93
100
|
test_result = {
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
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
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
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 = []
|
115
|
-
@flag_tag
|
121
|
+
@test_requirement_ids = [] if @examples_values
|
122
|
+
@flag_tag = @test_id if @flag_tag != @test_id
|
116
123
|
end
|
117
124
|
|
118
|
-
|
119
|
-
def
|
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
|
-
|
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 '
|
9
|
+
require_relative '../../reporter/times'
|
10
|
+
|
9
11
|
|
10
12
|
module QAT
|
11
|
-
# Namespace for
|
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
|
18
|
+
#@since 7.0.0
|
18
19
|
class TimeMeasurements
|
19
20
|
include ::Cucumber::Formatter::Io
|
20
21
|
include ::Cucumber::Formatter::Duration
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
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
|
-
|
50
|
-
|
51
|
-
@
|
52
|
-
|
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
|
-
|
55
|
-
|
56
|
-
|
57
|
-
@current_feature_info[:
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
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
|
-
|
69
|
-
|
70
|
-
|
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
|
-
|
84
|
-
|
85
|
-
|
86
|
-
@
|
87
|
-
|
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
|
-
|
101
|
-
|
102
|
-
|
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
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
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
|
-
|
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
|
-
|
128
|
-
|
129
|
-
|
130
|
-
@
|
131
|
-
@
|
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
|
-
|
147
|
-
|
148
|
-
@indexes = []
|
115
|
+
def process_scenarios
|
116
|
+
@indexes = []
|
149
117
|
@indexes_test_runs = []
|
150
|
-
@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
|
-
|
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
|
-
|
185
|
-
|
186
|
-
|
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
|
data/lib/qat/reporter/times.rb
CHANGED
@@ -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:
|
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
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
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
|
data/lib/qat/reporter/version.rb
CHANGED
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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.
|
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.
|
111
|
+
rubygems_version: 3.0.8
|
121
112
|
signing_key:
|
122
113
|
specification_version: 4
|
123
114
|
summary: Utility for Test Reports.
|
data/lib/qat/formatter/json.rb
DELETED
@@ -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
|