bugsnag 6.12.2 → 6.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/.buildkite/pipeline.yml +470 -0
  3. data/.rubocop_todo.yml +1 -1
  4. data/CHANGELOG.md +12 -0
  5. data/CONTRIBUTING.md +1 -9
  6. data/Gemfile +11 -6
  7. data/TESTING.md +81 -0
  8. data/VERSION +1 -1
  9. data/docker-compose.yml +46 -0
  10. data/dockerfiles/Dockerfile.jruby-unit-tests +13 -0
  11. data/dockerfiles/Dockerfile.ruby-maze-runner +26 -0
  12. data/dockerfiles/Dockerfile.ruby-unit-tests +12 -0
  13. data/features/delayed_job.feature +6 -22
  14. data/features/fixtures/delayed_job/Dockerfile +2 -4
  15. data/features/fixtures/delayed_job/app/Gemfile +1 -1
  16. data/features/fixtures/delayed_job/app/Rakefile +18 -0
  17. data/features/fixtures/docker-compose.yml +28 -40
  18. data/features/fixtures/expected_breadcrumbs/active_job.json +9 -0
  19. data/features/fixtures/expected_breadcrumbs/mongo_failed.json +15 -0
  20. data/features/fixtures/expected_breadcrumbs/mongo_filtered_request.json +15 -0
  21. data/features/fixtures/expected_breadcrumbs/mongo_filtered_result.json +15 -0
  22. data/features/fixtures/expected_breadcrumbs/mongo_success.json +14 -0
  23. data/features/fixtures/expected_breadcrumbs/request.json +13 -0
  24. data/features/fixtures/expected_breadcrumbs/sql_with_bindings.json +12 -0
  25. data/features/fixtures/expected_breadcrumbs/sql_without_bindings.json +11 -0
  26. data/features/fixtures/plain/Dockerfile +2 -2
  27. data/features/fixtures/plain/app/app.rb +1 -3
  28. data/features/fixtures/plain/app/delivery/fork_threadpool.rb +3 -1
  29. data/features/fixtures/plain/app/unhandled/{Interrupt.rb → interrupt.rb} +0 -0
  30. data/features/fixtures/rack1/Dockerfile +2 -2
  31. data/features/fixtures/rack2/Dockerfile +2 -2
  32. data/features/fixtures/rails3/Dockerfile +2 -2
  33. data/features/fixtures/rails3/app/Gemfile +4 -0
  34. data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +1 -1
  35. data/features/fixtures/rails4/Dockerfile +2 -5
  36. data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +1 -1
  37. data/features/fixtures/rails5/Dockerfile +2 -2
  38. data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +1 -1
  39. data/features/fixtures/rails6/Dockerfile +2 -2
  40. data/features/fixtures/rails6/app/Gemfile +3 -2
  41. data/features/fixtures/rails6/app/app/controllers/mongo_controller.rb +22 -0
  42. data/features/fixtures/rails6/app/app/models/mongo_model.rb +6 -0
  43. data/features/fixtures/rails6/app/config/environments/development.rb +2 -0
  44. data/features/fixtures/rails6/app/config/environments/production.rb +1 -0
  45. data/features/fixtures/rails6/app/config/environments/rails_env.rb +1 -0
  46. data/features/fixtures/rails6/app/config/environments/test.rb +1 -0
  47. data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +1 -1
  48. data/features/fixtures/rails6/app/config/mongoid.yml +23 -0
  49. data/features/fixtures/rails6/app/config/routes.rb +4 -0
  50. data/features/fixtures/resque/Dockerfile +2 -2
  51. data/features/fixtures/sidekiq/Dockerfile +5 -7
  52. data/features/fixtures/sidekiq/app/Gemfile +2 -1
  53. data/features/fixtures/sidekiq/app/Rakefile.rb +14 -0
  54. data/features/fixtures/sinatra1/Dockerfile +2 -2
  55. data/features/fixtures/sinatra2/Dockerfile +2 -2
  56. data/features/plain_features/add_tab.feature +24 -97
  57. data/features/plain_features/app_type.feature +6 -25
  58. data/features/plain_features/app_version.feature +6 -25
  59. data/features/plain_features/auto_notify.feature +4 -20
  60. data/features/plain_features/delivery.feature +12 -60
  61. data/features/plain_features/exception_data.feature +24 -94
  62. data/features/plain_features/filters.feature +9 -43
  63. data/features/plain_features/handled_errors.feature +16 -78
  64. data/features/plain_features/ignore_classes.feature +5 -23
  65. data/features/plain_features/ignore_report.feature +6 -24
  66. data/features/plain_features/proxies.feature +13 -56
  67. data/features/plain_features/release_stages.feature +9 -40
  68. data/features/plain_features/report_api_key.feature +9 -35
  69. data/features/plain_features/report_severity.feature +8 -35
  70. data/features/plain_features/report_stack_frames.feature +24 -92
  71. data/features/plain_features/report_user.feature +23 -96
  72. data/features/plain_features/unhandled_errors.feature +17 -88
  73. data/features/rails_features/api_key.feature +12 -62
  74. data/features/rails_features/app_type.feature +13 -62
  75. data/features/rails_features/app_version.feature +19 -86
  76. data/features/rails_features/auto_capture_sessions.feature +31 -120
  77. data/features/rails_features/auto_notify.feature +28 -113
  78. data/features/rails_features/before_notify.feature +18 -89
  79. data/features/rails_features/breadcrumbs.feature +40 -147
  80. data/features/rails_features/handled.feature +18 -88
  81. data/features/rails_features/ignore_classes.feature +12 -55
  82. data/features/rails_features/meta_data_filters.feature +6 -34
  83. data/features/rails_features/mongo_breadcrumbs.feature +22 -105
  84. data/features/rails_features/project_root.feature +19 -90
  85. data/features/rails_features/release_stage.feature +20 -88
  86. data/features/rails_features/send_code.feature +13 -59
  87. data/features/rails_features/send_environment.feature +7 -35
  88. data/features/rails_features/unhandled.feature +6 -33
  89. data/features/rails_features/user_info.feature +27 -68
  90. data/features/sidekiq.feature +12 -79
  91. data/features/steps/ruby_notifier_steps.rb +59 -15
  92. data/features/support/env.rb +12 -45
  93. data/lib/bugsnag/cleaner.rb +2 -3
  94. data/lib/bugsnag/configuration.rb +12 -0
  95. data/lib/bugsnag/stacktrace.rb +1 -4
  96. data/spec/configuration_spec.rb +11 -0
  97. data/spec/fixtures/apps/rails-initializer-config/Gemfile +5 -1
  98. data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +5 -1
  99. data/spec/fixtures/apps/rails-no-config/Gemfile +5 -1
  100. data/spec/integrations/logger_spec.rb +1 -1
  101. data/spec/integrations/rake_spec.rb +1 -1
  102. data/spec/stacktrace_spec.rb +39 -0
  103. metadata +21 -5
  104. data/.travis.yml +0 -122
  105. data/features/plain_features/api_key.feature +0 -25
