hiptest-publisher 1.17.1 → 1.17.2

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: bb9264f92cca35b5f03a9a8afd4e1a6d0b8a8c2e230056e7baa64bcc54be7cfd
4
- data.tar.gz: 5992bbd158bea1cd29720b503289dc7d7cae278fbc81e707d8358bc6b482e61d
3
+ metadata.gz: 8d632b8a73b12b54938e97d2d157cba0b02ad7a847a5f8bcb2bc7836701c101e
4
+ data.tar.gz: ac80405c1c326e77f6f496b96dec9149f5e615dc1d420073186728ca33626e5c
5
5
  SHA512:
6
- metadata.gz: 254d8e8993651aa47b5105597d163ee8d6f93380b7622c0c8849edca11d8088f1f939b7421df798a940e96283e78fffe88276e29ab2c101cda1dcf60e5ec0051
7
- data.tar.gz: 69da0566d7aeebef7f814c9ae400b4bacb9e980fc11469a2efd067486db67a005be5a7bb3280d7dd8c4c4d3dbc1125e2a092d40701fbf336e9619bc0d21a25a0
6
+ metadata.gz: 3873177d8b598c93ed9336ba88dbb40a05688ce3c0112aed67803fb36059a1a4b44a16dd82794e1226d9a06f1f435e99927dddc7d1b155d69718bee0fa84874f
7
+ data.tar.gz: 8699eac4f6104a3712add4a04231a8504a5c85fd2a260cbc365770e638f7231870416c9687a597a68c519c16603e6f4da2c5ccc6bfbea51b5017753de4fe5174
@@ -121,7 +121,7 @@ module Hiptest
121
121
  answer = $stdin.gets.chomp.downcase.strip
122
122
  return ['y', 'yes'].include?(answer)
123
123
  else
124
- reporter.notify(:show_status_message, "File #{path} already exists, skipping. Use --force to overwrite it.", :warning)
124
+ reporter.warning_message("File #{path} already exists, skipping. Use --force to overwrite it.")
125
125
  return false
126
126
  end
127
127
  end
@@ -246,6 +246,20 @@ module Hiptest
246
246
  reporter.with_status_message "Posting #{@cli_options.push} to #{@cli_options.site}" do
247
247
  response = @client.push_results
248
248
  end
249
+ if valid_hiptest_api_response?(response)
250
+ report_imported_results(response)
251
+ else
252
+ report_hiptest_api_error(response)
253
+ end
254
+ rescue => err
255
+ reporter.dump_error(err)
256
+ end
257
+
258
+ def valid_hiptest_api_response?(response)
259
+ response.is_a?(Net::HTTPSuccess)
260
+ end
261
+
262
+ def report_imported_results(response)
249
263
  json = JSON.parse(response.body)
250
264
 
251
265
  reported_tests = json.has_key?('test_import') ? json['test_import'] : []
@@ -260,8 +274,15 @@ module Hiptest
260
274
  end
261
275
 
262
276
  display_empty_push_help if passed_count == 0
263
- rescue => err
264
- reporter.dump_error(err)
277
+ end
278
+
279
+ def report_hiptest_api_error(response)
280
+ reporter.failure_message("Hiptest API returned error #{response.code}")
281
+ if response.code == "422" && response.body.start_with?("Unknown format")
282
+ STDERR.print response.body.chomp + "\n"
283
+ elsif response.code == "404"
284
+ STDERR.print "Did you specify the project token of an existing Hiptest project?\n"
285
+ end
265
286
  end
266
287
 
267
288
  def display_empty_push_help
@@ -274,10 +295,10 @@ module Hiptest
274
295
  puts [
275
296
  "Possible causes for the lack of imported tests:",
276
297
  "",
277
- " * Did you run the following command before executing your tests ?",
298
+ " * Did you run the following command before executing your tests?",
278
299
  " #{enhanced_command}",
279
300
  "",
280
- " * Did you specify the correct push format ?",
301
+ " * Did you specify the correct push format?",
281
302
  " Use push_format=<format> in your config file or option --push-format=<format> in the command line",
282
303
  " Available formats are: cucumber-json, junit, nunit, robot, tap",
283
304
  ""
@@ -30,6 +30,18 @@ class Reporter
30
30
  notify(:show_status_message, message, status)
31
31
  end
32
32
 
33
+ def success_message(message)
34
+ notify(:show_status_message, message, :success)
35
+ end
36
+
37
+ def warning_message(message)
38
+ notify(:show_status_message, message, :warning)
39
+ end
40
+
41
+ def failure_message(message)
42
+ notify(:show_status_message, message, :failure)
43
+ end
44
+
33
45
  def notify(message, *args)
34
46
  @listeners.each do |listener|
35
47
  listener.send(message, *args)
@@ -90,7 +90,7 @@ module Hiptest
90
90
  is_argument: true
91
91
  }
