parallel_report_portal 2.1.1 → 2.3.0

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: 10a0ede4e1da6f5fc4788775483996e7ecf4a21009b06bfbbec5b49593c623bc
4
- data.tar.gz: 8a0f3966ac4134f96e4a18e42e4b779943425d5d7cf9947dfc6afa10ee376859
3
+ metadata.gz: 35cc50dee2f24a1533a8ef831c0cd1977fc36c6fd9c6cdb5ccdd4a73c8022cc2
4
+ data.tar.gz: fa3c3fbe565ac7e1aa5b728a6fe73f401d84c4b327eebe83a4f1af6697d6fda0
5
5
  SHA512:
6
- metadata.gz: 380772393a3450a86df43444caa69e09b93d5b9b88a66ea658adc0baac40b064fe74e299cdec0dbf99c299a295c2d550914040ae87a65d82458c801e9f94ca2d
7
- data.tar.gz: 5950fe72eb47bf2c195621d94faac14cfbb7a17b73aeae16f02a952b01a475f86e6a0901a8113ad7f00dd9d5081f5b162fd51266424cf5b7d6070b65162d3a5c
6
+ metadata.gz: 8b26b53f1e989cf4e2179e6361be41b783ca692d739aa7bdabaab50b9599c4e5378fa05b1fb9920bde748bdff56ef99a0afb4f4431b23329ac69b83db81ea057
7
+ data.tar.gz: c0cc62184f810e2bd53119e7115e29be3c014d707f8bce610c825a466d356337a0c694d4dae6e14b87f137f136136ae1056aceec0f6a7e590b35a59dedc79961
data/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --require spec_helper
2
+ --format documentation
@@ -2,7 +2,7 @@ require 'logger'
2
2
  require 'tempfile'
3
3
 
4
4
  module ParallelReportPortal
5
- # A collection of methods for communicating with the ReportPortal
5
+ # A collection of methods for communicating with the ReportPortal
6
6
  # REST interface.
7
7
  module HTTP
8
8
 
@@ -10,16 +10,16 @@ module ParallelReportPortal
10
10
  @@logger = Logger.new(STDOUT)
11
11
  @@logger.level = Logger::ERROR
12
12
 
13
- # Construct the Report Portal project URL (as a string) based
13
+ # Construct the Report Portal project URL (as a string) based
14
14
  # on the config settings.
15
- #
15
+ #
16
16
  # @return [String] URL the report portal base URL
17
17
  def url
18
18
  "#{ParallelReportPortal.configuration.endpoint}/#{ParallelReportPortal.configuration.project}"
19
19
  end
20
20
 
21
21
  # Helper method for constructing the +Bearer+ header
22
- #
22
+ #
23
23
  # @return [String] header the bearer header value
24
24
  def authorization_header
25
25
  "Bearer #{ParallelReportPortal.configuration.uuid}"
@@ -28,7 +28,7 @@ module ParallelReportPortal
28
28
  # Get a preconstructed Faraday HTTP connection
29
29
  # which has the endpont and headers ready populated.
30
30
  # This object is memoized.
31
- #
31
+ #
32
32
  # @return [Faraday::Connection] connection the HTTP connection object
33
33
  def http_connection
34
34
  @http_connection ||= Faraday.new(
@@ -49,7 +49,7 @@ module ParallelReportPortal
49
49
  # Get a preconstructed Faraday HTTP multipart connection
50
50
  # which has the endpont and headers ready populated.
51
51
  # This object is memoized.
52
- #
52
+ #
53
53
  # @return [Faraday::Connection] connection the HTTP connection object
54
54
  def http_multipart_connection
55
55
  @http_multipart_connection ||= Faraday.new(
@@ -74,10 +74,10 @@ module ParallelReportPortal
74
74
  def req_launch_started(time)
75
75
  resp = http_connection.post('launch') do |req|
76
76
  req.body = {
77
- name: ParallelReportPortal.configuration.launch,
78
- start_time: time,
79
- tags: ParallelReportPortal.configuration.tags,
80
- description: ParallelReportPortal.configuration.description,
77
+ name: ParallelReportPortal.configuration.launch,
78
+ start_time: time,
79
+ tags: ParallelReportPortal.configuration.tags,
80
+ description: ParallelReportPortal.configuration.description,
81
81
  mode: (ParallelReportPortal.configuration.debug ? 'DEBUG' : 'DEFAULT' ),
82
82
  attributes: ParallelReportPortal.configuration.attributes
83
83
  }.to_json
@@ -88,7 +88,7 @@ module ParallelReportPortal
88
88
  @@logger.error("Launch failed with response code #{resp.status} -- message #{resp.body}")
89
89
  end
90
90
  end
91
-
91
+
92
92
  # Send a request to Report Portal to finish a launch.
93
93
  # It will bubble up any Faraday connection exceptions.
94
94
  def req_launch_finished(launch_id, time)
@@ -96,10 +96,10 @@ module ParallelReportPortal
96
96
  req.body = { end_time: time }.to_json
97
97
  end
98
98
  end
99
-
99
+
100
100
  # Send a request to ReportPortal to start a feature.
101
101
  # It will bubble up any Faraday connection exceptions.
102
- #
102
+ #
103
103
  # @return [String] id the UUID of the feature
104
104
  def req_feature_started(launch_id, parent_id, feature, time)
105
105
  description = if feature.description
@@ -116,9 +116,9 @@ module ParallelReportPortal
116
116
  description,
117
117
  time )
118
118
  end
119
-
119
+
120
120
  # Sends a request to Report Portal to add an item into its hierarchy.
121
- #
121
+ #
122
122
  # @return [String] uuid the UUID of the newly created child
123
123
  def req_hierarchy(launch_id, name, parent, type, tags, description, time )
124
124
  resource = 'item'
@@ -134,23 +134,23 @@ module ParallelReportPortal
134
134
  attributes: tags
135
135
  }.to_json