@@ -1,5 +1,5 @@
1
- ARG RUBY_VERSION
2
- FROM ruby:$RUBY_VERSION
1
+ ARG RUBY_TEST_VERSION
2
+ FROM ruby:$RUBY_TEST_VERSION
3
3
 
4
4
  WORKDIR /bugsnag
5
5
  COPY temp-bugsnag-lib ./
@@ -1,58 +1,26 @@
1
1
  Feature: Plain add tab to metadata
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I configure the bugsnag endpoint
6
-
7
3
  Scenario Outline: Metadata can be added to a report using add_tab
8
- Given I set environment variable "RUBY_VERSION" to "<ruby version>"
9
- And I set environment variable "CALLBACK_INITIATOR" to "<initiator>"
10
- And I have built the service "plain-ruby"
11
- And I run the service "plain-ruby" with the command "bundle exec ruby report_modification/add_tab.rb"
12
- And I wait for 1 second
13
- Then I should receive a request
14
- And the request used the "Ruby Bugsnag Notifier" notifier
15
- And the request used payload v4 headers
16
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
4
+ Given I set environment variable "CALLBACK_INITIATOR" to "<initiator>"
5
+ When I run the service "plain-ruby" with the command "bundle exec ruby report_modification/add_tab.rb"
6
+ And I wait to receive a request
7
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
17
8
  And the event "metaData.additional_metadata.foo" equals "foo"
18
9
  And the event "metaData.additional_metadata.bar.0" equals "b"
19
10
  And the event "metaData.additional_metadata.bar.1" equals "a"
20
11
  And the event "metaData.additional_metadata.bar.2" equals "r"
21
12
 
22
13
  Examples:
