allure-ruby-commons 2.13.6.3 → 2.13.6.4

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: f6782a168ec07eb3daccfcb0513a9e40bd7da0db4ef59894d9b2ae5c2d299ae2
4
- data.tar.gz: 843b87b5733e14c8bbe2a4af21618c47e567d5c351755a22aa07c2ab5470a8a2
3
+ metadata.gz: a51c9949322455ac55cd973f942ba0392f51171fad89f23d0e16cbe16224014b
4
+ data.tar.gz: 7b4c8ccfca17187f553e9f5192a19fbe23dc84c780b73d057a29da9eed92ed61
5
5
  SHA512:
6
- metadata.gz: e6ed4a935fcd9de7bcadac3186f5c1f3f31d58fa3337a6c161496ec19104493368aaf7aa9a47d96062c50c2c65542397adc2fd00137564b8a858c13e26d3d001
7
- data.tar.gz: 34d541038f9e832cb7d012663676b8c08d20dc23cf1c0721cd848e20cb37350549a3dd12afa0c4969d004ea4ead82e7a3885d1f43ff9617ef6bba109b4e9bd6c
6
+ metadata.gz: e71a93d78c8efdfd477953644f58a1495fa6baca06592ddd5206c4abfc088d292a8f3a61ae72fe98d4db589144d4c0c8194a18a9e675cbecaeeb98d80265079b
7
+ data.tar.gz: 6d44b2fed79aa4258cfca49e4f0bc709f2aef144292fa6760191772eae4d4a4b763510f9ded50c8b146df635a44d80bf6725ac059843839f030ecd649553ad2c
@@ -3,6 +3,7 @@
3
3
 
4
4
  require "require_all"
5
5
  require "uuid"
6
+
6
7
  require_rel "allure_ruby_commons/**/*rb"
7
8
 
8
9
  # Namespace for classes that handle allure report generation and different framework adaptors
@@ -169,7 +170,7 @@ module Allure
169
170
  lifecycle.start_test_step(StepResult.new(name: name, stage: Stage::RUNNING))
170
171
  yield
171
172
  lifecycle.update_test_step { |step| step.status = Status::PASSED }
172
- rescue => e
173
+ rescue StandardError => e
173
174
  lifecycle.update_test_step do |step|
174
175
  step.status = ResultUtils.status(e)
175
176
  step.status_details = ResultUtils.status_details(e)
@@ -5,13 +5,13 @@ require "forwardable"
5
5
 
6
6
  module Allure
7
7
  # Main class for creating and writing allure results
8
- class AllureLifecycle
8
+ class AllureLifecycle # rubocop:disable Metrics/ClassLength
9
9
  extend Forwardable
10
10
 
11
11
  def initialize
12
12
  @test_context = []
13
13
  @step_context = []
14
- @logger = Logger.new(STDOUT, level: Config.instance.logging_level)
14
+ @logger = Logger.new($stdout, level: Config.instance.logging_level)
15
15
  @file_writer = FileWriter.new
16
16
  end
17
17
 
@@ -204,13 +204,13 @@ module Allure
204
204
  # @param [Boolean] test_case add attachment to current test case
205
205
  # @return [void]
206
206
  def add_attachment(name:, source:, type:, test_case: false)
207
- attachment = ResultUtils.prepare_attachment(name, type) || begin
208
- return logger.error { "Can't add attachment, unrecognized mime type: #{type}" }
209
- end
210
- executable_item = (test_case && @current_test_case) || current_executable
211
- executable_item&.attachments&.push(attachment) || begin
212
- return logger.error { "Can't add attachment, no test, step or fixture is running" }
213
- end
207
+ attachment = ResultUtils.prepare_attachment(name, type)
208
+ return logger.error { "Can't add attachment, unrecognized mime type: #{type}" } unless attachment
209
+
210
+ executable_item = test_case ? @current_test_case : current_executable
211
+ return logger.error { "Can't add attachment, no test, step or fixture is running" } unless executable_item
212
+
213
+ executable_item.attachments.push(attachment)
214
214
  logger.debug { "Adding attachment '#{name}' to '#{executable_item.name}'" }
215
215
  write_attachment(source, attachment)
216
216
  end
@@ -18,17 +18,14 @@ module Allure
18
18
  # @param [Allure::TestResult] test_result
19
19
  # @return [void]
20
20
  def write_test_result(test_result)