136
136
  end
137
-
137
+
138
138
  if resp.success?
139
139
  JSON.parse(resp.body)['id']
140
140
  else
141
141
  @@logger.warn("Starting a heirarchy failed with response code #{resp.status} -- message #{resp.body}")
142
142
  end
143
143
  end
144
-
144
+
145
145
  # Send a request to Report Portal that a feature has completed.
146
146
  def req_feature_finished(feature_id, time)
147
147
  ParallelReportPortal.http_connection.put("item/#{feature_id}") do |req|
148
148
  req.body = { end_time: time }.to_json
149
149
  end
150
150
  end
151
-
151
+
152
152
  # Send a request to ReportPortal to start a test case.
153
- #
153
+ #
154
154
  # @return [String] uuid the UUID of the test case
155
155
  def req_test_case_started(launch_id, feature_id, test_case, time)
156
156
  resp = ParallelReportPortal.http_connection.post("item/#{feature_id}") do |req|
@@ -176,7 +176,7 @@ module ParallelReportPortal
176
176
  @@logger.warn("Starting a test case failed with response code #{resp.status} -- message #{resp.body}")
177
177
  end
178
178
  end
179
-
179
+
180
180
  # Request that the test case be finished
181
181
  def req_test_case_finished(test_case_id, status, time)
182
182
  resp = ParallelReportPortal.http_connection.put("item/#{test_case_id}") do |req|
@@ -186,8 +186,8 @@ module ParallelReportPortal
186
186
  }.to_json
187
187
  end
188
188
  end
189
-
190
-
189
+
190
+
191
191
  # Request that Report Portal records a log record
192
192
  def req_log(test_case_id, detail, level, time)
193
193
  resp = ParallelReportPortal.http_connection.post('log') do |req|
@@ -202,19 +202,26 @@ module ParallelReportPortal
202
202
 
203
203
 
204
204
  # Request that Report Portal attach a file to the test case.
205
- #
205
+ #
206
206
  # @param status [String] the status level of the log, e.g. info, warn
207
207
  # @param path [String] the fully qualified path of the file to attach
208
208
  # @param label [String] a label to add to the attachment, defaults to the filename
209
209
  # @param time [Integer] the time in milliseconds for the attachment
210
210
  # @param mime_type [String] the mimetype of the attachment
211
- def send_file(status, path, label = nil, time = ParallelReportPortal.clock, mime_type = 'image/png')
211
+ def send_file(
212
+ status,
213
+ path,
214
+ label = nil,
215
+ time = ParallelReportPortal.clock,
216
+ mime_type = 'image/png',
217
+ scenario_id = nil
218
+ )
212
219
  File.open(File.realpath(path), 'rb') do |file|
213
220
  label ||= File.basename(file)
214
221
 
215
- # where did @test_case_id come from? ok, I know where it came from but this
222
+ # where did @test_case_id come from? ok, I know where it came from but this
216
223
  # really should be factored out of here and state handled better
217
- json = { level: status, message: label, item_id: @test_case_id, time: time, file: { name: File.basename(file) } }
224
+ json = { level: status, message: label, item_id: scenario_id || @test_case_id, time: time, file: { name: File.basename(file) } }
218
225
 
219
226
  json_file = Tempfile.new
220
227
  json_file << [json].to_json
@@ -1,3 +1,3 @@
1
1
  module ParallelReportPortal
2
- VERSION = "2.1.1"
2
+ VERSION = "2.3.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallel_report_portal
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nigel Brookes-Thomas
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-03-01 00:00:00.000000000 Z
12
+ date: 2022-08-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: appraisal
@@ -234,7 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
234
  - !ruby/object:Gem::Version
235
235
  version: '0'
236
236
  requirements: []
237
- rubygems_version: 3.2.3
237
+ rubygems_version: 3.3.7
238
238
  signing_key:
239
239
  specification_version: 4
240
240
  summary: Run Cucumber Tests in parallel and with Cucumber 3 and 4+