23
- | ruby version | initiator |
24
- | 1.9.3 | handled_before_notify |
25
- | 1.9.3 | handled_block |
26
- | 1.9.3 | unhandled_before_notify |
27
- | 2.0 | handled_before_notify |
28
- | 2.0 | handled_block |
29
- | 2.0 | unhandled_before_notify |
30
- | 2.1 | handled_before_notify |
31
- | 2.1 | handled_block |
32
- | 2.1 | unhandled_before_notify |
33
- | 2.2 | handled_before_notify |
34
- | 2.2 | handled_block |
35
- | 2.2 | unhandled_before_notify |
36
- | 2.3 | handled_before_notify |
37
- | 2.3 | handled_block |
38
- | 2.3 | unhandled_before_notify |
39
- | 2.4 | handled_before_notify |
40
- | 2.4 | handled_block |
41
- | 2.4 | unhandled_before_notify |
42
- | 2.5 | handled_before_notify |
43
- | 2.5 | handled_block |
44
- | 2.5 | unhandled_before_notify |
14
+ | initiator |
15
+ | handled_before_notify |
16
+ | handled_block |
17
+ | unhandled_before_notify |
45
18
 
46
19
  Scenario Outline: Metadata can be added to an existing tab using add_tab
47
- Given I set environment variable "RUBY_VERSION" to "<ruby version>"
48
- And I set environment variable "CALLBACK_INITIATOR" to "<initiator>"
49
- And I have built the service "plain-ruby"
50
- And I run the service "plain-ruby" with the command "bundle exec ruby report_modification/add_tab_existing.rb"
51
- And I wait for 1 second
52
- Then I should receive a request
53
- And the request used the "Ruby Bugsnag Notifier" notifier
54
- And the request used payload v4 headers
55
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
20
+ Given I set environment variable "CALLBACK_INITIATOR" to "<initiator>"
21
+ When I run the service "plain-ruby" with the command "bundle exec ruby report_modification/add_tab_existing.rb"
22
+ And I wait to receive a request
23
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
56
24
  And the event "metaData.additional_metadata.foo" equals "foo"
57
25
  And the event "metaData.additional_metadata.bar.0" equals "b"
58
26
  And the event "metaData.additional_metadata.bar.1" equals "a"
@@ -61,62 +29,21 @@ Scenario Outline: Metadata can be added to an existing tab using add_tab
61
29
  And the event "metaData.additional_metadata.foobar.then" equals "bar"
62
30
 
63
31
  Examples:
64
- | ruby version | initiator |
65
- | 1.9.3 | handled_before_notify |
66
- | 1.9.3 | handled_block |
67
- | 1.9.3 | unhandled_before_notify |
68
- | 2.0 | handled_before_notify |
69
- | 2.0 | handled_block |
70
- | 2.0 | unhandled_before_notify |
71
- | 2.1 | handled_before_notify |
72
- | 2.1 | handled_block |
73
- | 2.1 | unhandled_before_notify |
74
- | 2.2 | handled_before_notify |
75
- | 2.2 | handled_block |
76
- | 2.2 | unhandled_before_notify |
77
- | 2.3 | handled_before_notify |
78
- | 2.3 | handled_block |
79
- | 2.3 | unhandled_before_notify |
80
- | 2.4 | handled_before_notify |
81
- | 2.4 | handled_block |
82
- | 2.4 | unhandled_before_notify |
83
- | 2.5 | handled_before_notify |
84
- | 2.5 | handled_block |
85
- | 2.5 | unhandled_before_notify |
32
+ | initiator |
33
+ | handled_before_notify |
34
+ | handled_block |
35
+ | unhandled_before_notify |
86
36
 
87
37
  Scenario Outline: Metadata can be overwritten using add_tab
88
- Given I set environment variable "RUBY_VERSION" to "<ruby version>"
89
- And I set environment variable "CALLBACK_INITIATOR" to "<initiator>"
90
- And I have built the service "plain-ruby"
91
- And I run the service "plain-ruby" with the command "bundle exec ruby report_modification/add_tab_override.rb"
92
- And I wait for 1 second
93
- Then I should receive a request
94
- And the request used the "Ruby Bugsnag Notifier" notifier
95
- And the request used payload v4 headers
96
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
38
+ Given I set environment variable "CALLBACK_INITIATOR" to "<initiator>"
39
+ When I run the service "plain-ruby" with the command "bundle exec ruby report_modification/add_tab_override.rb"
40
+ And I wait to receive a request
41
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
97
42
  And the event "metaData.additional_metadata.foo" equals "foo"
98
43
  And the event "metaData.additional_metadata.bar" equals "bar"
99
44
 