92
92
  else
93
- call.chunks << {
93
+ call.chunks << {
94
94
  value: inline_parameter_name,
95
95
  is_argument: false
96
96
  } unless inline_parameter_name.nil?
@@ -241,7 +241,7 @@ module Hiptest
241
241
 
242
242
  def initialize(uid, arguments = [], annotation = nil)
243
243
  super()
244
- annotation = nil if annotation == ""
244
+ annotation = nil if annotation == ''
245
245
 
246
246
  @children = {
247
247
  uid: uid,
@@ -253,6 +253,14 @@ module Hiptest
253
253
  @chunks = []
254
254
  @extra_inlined_arguments = []
255
255
  end
256
+
257
+ def free_text_arg
258
+ children[:arguments].find(&:free_text?)
259
+ end
260
+
261
+ def datatable_arg
262
+ children[:arguments].find(&:datatable?)
263
+ end
256
264
  end
257
265
 
258
266
  class IfThen < Node
@@ -2,7 +2,6 @@ require 'hiptest-publisher/nodes'
2
2
 
3
3
  module Hiptest
4
4
  module GherkinAddon
5
-
6
5
  def walk_call(call)
7
6
  if call.free_text_arg
8
7
  @rendered_children[:free_text_arg] = rendered_freetext_arg(call)
@@ -15,6 +14,18 @@ module Hiptest
15
14
  super(call)
16
15
  end
17
16
 
17
+ def walk_uidcall(call)
18
+ if call.free_text_arg
19
+ @rendered_children[:free_text_arg] = rendered_freetext_arg(call)
20
+ end
21
+
22
+ if call.datatable_arg
23
+ @rendered_children[:datatable_arg] = rendered_datatable_arg(call)
24
+ end
25
+
26
+ super(call)
27
+ end
28
+
18
29
  def walk_folder(folder)
19
30
  @rendered_children[:ancestor_tags] = ancestor_tags(folder)
20
31
 
@@ -32,8 +43,8 @@ module Hiptest
32
43
  end
33
44
 
34
45
  def ancestor_tags(folder)
35
- ancestor_tags = folder.ancestors.map {|f| f.children[:tags]}.flatten.uniq
36
- ancestor_tags.map {|t| Hiptest::Renderer.render(t, @context)}
46
+ ancestor_tags = folder.ancestors.map { |f| f.children[:tags] }.flatten.uniq
47
+ ancestor_tags.map { |t| Hiptest::Renderer.render(t, @context) }
37
48
  end
38
49
  end
39
50
  end
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiptest-publisher
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.1
4
+ version: 1.17.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiptest R&D
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-12 00:00:00.000000000 Z
11
+ date: 2018-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 0.7.5
20
17
  - - "~>"
21
18
  - !ruby/object:Gem::Version
22
19
  version: '0.7'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.7.5
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 0.7.5
30
27
  - - "~>"
31
28
  - !ruby/object:Gem::Version
32
29
  version: '0.7'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.7.5
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: parseconfig
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 1.0.4
40
37
  - - "~>"
41
38
  - !ruby/object:Gem::Version
42
39
  version: '1.0'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 1.0.4
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 1.0.4
50
47
  - - "~>"
51
48
  - !ruby/object:Gem::Version
52
49
  version: '1.0'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 1.0.4
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: i18n
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -198,22 +198,22 @@ dependencies:
198
198
  name: codeclimate-test-reporter
199
199
  requirement: !ruby/object:Gem::Requirement
200
200
  requirements:
201
- - - ">="
202
- - !ruby/object:Gem::Version
203
- version: 0.4.6
204
201
  - - "~>"
205
202
  - !ruby/object:Gem::Version
206
203
  version: '0.4'
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ version: 0.4.6
207
207
  type: :development
208
208
  prerelease: false
209
209
  version_requirements: !ruby/object:Gem::Requirement
210
210
  requirements:
211
- - - ">="
212
- - !ruby/object:Gem::Version
213
- version: 0.4.6
214
211
  - - "~>"
215
212
  - !ruby/object:Gem::Version
216
213
  version: '0.4'
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: 0.4.6
217
217
  description: Provides a command-line tool that generates Java, Python or Ruby code
218
218
  to run the tests.
219
219
  email: contact@hiptest.com
@@ -665,7 +665,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
665
665
  version: '0'
666
666
  requirements: []
667
667
  rubyforge_project:
668
- rubygems_version: 2.7.7
668
+ rubygems_version: 2.7.8
669
669
  signing_key:
670
670
  specification_version: 4
671
671
  summary: Export your tests from Hiptest into executable tests.