allure-rspec 2.29.0 → 2.30.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: 1daf16ddce69a4fb3af5391c73174d82cbc0bad1c9eb22912596226147b8efaa
4
- data.tar.gz: 8c9bc6dbcaeeb59ab7d58497509c3e293b7233ee90bbdb75d6a3eaa911e6add6
3
+ metadata.gz: 82a2da0bee90e2db103b9df58113834a7ce3c5031e1200f38c896a0ca749f82e
4
+ data.tar.gz: 4d47410b77295618c92416d154744c4f4c0e75449bdb386fb6e05111bce38c60
5
5
  SHA512:
6
- metadata.gz: 5306867b27fcebe608ef909076281600db9edcb676ad362de1eae6ebbd25dca0400fbd9fca1f1b4b8f77801e52603d663b226a3263dca53536d9bf3a826cbebd
7
- data.tar.gz: ea381a2242110f77d3127a043c58ce7e6814a186d9a56a18ed274ebacd2fecc7f0e68085d7a9b31a73dddc86d82e01e285e6fc5f04b753e3961513fdf517eb61
6
+ metadata.gz: 7389d02f3f89d1f1b1b1689a25b31d9cabf89b1abb8000cf68407a6d8aef2d963bf518402d28f851aae1f190fe9bf6aec0b7cdcc1a08e87712a97bacb126dd25
7
+ data.tar.gz: 6546a3ff10044dfb8841f132d677071eb538ea14f0b7306be12d5c11d6dca6a85a972ae6179ac20d6a3803198f75204d011421e09453aef12f5c354575b54c21
data/README.md CHANGED
@@ -30,6 +30,12 @@ AllureRspec.configure do |config|
30
30
  config.logger = Logger.new($stdout, Logger::DEBUG)
31
31
  config.environment = "staging"
32
32
 
33
+ # labels added to every test result
34
+ config.global_labels = [
35
+ { name: "owner", value: "qa" },
36
+ { name: "tag", value: "global" }
37
+ ]
38
+
33
39
  # these are used for creating links to bugs or test cases where {} is replaced with keys of relevant items
34
40
  config.link_tms_pattern = "http://www.jira.com/browse/{}"
35
41
  config.link_issue_pattern = "http://www.jira.com/browse/{}"
@@ -44,6 +50,9 @@ AllureRspec.configure do |config|
44
50
  end
45
51
  ```
46
52
 
53
+ `global_labels` defaults to `[]`. Each entry is a hash with symbol keys `:name` and `:value`.
54
+ Labels are prepended to every completed test's labels without replacing test-specific labels, including those with the same name.
55
+
47
56
  ## Usage
48
57
 
49
58
  Via commandline arguments, simply add:
@@ -15,6 +15,8 @@ module AllureRspec
15
15
  pending: Allure::Status::SKIPPED,
16
16
  passed: Allure::Status::PASSED
17
17
  }.freeze
18
+ ANSI_ESCAPE_PATTERN = /\e\[(\d+)(?:;\d+)*m/
19
+ SUITE_HOOK_FAILURE_PATTERN = /\AAn error occurred in an? `(?:before|after)\(:suite\)` hook\.\z/
18
20
 
19
21
  RSpec::Core::Formatters.register(
20
22
  self,
@@ -23,7 +25,8 @@ module AllureRspec
23
25
  :example_group_started,
24
26
  :example_group_finished,
25
27
  :example_started,
26
- :example_finished
28
+ :example_finished,
29
+ :message
27
30
  )
28
31
 
29
32
  RSpec.configure do |config|
@@ -58,6 +61,7 @@ module AllureRspec
58
61
  # @return [void]
59
62
  def stop(_stop_notification)
60
63
  lifecycle.write_environment
64
+ lifecycle.write_globals
61
65
  end
62
66
 
63
67
  # Starts example group
@@ -92,6 +96,17 @@ module AllureRspec
92
96
  lifecycle.stop_test_container
93
97
  end
94
98
 
99
+ # Capture errors raised by before(:suite) and after(:suite) hooks
100
+ # @param [RSpec::Core::Notifications::MessageNotification] notification
101
+ # @return [void]
102
+ def message(notification)
103
+ formatted_error = notification.message.to_s.gsub(ANSI_ESCAPE_PATTERN, "").strip
104
+ first_line = formatted_error.lines.first&.chomp
105
+ return unless SUITE_HOOK_FAILURE_PATTERN.match?(first_line.to_s)
106
+
107
+ lifecycle.add_global_error(message: first_line, trace: formatted_error)
108
+ end
109
+
95
110
  private
96
111
 
97
112
  attr_reader :lifecycle, :allure_config
@@ -125,7 +140,7 @@ module AllureRspec
125
140
  test_case.stage = Allure::Stage::FINISHED
126
141
  test_case.status = status(result)
127
142
  test_case.status_details.message = status_detail.message
128
- test_case.status_details.trace = status_detail.trace&.gsub(/\e\[(\d+)(?:;\d+)*m/, "")
143
+ test_case.status_details.trace = status_detail.trace&.gsub(ANSI_ESCAPE_PATTERN, "")
129
144
  end
130
145
  end
131
146
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: allure-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.29.0
4
+ version: 2.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrejs Cunskis
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 2.29.0
18
+ version: 2.30.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 2.29.0
25
+ version: 2.30.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec-core
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  - - "<"
44
44
  - !ruby/object:Gem::Version
45
45
  version: '4'
46
- description: Cucumber adaptor to generate rich allure test reports
46
+ description: Cucumber adapter to generate rich allure test reports
47
47
  email: andrejs.cunskis@gmail.com
48
48
  executables: []
49
49
  extensions: []
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
82
  requirements: []
83
- rubygems_version: 3.6.9
83
+ rubygems_version: 4.0.20
84
84
  specification_version: 4
85
- summary: Allure rspec ruby adaptor
85
+ summary: Allure rspec ruby adapter
86
86
  test_files: []