100
45
  Examples:
101
- | ruby version | initiator |
102
- | 1.9.3 | handled_before_notify |
103
- | 1.9.3 | handled_block |
104
- | 1.9.3 | unhandled_before_notify |
105
- | 2.0 | handled_before_notify |
106
- | 2.0 | handled_block |
107
- | 2.0 | unhandled_before_notify |
108
- | 2.1 | handled_before_notify |
109
- | 2.1 | handled_block |
110
- | 2.1 | unhandled_before_notify |
111
- | 2.2 | handled_before_notify |
112
- | 2.2 | handled_block |
113
- | 2.2 | unhandled_before_notify |
114
- | 2.3 | handled_before_notify |
115
- | 2.3 | handled_block |
116
- | 2.3 | unhandled_before_notify |
117
- | 2.4 | handled_before_notify |
118
- | 2.4 | handled_block |
119
- | 2.4 | unhandled_before_notify |
120
- | 2.5 | handled_before_notify |
121
- | 2.5 | handled_block |
122
- | 2.5 | unhandled_before_notify |
46
+ | initiator |
47
+ | handled_before_notify |
48
+ | handled_block |
49
+ | unhandled_before_notify |
@@ -1,27 +1,8 @@
1
1
  Feature: App type configuration option
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I configure the bugsnag endpoint
6
-
7
- Scenario Outline: The App type configuration option can be set
8
- Given I set environment variable "RUBY_VERSION" to "<ruby version>"
9
- And I set environment variable "BUGSNAG_APP_TYPE" to "test_app"
10
- And I have built the service "plain-ruby"
11
- And I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_handled.rb"
12
- And I wait for 1 second
13
- Then I should receive a request
14
- And the request used the "Ruby Bugsnag Notifier" notifier
15
- And the request used payload v4 headers
16
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
17
- And the event "app.type" equals "test_app"
18
-
19
- Examples:
20
- | ruby version |
21
- | 1.9.3 |
22
- | 2.0 |
23
- | 2.1 |
24
- | 2.2 |
25
- | 2.3 |
26
- | 2.4 |
27
- | 2.5 |
3
+ Scenario: The App type configuration option can be set
4
+ Given I set environment variable "BUGSNAG_APP_TYPE" to "test_app"
5
+ When I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_handled.rb"
6
+ And I wait to receive a request
7
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
8
+ And the event "app.type" equals "test_app"
@@ -1,27 +1,8 @@
1
1
  Feature: App version configuration option
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I configure the bugsnag endpoint
6
-
7
- Scenario Outline: The App version configuration option can be set
8
- Given I set environment variable "RUBY_VERSION" to "<ruby version>"
9
- And I set environment variable "BUGSNAG_APP_VERSION" to "9.9.8"
10
- And I have built the service "plain-ruby"
11
- And I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_handled.rb"
12
- And I wait for 1 second
13
- Then I should receive a request
14
- And the request used the "Ruby Bugsnag Notifier" notifier
15
- And the request used payload v4 headers
16
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
17
- And the event "app.version" equals "9.9.8"
18
-
19
- Examples:
20
- | ruby version |
21
- | 1.9.3 |
22
- | 2.0 |
23
- | 2.1 |
24
- | 2.2 |
25
- | 2.3 |
26
- | 2.4 |
27
- | 2.5 |
3
+ Scenario: The App version configuration option can be set
4
+ Given I set environment variable "BUGSNAG_APP_VERSION" to "9.9.8"
5
+ When I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_handled.rb"
6
+ And I wait to receive a request
7
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
8
+ And the event "app.version" equals "9.9.8"
@@ -1,23 +1,7 @@
1
1
  Feature: Auto notify configuration option
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I configure the bugsnag endpoint
6
-
7
- Scenario Outline: When Auto-notify is false notifications are not sent
8
- Given I set environment variable "RUBY_VERSION" to "<ruby version>"
9
- And I set environment variable "BUGSNAG_AUTO_NOTIFY" to "false"
10
- And I have built the service "plain-ruby"
11
- And I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_unhandled.rb"
3
+ Scenario: When Auto-notify is false notifications are not sent
4
+ Given I set environment variable "BUGSNAG_AUTO_NOTIFY" to "false"
5
+ When I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_unhandled.rb"
12
6
  And I wait for 1 second
