allure-ruby-commons 2.13.6.3 → 2.13.6.4

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: 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