bugsnag-maze-runner 8.18.0 → 8.19.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: d5bb41a44da9d3ae31ba57de0e3ad76f8fe4f86e22ffe2dc4f34d3f46a748286
4
- data.tar.gz: 9ef9e1ca936d290eae90ebe4c515ef605adedc1cfb4de783d65177dcd6e48710
3
+ metadata.gz: 93d611bbf91ae8051121f172f519e1be4cd9bbedf841391f859fc865206c1898
4
+ data.tar.gz: 2c7e18e24ed92d79c054417c51fe6926d8548e20b2dcd1f82dd7813c48a15c2e
5
5
  SHA512:
6
- metadata.gz: 862fa83eac1fb95705a57e934788f0e6fa989b7bd6a0cd48da3ac07b5e6284571ebe8a748e31419168ee5cf96587a9141a1f0810d702facb815cfe70475ab4ce
7
- data.tar.gz: 061ed8fc01e2266d4befa7b0931f28b8906ccca82355824b3858fa7f02dd672e0e07855551a740afba9bb8634fdf636667b89d49f31b2ebb4153c335b1999eb5
6
+ metadata.gz: ae3fd32b6e99aaa18ccfe7420bc63085d85667305fc4c6a84de16428d3c99a27119f9fa465cc1a83db37ed85c19bb744ddb7c75e7838ef857da7012123ce79d7
7
+ data.tar.gz: 2c81d7717b76b1285970e6a2e3c6dd2952f657c9f0fb2d9b3f53ee49cde7513bb4d3217c9b682368f5d251354c0d421e08ef63109d4074a97b4ebc28bd4b996f
@@ -95,8 +95,8 @@ InstallPlugin do |config|
95
95
  # Add step logging
96
96
  config.filters << Maze::Plugins::LoggingScenariosPlugin.new(config)
97
97
 
98
- # TODO: Reporting of test failures as errors deactivated pending PLAT-10963
99
- #config.filters << Maze::Plugins::BugsnagReportingPlugin.new(config)
98
+ # Add bugsnag failed scenario reporting only if ENV['MAZE_SCENARIO_BUGSNAG_API_KEY'] is present
99
+ config.filters << Maze::Plugins::BugsnagReportingPlugin.new(config) unless ENV['MAZE_SCENARIO_BUGSNAG_API_KEY'].nil?
100
100
  end
101
101
 
102
102
  # Before each scenario
@@ -11,7 +11,6 @@ module Maze
11
11
  Bugsnag.configure do |config|
12
12
  config.api_key = ENV['MAZE_BUGSNAG_API_KEY']
13
13
  config.app_version = Maze::VERSION
14
- config.discard_classes << 'Test::Unit::AssertionFailedError'
15
14
  config.add_metadata(:'test driver', {
16
15
  'driver type': Maze.driver.class,
17
16
  'device farm': Maze.config.farm,
@@ -32,6 +31,7 @@ module Maze
32
31
  metadata['job url'] = ENV['BUILDKITE_BUILD_URL'] + "#" + ENV['BUILDKITE_JOB_ID']
33
32
  end
34
33
  end
34
+ config.middleware.use(AssertErrorMiddleware)
35
35
  config.add_metadata(:'buildkite', metadata)
36
36
  config.project_root = Dir.pwd
37
37
  end
@@ -45,5 +45,27 @@ module Maze
45
45
  end
46
46
  end
47
47
  end
48
+
49
+ class AssertErrorMiddleware
50
+ IGNORE_CLASS_NAME = 'Test::Unit::AssertionFailedError'
51
+
52
+ # @param middleware [#call] The next middleware to call
53
+ def initialize(middleware)
54
+ @middleware = middleware
55
+ end
56
+
57
+ def call(report)
58
+ # Only ignore automated notifies with assertion errors
59
+ automated = report.unhandled
60
+
61
+ class_match = report.raw_exceptions.any? do |ex|
62
+ ex.class.name.eql?(IGNORE_CLASS_NAME)
63
+ end
64
+
65
+ report.ignore! if automated && class_match
66
+
67
+ @middleware.call(report)
68
+ end
69
+ end
48
70
  end
49
71
  end
@@ -42,7 +42,7 @@ module Maze
42
42
  default: true
43
43
 
44
44
  opt Option::BUGSNAG,
45
- 'Enables reporting to Bugsnag on scenario failure (requires MAZE_BUGSNAG_API_KEY)',
45
+ 'Enables reporting to Bugsnag on scenario failure (requires MAZE_BUGSNAG_API_KEY for errors, MAZE_SCENARIO_BUGSNAG_API_KEY for test failures)',
46
46
  type: :boolean,
47
47
  short: :none,
48
48
  default: true
@@ -25,6 +25,9 @@ module Maze
25
25
  next unless event.test_case.eql?(test_case) && event.result.failed?
26
26
 
27
27
  Bugsnag.notify(event.result.exception) do |bsg_event|
28
+
29
+ bsg_event.api_key = ENV['MAZE_SCENARIO_BUGSNAG_API_KEY']
30
+
28
31
  unless @last_test_step.nil?
29
32
 
30
33
  repo = ENV['BUILDKITE_PIPELINE_SLUG']
data/lib/maze.rb CHANGED
@@ -7,7 +7,7 @@ require_relative 'maze/timers'
7
7
  # Glues the various parts of MazeRunner together that need to be accessed globally,
8
8
  # providing an alternative to the proliferation of global variables or singletons.
9
9
  module Maze
10
- VERSION = '8.18.0'
10
+ VERSION = '8.19.0'
11
11
 
12
12
  class << self
13
13
  attr_accessor :check, :driver, :internal_hooks, :mode, :start_time, :dynamic_retry, :public_address,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugsnag-maze-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.18.0
4
+ version: 8.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Kirkland
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-26 00:00:00.000000000 Z
11
+ date: 2024-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -454,11 +454,11 @@ files:
454
454
  - lib/maze/wait.rb
455
455
  - lib/utils/deep_merge.rb
456
456
  - lib/utils/selenium_money_patch.rb
457
- homepage:
457
+ homepage:
458
458
  licenses:
459
459
  - MIT
460
460
  metadata: {}
461
- post_install_message:
461
+ post_install_message:
462
462
  rdoc_options: []
463
463
  require_paths:
464
464
  - lib
@@ -474,7 +474,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
474
474
  version: '0'
475
475
  requirements: []
476
476
  rubygems_version: 3.1.6
477
- signing_key:
477
+ signing_key:
478
478
  specification_version: 4
479
479
  summary: Bugsnag API request validation harness
480
480
  test_files: []