21
- write("#{test_result.uuid}#{TEST_RESULT_SUFFIX}", JSON.generate(test_result, max_nesting: false))
21
+ write("#{test_result.uuid}#{TEST_RESULT_SUFFIX}", Oj.dump(test_result))
22
22
  end
23
23
 
24
24
  # Write test result container
25
25
  # @param [Allure::TestResultContainer] test_container_result
26
26
  # @return [void]
27
27
  def write_test_result_container(test_container_result)
28
- write(
29
- "#{test_container_result.uuid}#{TEST_RESULT_CONTAINER_SUFFIX}",
30
- JSON.generate(test_container_result, max_nesting: false),
31
- )
28
+ write("#{test_container_result.uuid}#{TEST_RESULT_CONTAINER_SUFFIX}", Oj.dump(test_container_result))
32
29
  end
33
30
 
34
31
  # Write allure attachment file
@@ -55,7 +52,7 @@ module Allure
55
52
  if categories.is_a?(File)
56
53
  copy(categories.path, CATEGORIES_FILE)
57
54
  else
58
- write(CATEGORIES_FILE, categories.to_json)
55
+ write(CATEGORIES_FILE, Oj.dump(categories))
59
56
  end
60
57
  end
61
58
 
@@ -1,14 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "json"
3
+ require "oj"
4
4
 
5
5
  module Allure
6
6
  # General jsonable object implementation
7
7
  class JSONable
8
- # Return object has represantation
9
- # @param [Array<Object>] _options
8
+ Oj.default_options = { mode: :custom, use_to_hash: true, ascii_only: true }
9
+
10
+ # Return object hash represantation
10
11
  # @return [Hash]
11
- def as_json(*_options)
12
+ def to_hash
12
13
  instance_variables.each_with_object({}) do |var, map|
13
14
  key = camelcase(var.to_s.delete_prefix("@"))
14
15
  value = instance_variable_get(var)
@@ -16,13 +17,6 @@ module Allure
16
17
  end
17
18
  end
18
19
 
19
- # Convert object to json string
20
- # @param [Array<Object>] options
21
- # @return [String]
22
- def to_json(*options)
23
- as_json.to_json(*options)
24
- end
25
-
26
20
  # Object comparator
27
21
  # @param [JSONable] other
28
22
  # @return [Booelan]
metadata CHANGED
@@ -1,83 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: allure-ruby-commons
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.13.6.3
4
+ version: 2.13.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrejs Cunskis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-17 00:00:00.000000000 Z
11
+ date: 2020-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: uuid
14
+ name: mime-types
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.3'
19
+ version: '3.3'
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: '2.3'
26
+ version: '3.3'
27
27
  - !ruby/object:Gem::Dependency
28
- name: require_all
28
+ name: oj
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '2'
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '4'
33
+ version: '3.10'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
38
  - - ">="
42
39
  - !ruby/object:Gem::Version
43
- version: '2'
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '4'
40
+ version: '3.10'
47
41
  - !ruby/object:Gem::Dependency
48
- name: json
42
+ name: require_all
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - ">="
52
46
  - !ruby/object:Gem::Version
53
- version: '1.8'
47
+ version: '2'
54
48
  - - "<"
55
49
  - !ruby/object:Gem::Version
56
- version: '3'
50
+ version: '4'
57
51
  type: :runtime
58
52
  prerelease: false
59
53
  version_requirements: !ruby/object:Gem::Requirement
60
54
  requirements:
61
55
  - - ">="
62
56
  - !ruby/object:Gem::Version
63
- version: '1.8'
57
+ version: '2'
64
58
  - - "<"
65
59
  - !ruby/object:Gem::Version
66
- version: '3'
60
+ version: '4'
67
61
  - !ruby/object:Gem::Dependency
68
- name: mime-types
62
+ name: uuid
69
63
  requirement: !ruby/object:Gem::Requirement
70
64
  requirements:
71
- - - "~>"
65
+ - - ">="
72
66
  - !ruby/object:Gem::Version
73
- version: '3.3'
67
+ version: '2.3'
74
68
  type: :runtime
75
69
  prerelease: false
76
70
  version_requirements: !ruby/object:Gem::Requirement
77
71
  requirements:
78
- - - "~>"
72
+ - - ">="
79
73
  - !ruby/object:Gem::Version
80
- version: '3.3'
74
+ version: '2.3'
81
75
  description: Utilities allowing to implement allure result generation by other test
82
76
  frameworks
83
77
  email: andrejs.cunskis@gmail.com