13
- Then I should receive 0 requests
14
-
15
- Examples:
16
- | ruby version |
17
- | 1.9.3 |
18
- | 2.0 |
19
- | 2.1 |
20
- | 2.2 |
21
- | 2.3 |
22
- | 2.4 |
23
- | 2.5 |
7
+ Then I should receive no requests
@@ -1,68 +1,20 @@
1
1
  Feature: delivery_method configuration option
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I configure the bugsnag endpoint
6
-
7
- Scenario Outline: When the delivery_method is set to :synchronous
8
- Given I set environment variable "RUBY_VERSION" to "<ruby version>"
9
- And I have built the service "plain-ruby"
10
- And I run the service "plain-ruby" with the command "bundle exec ruby delivery/synchronous.rb"
11
- And I wait for 1 second
12
- Then I should receive a request
13
- And the request used the "Ruby Bugsnag Notifier" notifier
14
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
15
- And the exception "errorClass" equals "RuntimeError"
3
+ Scenario: When the delivery_method is set to :synchronous
4
+ When I run the service "plain-ruby" with the command "bundle exec ruby delivery/synchronous.rb"
5
+ And I wait to receive a request
6
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
16
7
  And the event "metaData.config" matches the JSON fixture in "features/fixtures/plain/json/delivery_synchronous.json"
17
8
 
18
- Examples:
19
- | ruby version |
20
- | 1.9.3 |
21
- | 2.0 |
22
- | 2.1 |
23
- | 2.2 |
24
- | 2.3 |
25
- | 2.4 |
26
- | 2.5 |
27
-
28
- Scenario Outline: When the delivery_method is set to :thread_queue
29
- Given I set environment variable "RUBY_VERSION" to "<ruby version>"
30
- And I have built the service "plain-ruby"
31
- And I run the service "plain-ruby" with the command "bundle exec ruby delivery/threadpool.rb"
32
- And I wait for 1 second
33
- Then I should receive a request
34
- And the request used the "Ruby Bugsnag Notifier" notifier
35
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
36
- And the exception "errorClass" equals "RuntimeError"
9
+ Scenario: When the delivery_method is set to :thread_queue
10
+ When I run the service "plain-ruby" with the command "bundle exec ruby delivery/threadpool.rb"
11
+ And I wait to receive a request
12
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
37
13
  And the event "metaData.config" matches the JSON fixture in "features/fixtures/plain/json/delivery_threadpool.json"
38
14
 
39
- Examples:
40
- | ruby version |
41
- | 1.9.3 |
42
- | 2.0 |
43
- | 2.1 |
44
- | 2.2 |
45
- | 2.3 |
46
- | 2.4 |
47
- | 2.5 |
48
-
49
- Scenario Outline: When the delivery_method is set to :thread_queue in a fork
50
- Given I set environment variable "RUBY_VERSION" to "<ruby version>"
51
- And I have built the service "plain-ruby"
52
- And I run the service "plain-ruby" with the command "bundle exec ruby delivery/fork_threadpool.rb"
53
- And I wait for 1 second
54
- Then I should receive 2 requests
55
- And the request used the "Ruby Bugsnag Notifier" notifier
56
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
15
+ Scenario: When the delivery_method is set to :thread_queue in a fork
16
+ When I run the service "plain-ruby" with the command "bundle exec ruby delivery/fork_threadpool.rb"
17
+ And I wait to receive 2 requests
18
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
57
19
  And the exception "errorClass" equals "RuntimeError"
58
20
  And the event "metaData.config" matches the JSON fixture in "features/fixtures/plain/json/delivery_fork.json"
59
-
60
- Examples:
61
- | ruby version |
62
- | 1.9.3 |
63
- | 2.0 |
64
- | 2.1 |
65
- | 2.2 |
66
- | 2.3 |
67
- | 2.4 |
68
- | 2.5 |
@@ -1,120 +1,50 @@
1
1
  Feature: Plain exception data
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I configure the bugsnag endpoint
6
-
7
3
  Scenario Outline: An error has built in meta-data
8
- And I set environment variable "RUBY_VERSION" to "<ruby version>"
9
- And I have built the service "plain-ruby"
10
- And I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_meta_data.rb"
11
- And I wait for 1 second
12
- Then I should receive a request
13
- And the request used the "Ruby Bugsnag Notifier" notifier
14
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
4
+ When I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_meta_data.rb"
5
+ And I wait to receive a request
6
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
15
7
  And the exception "errorClass" equals "CustomError"
16
8
  And the event "metaData.exception.exception_type" equals "FATAL"
17
9
  And the event "metaData.exception.exception_base" equals "RuntimeError"
18
10
 
19
11
  Examples:
20
- | ruby version | state |
21
- | 1.9.3 | unhandled |
22
- | 1.9.3 | handled |
23
- | 2.0 | unhandled |
24
- | 2.0 | handled |
25
- | 2.1 | unhandled |
26
- | 2.1 | handled |
27
- | 2.2 | unhandled |
28
- | 2.2 | handled |
29
- | 2.3 | unhandled |
30
- | 2.3 | handled |
31
- | 2.4 | unhandled |
32
- | 2.4 | handled |
33
- | 2.5 | unhandled |
34
- | 2.5 | handled |
12
+ | state |
13
+ | unhandled |
14
+ | handled |
35
15
 
36
16
  Scenario Outline: An error has built in context
37
- And I set environment variable "RUBY_VERSION" to "<ruby version>"
38
- And I have built the service "plain-ruby"
39
- And I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_context.rb"
40
- And I wait for 1 second
41
- Then I should receive a request
42
- And the request used the "Ruby Bugsnag Notifier" notifier
43
- And the request used payload v4 headers
44
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
17
+ When I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_context.rb"
18
+ And I wait to receive a request
19
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
45
20
  And the exception "errorClass" equals "CustomError"
46
21
  And the event "context" equals "IntegrationTests"
47
22
 
48
23
  Examples:
49
- | ruby version | state |
50
- | 1.9.3 | unhandled |
51
- | 1.9.3 | handled |
52
- | 2.0 | unhandled |
53
- | 2.0 | handled |
54
- | 2.1 | unhandled |
55
- | 2.1 | handled |
56
- | 2.2 | unhandled |
57
- | 2.2 | handled |
58
- | 2.3 | unhandled |
59
- | 2.3 | handled |
60
- | 2.4 | unhandled |
61
- | 2.4 | handled |
62
- | 2.5 | unhandled |
63
- | 2.5 | handled |
24
+ | state |
25
+ | unhandled |
26
+ | handled |
64
27
 
65
28
  Scenario Outline: An error has built in grouping hash
66
- And I set environment variable "RUBY_VERSION" to "<ruby version>"
67
- And I have built the service "plain-ruby"
68
- And I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_hash.rb"
69
- And I wait for 1 second
70
- Then I should receive a request
71
- And the request used the "Ruby Bugsnag Notifier" notifier
72
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
29
+ When I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_hash.rb"
30
+ And I wait to receive a request
31
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
73
32
  And the exception "errorClass" equals "CustomError"
74
33
  And the event "groupingHash" equals "ABCDE12345"
75
34
 
76
35
  Examples:
77
- | ruby version | state |
78
- | 1.9.3 | unhandled |
79
- | 1.9.3 | handled |
80
- | 2.0 | unhandled |
81
- | 2.0 | handled |
82
- | 2.1 | unhandled |
83
- | 2.1 | handled |
84
- | 2.2 | unhandled |
85
- | 2.2 | handled |
86
- | 2.3 | unhandled |
87
- | 2.3 | handled |
88
- | 2.4 | unhandled |
89
- | 2.4 | handled |
90
- | 2.5 | unhandled |
91
- | 2.5 | handled |
36
+ | state |
37
+ | unhandled |
38
+ | handled |
92
39
 
93
40
  Scenario Outline: An error has built in user id
94
- And I set environment variable "RUBY_VERSION" to "<ruby version>"
95
- And I have built the service "plain-ruby"
96
- And I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_user_id.rb"
97
- And I wait for 1 second
98
- Then I should receive a request
99
- And the request used the "Ruby Bugsnag Notifier" notifier
100
- And the request used payload v4 headers
101
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
41
+ When I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_user_id.rb"
42
+ And I wait to receive a request
43
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
102
44
  And the exception "errorClass" equals "CustomError"
103
45
  And the event "user.id" equals "000001"
104
46
 
105
47
  Examples:
106
- | ruby version | state |
107
- | 1.9.3 | unhandled |
108
- | 1.9.3 | handled |
109
- | 2.0 | unhandled |
110
- | 2.0 | handled |
111
- | 2.1 | unhandled |
112
- | 2.1 | handled |
113
- | 2.2 | unhandled |
114
- | 2.2 | handled |
115
- | 2.3 | unhandled |
116
- | 2.3 | handled |
117
- | 2.4 | unhandled |
118
- | 2.4 | handled |
119
- | 2.5 | unhandled |
120
- | 2.5 | handled |
48
+ | state |
49
+ | unhandled |
50
+ | handled |