parallel_report_portal 2.1.1 → 2.3.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: 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+