bugsnag 6.9.0 → 6.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/Gemfile +0 -1
  4. data/VERSION +1 -1
  5. data/features/delayed_job.feature +9 -10
  6. data/features/fixtures/delayed_job/Dockerfile +2 -2
  7. data/features/fixtures/delayed_job/app/config/initializers/bugsnag.rb +12 -12
  8. data/features/fixtures/docker-compose.yml +118 -124
  9. data/features/fixtures/plain/Dockerfile +5 -6
  10. data/features/fixtures/plain/app/Gemfile +1 -1
  11. data/features/fixtures/plain/app/app.rb +19 -19
  12. data/features/fixtures/plain/app/configuration/api_key.rb +1 -1
  13. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_before_notify.rb +5 -1
  14. data/features/fixtures/rack1/Dockerfile +7 -6
  15. data/features/fixtures/rack1/Gemfile +1 -1
  16. data/features/fixtures/rack2/Dockerfile +7 -6
  17. data/features/fixtures/rack2/Gemfile +1 -1
  18. data/features/fixtures/rails3/Dockerfile +5 -6
  19. data/features/fixtures/rails3/app/Gemfile +1 -1
  20. data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +12 -12
  21. data/features/fixtures/rails4/Dockerfile +7 -5
  22. data/features/fixtures/rails4/app/Gemfile +1 -1
  23. data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +12 -12
  24. data/features/fixtures/rails5/Dockerfile +5 -6
  25. data/features/fixtures/rails5/app/Gemfile +1 -1
  26. data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +12 -12
  27. data/features/fixtures/resque/Dockerfile +6 -5
  28. data/features/fixtures/resque/Gemfile +1 -1
  29. data/features/fixtures/sidekiq/Dockerfile +4 -2
  30. data/features/fixtures/sidekiq/app/Gemfile +3 -1
  31. data/features/fixtures/sidekiq/app/app.rb +4 -4
  32. data/features/fixtures/sinatra1/Dockerfile +6 -5
  33. data/features/fixtures/sinatra1/Gemfile +1 -1
  34. data/features/fixtures/sinatra2/Dockerfile +6 -5
  35. data/features/fixtures/sinatra2/Gemfile +1 -1
  36. data/features/plain_features/add_tab.feature +15 -17
  37. data/features/plain_features/api_key.feature +2 -3
  38. data/features/plain_features/app_type.feature +3 -5
  39. data/features/plain_features/app_version.feature +3 -5
  40. data/features/plain_features/auto_notify.feature +1 -3
  41. data/features/plain_features/delivery.feature +3 -5
  42. data/features/plain_features/exception_data.feature +4 -6
  43. data/features/plain_features/filters.feature +4 -6
  44. data/features/plain_features/handled_errors.feature +48 -30
  45. data/features/plain_features/ignore_classes.feature +0 -2
  46. data/features/plain_features/ignore_report.feature +0 -2
  47. data/features/plain_features/proxies.feature +4 -6
  48. data/features/plain_features/release_stages.feature +8 -10
  49. data/features/plain_features/report_api_key.feature +1 -3
  50. data/features/plain_features/report_severity.feature +3 -5
  51. data/features/plain_features/report_stack_frames.feature +54 -21
  52. data/features/plain_features/report_user.feature +10 -12
  53. data/features/plain_features/unhandled_errors.feature +4 -6
  54. data/features/rails_features/api_key.feature +3 -3
  55. data/features/rails_features/app_type.feature +4 -4
  56. data/features/rails_features/app_version.feature +2 -2
  57. data/features/rails_features/auto_capture_sessions.feature +4 -4
  58. data/features/rails_features/auto_notify.feature +5 -5
  59. data/features/rails_features/before_notify.feature +4 -4
  60. data/features/rails_features/handled.feature +6 -6
  61. data/features/rails_features/ignore_classes.feature +2 -2
  62. data/features/rails_features/meta_data_filters.feature +2 -2
  63. data/features/rails_features/project_root.feature +8 -8
  64. data/features/rails_features/release_stage.feature +2 -2
  65. data/features/rails_features/send_code.feature +2 -2
  66. data/features/rails_features/send_environment.feature +3 -3
  67. data/features/rails_features/unhandled.feature +4 -4
  68. data/features/rails_features/user_info.feature +4 -4
  69. data/features/sidekiq.feature +9 -10
  70. data/features/steps/ruby_notifier_steps.rb +6 -25
  71. data/features/support/env.rb +18 -9
  72. data/lib/bugsnag/configuration.rb +3 -3
  73. data/lib/bugsnag/integrations/mailman.rb +0 -1
  74. data/lib/bugsnag/integrations/shoryuken.rb +6 -8
  75. data/lib/bugsnag/integrations/sidekiq.rb +14 -11
  76. data/lib/bugsnag/stacktrace.rb +1 -2
  77. data/spec/configuration_spec.rb +1 -1
  78. data/spec/integrations/sidekiq_spec.rb +73 -7
  79. data/spec/report_spec.rb +62 -20
  80. data/spec/spec_helper.rb +1 -1
  81. data/spec/stacktrace_spec.rb +20 -16
  82. metadata +2 -2
@@ -1,17 +1,16 @@
1
1
  Feature: API Key configuration options
2
2
 
3
3
  Background:
4
- And I set environment variable "APP_PATH" to "/usr/src"
5
4
  And I configure the bugsnag endpoint
6
5
 
7
6
  Scenario Outline: The API key configuration option can be set
8
7
  Given I set environment variable "RUBY_VERSION" to "<ruby version>"
9
- And I set environment variable "MAZE_API_KEY" to "b35a2a72bd230ac0aa0f52715bbdc6aa"
8
+ And I set environment variable "BUGSNAG_API_KEY" to "b35a2a72bd230ac0aa0f52715bbdc6aa"
10
9
  And I have built the service "plain-ruby"
11
10
  And I run the service "plain-ruby" with the command "bundle exec ruby configuration/api_key.rb"
12
11
  And I wait for 1 second
13
12
  Then I should receive a request
14
- And the request used the Ruby notifier
13
+ And the request used the "Ruby Bugsnag Notifier" notifier
15
14
  And the request used payload v4 headers
16
15
  And the request contained the api key "b35a2a72bd230ac0aa0f52715bbdc6aa"
17
16
 
@@ -2,21 +2,19 @@ Feature: App type configuration option
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: The App type configuration option can be set
10
8
  Given I set environment variable "RUBY_VERSION" to "<ruby version>"
11
- And I set environment variable "MAZE_APP_TYPE" to "test_app"
9
+ And I set environment variable "BUGSNAG_APP_TYPE" to "test_app"
12
10
  And I have built the service "plain-ruby"
13
11
  And I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_handled.rb"
14
12
  And I wait for 1 second
15
13
  Then I should receive a request
16
- And the request used the Ruby notifier
14
+ And the request used the "Ruby Bugsnag Notifier" notifier
17
15
  And the request used payload v4 headers
18
16
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
19
- And the event "app.type" is "test_app"
17
+ And the event "app.type" equals "test_app"
20
18
 
21
19
  Examples:
22
20
  | ruby version |
@@ -2,21 +2,19 @@ Feature: App version configuration option
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: The App version configuration option can be set
10
8
  Given I set environment variable "RUBY_VERSION" to "<ruby version>"
11
- And I set environment variable "MAZE_APP_VERSION" to "9.9.8"
9
+ And I set environment variable "BUGSNAG_APP_VERSION" to "9.9.8"
12
10
  And I have built the service "plain-ruby"
13
11
  And I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_handled.rb"
14
12
  And I wait for 1 second
15
13
  Then I should receive a request
16
- And the request used the Ruby notifier
14
+ And the request used the "Ruby Bugsnag Notifier" notifier
17
15
  And the request used payload v4 headers
18
16
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
19
- And the event "app.version" is "9.9.8"
17
+ And the event "app.version" equals "9.9.8"
20
18
 
21
19
  Examples:
22
20
  | ruby version |
@@ -2,13 +2,11 @@ Feature: Auto notify configuration option
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: When Auto-notify is false notifications are not sent
10
8
  Given I set environment variable "RUBY_VERSION" to "<ruby version>"
11
- And I set environment variable "MAZE_AUTO_NOTIFY" to "false"
9
+ And I set environment variable "BUGSNAG_AUTO_NOTIFY" to "false"
12
10
  And I have built the service "plain-ruby"
13
11
  And I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_unhandled.rb"
14
12
  And I wait for 1 second
@@ -2,8 +2,6 @@ Feature: delivery_method configuration option
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: When the delivery_method is set to :synchronous
@@ -12,7 +10,7 @@ Scenario Outline: When the delivery_method is set to :synchronous
12
10
  And I run the service "plain-ruby" with the command "bundle exec ruby delivery/synchronous.rb"
13
11
  And I wait for 1 second
14
12
  Then I should receive a request
15
- And the request used the Ruby notifier
13
+ And the request used the "Ruby Bugsnag Notifier" notifier
16
14
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
17
15
  And the exception "errorClass" equals "RuntimeError"
18
16
  And the event "metaData.config" matches the JSON fixture in "features/fixtures/plain/json/delivery_synchronous.json"
@@ -33,7 +31,7 @@ Scenario Outline: When the delivery_method is set to :thread_queue
33
31
  And I run the service "plain-ruby" with the command "bundle exec ruby delivery/threadpool.rb"
34
32
  And I wait for 1 second
35
33
  Then I should receive a request
36
- And the request used the Ruby notifier
34
+ And the request used the "Ruby Bugsnag Notifier" notifier
37
35
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
38
36
  And the exception "errorClass" equals "RuntimeError"
39
37
  And the event "metaData.config" matches the JSON fixture in "features/fixtures/plain/json/delivery_threadpool.json"
@@ -54,7 +52,7 @@ Scenario Outline: When the delivery_method is set to :thread_queue in a fork
54
52
  And I run the service "plain-ruby" with the command "bundle exec ruby delivery/fork_threadpool.rb"
55
53
  And I wait for 1 second
56
54
  Then I should receive 2 requests
57
- And the request used the Ruby notifier
55
+ And the request used the "Ruby Bugsnag Notifier" notifier
58
56
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
59
57
  And the exception "errorClass" equals "RuntimeError"
60
58
  And the event "metaData.config" matches the JSON fixture in "features/fixtures/plain/json/delivery_fork.json"
@@ -2,8 +2,6 @@ Feature: Plain exception data
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- Given I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: An error has built in meta-data
@@ -12,7 +10,7 @@ Scenario Outline: An error has built in meta-data
12
10
  And I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_meta_data.rb"
13
11
  And I wait for 1 second
14
12
  Then I should receive a request
15
- And the request used the Ruby notifier
13
+ And the request used the "Ruby Bugsnag Notifier" notifier
16
14
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
17
15
  And the exception "errorClass" equals "CustomError"
18
16
  And the event "metaData.exception.exception_type" equals "FATAL"
@@ -41,7 +39,7 @@ Scenario Outline: An error has built in context
41
39
  And I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_context.rb"
42
40
  And I wait for 1 second
43
41
  Then I should receive a request
44
- And the request used the Ruby notifier
42
+ And the request used the "Ruby Bugsnag Notifier" notifier
45
43
  And the request used payload v4 headers
46
44
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
47
45
  And the exception "errorClass" equals "CustomError"
@@ -70,7 +68,7 @@ Scenario Outline: An error has built in grouping hash
70
68
  And I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_hash.rb"
71
69
  And I wait for 1 second
72
70
  Then I should receive a request
73
- And the request used the Ruby notifier
71
+ And the request used the "Ruby Bugsnag Notifier" notifier
74
72
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
75
73
  And the exception "errorClass" equals "CustomError"
76
74
  And the event "groupingHash" equals "ABCDE12345"
@@ -98,7 +96,7 @@ Scenario Outline: An error has built in user id
98
96
  And I run the service "plain-ruby" with the command "bundle exec ruby exception_data/<state>_user_id.rb"
99
97
  And I wait for 1 second
100
98
  Then I should receive a request
101
- And the request used the Ruby notifier
99
+ And the request used the "Ruby Bugsnag Notifier" notifier
102
100
  And the request used payload v4 headers
103
101
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
104
102
  And the exception "errorClass" equals "CustomError"
@@ -2,8 +2,6 @@ Feature: Plain filtering of metadata
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- Given I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: Metadata is filtered through the default filters
@@ -12,7 +10,7 @@ Scenario Outline: Metadata is filtered through the default filters
12
10
  And I run the service "plain-ruby" with the command "bundle exec ruby filters/default_filters.rb"
13
11
  And I wait for 1 second
14
12
  Then I should receive a request
15
- And the request used the Ruby notifier
13
+ And the request used the "Ruby Bugsnag Notifier" notifier
16
14
  And the request used payload v4 headers
17
15
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
18
16
  And the event "metaData.filter" matches the JSON fixture in "features/fixtures/plain/json/filters_default_metadata_filters.json"
@@ -29,15 +27,15 @@ Scenario Outline: Metadata is filtered through the default filters
29
27
 
30
28
  Scenario Outline: Additional filters can be added to the filter list
31
29
  Given I set environment variable "RUBY_VERSION" to "<ruby version>"
32
- And I set environment variable "MAZE_META_DATA_FILTERS" to "filter_me"
30
+ And I set environment variable "BUGSNAG_META_DATA_FILTERS" to "filter_me"
33
31
  And I have built the service "plain-ruby"
34
32
  And I run the service "plain-ruby" with the command "bundle exec ruby filters/additional_filters.rb"
35
33
  And I wait for 1 second
36
34
  Then I should receive a request
37
- And the request used the Ruby notifier
35
+ And the request used the "Ruby Bugsnag Notifier" notifier
38
36
  And the request used payload v4 headers
39
37
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
40
- And the event "metaData.filter.filter_me" is "[FILTERED]"
38
+ And the event "metaData.filter.filter_me" equals "[FILTERED]"
41
39
 
42
40
  Examples:
43
41
  | ruby version |
@@ -2,42 +2,60 @@ Feature: Plain handled errors
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
- Scenario Outline: A handled error sends a report
7
+ Scenario Outline: A rescued exception sends a report
10
8
  And I set environment variable "RUBY_VERSION" to "<ruby version>"
11
9
  And I have built the service "plain-ruby"
12
- And I run the service "plain-ruby" with the command "bundle exec ruby handled/<file>.rb"
10
+ And I run the service "plain-ruby" with the command "bundle exec ruby handled/notify_exception.rb"
13
11
  And I wait for 1 second
14
12
  Then I should receive a request
15
- And the request used the Ruby notifier
13
+ And the request used the "Ruby Bugsnag Notifier" notifier
16
14
  And the request used payload v4 headers
17
15
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
18
16
  And the event "unhandled" is false
19
- And the event "severity" is "warning"
20
- And the event "severityReason.type" is "handledException"
17
+ And the event "severity" equals "warning"
18
+ And the event "severityReason.type" equals "handledException"
21
19
  And the exception "errorClass" equals "RuntimeError"
22
- And the "file" of stack frame 0 equals "/usr/src/handled/<file>.rb"
23
- And the "lineNumber" of stack frame 0 equals <lineNumber>
20
+ And the "file" of stack frame 0 equals "/usr/src/app/handled/notify_exception.rb"
21
+ And the "lineNumber" of stack frame 0 equals 6
24
22
 
25
23
  Examples:
26
- | ruby version | file | lineNumber |
27
- | 1.9.3 | notify_exception | 6 |
28
- | 1.9.3 | notify_string | 8 |
29
- | 2.0 | notify_exception | 6 |
30
- | 2.0 | notify_string | 8 |
31
- | 2.1 | notify_exception | 6 |
32
- | 2.1 | notify_string | 8 |
33
- | 2.2 | notify_exception | 6 |
34
- | 2.2 | notify_string | 8 |
35
- | 2.3 | notify_exception | 6 |
36
- | 2.3 | notify_string | 8 |
37
- | 2.4 | notify_exception | 6 |
38
- | 2.4 | notify_string | 8 |
39
- | 2.5 | notify_exception | 6 |
40
- | 2.5 | notify_string | 8 |
24
+ | ruby version |
25
+ | 1.9.3 |
26
+ | 2.0 |
27
+ | 2.1 |
28
+ | 2.2 |
29
+ | 2.3 |
30
+ | 2.4 |
31
+ | 2.5 |
32
+
33
+ Scenario Outline: A notified string sends a report
34
+ And I set environment variable "RUBY_VERSION" to "<ruby version>"
35
+ And I have built the service "plain-ruby"
36
+ And I run the service "plain-ruby" with the command "bundle exec ruby handled/notify_string.rb"
37
+ And I wait for 1 second
38
+ Then I should receive a request
39
+ And the request used the "Ruby Bugsnag Notifier" notifier
40
+ And the request used payload v4 headers
41
+ And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
42
+ And the event "unhandled" is false
43
+ And the event "severity" equals "warning"
44
+ And the event "severityReason.type" equals "handledException"
45
+ And the exception "errorClass" equals "RuntimeError"
46
+ And the "file" of the top non-bugsnag stackframe equals "/usr/src/app/handled/notify_string.rb"
47
+ And the "lineNumber" of the top non-bugsnag stackframe equals 8
48
+
49
+ Examples:
50
+ | ruby version |
51
+ | 1.9.3 |
52
+ | 2.0 |
53
+ | 2.1 |
54
+ | 2.2 |
55
+ | 2.3 |
56
+ | 2.4 |
57
+ | 2.5 |
58
+
41
59
 
42
60
  Scenario Outline: A handled error doesn't send a report when the :skip_bugsnag flag is set
43
61
  And I set environment variable "RUBY_VERSION" to "<ruby version>"
@@ -62,17 +80,17 @@ Scenario Outline: A handled error can attach metadata in a block
62
80
  And I run the service "plain-ruby" with the command "bundle exec ruby handled/block_metadata.rb"
63
81
  And I wait for 1 second
64
82
  Then I should receive a request
65
- And the request used the Ruby notifier
83
+ And the request used the "Ruby Bugsnag Notifier" notifier
66
84
  And the request used payload v4 headers
67
85
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
68
86
  And the event "unhandled" is false
69
- And the event "severity" is "warning"
70
- And the event "severityReason.type" is "handledException"
87
+ And the event "severity" equals "warning"
88
+ And the event "severityReason.type" equals "handledException"
71
89
  And the exception "errorClass" equals "RuntimeError"
72
- And the "file" of stack frame 0 equals "/usr/src/handled/block_metadata.rb"
90
+ And the "file" of stack frame 0 equals "/usr/src/app/handled/block_metadata.rb"
73
91
  And the "lineNumber" of stack frame 0 equals 6
74
- And the event "metaData.account.id" is "1234abcd"
75
- And the event "metaData.account.name" is "Acme Co"
92
+ And the event "metaData.account.id" equals "1234abcd"
93
+ And the event "metaData.account.name" equals "Acme Co"
76
94
  And the event "metaData.account.support" is true
77
95
 
78
96
  Examples:
@@ -2,8 +2,6 @@ Feature: Plain ignore classes
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- Given I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: An errors class is in the ignore_classes array
@@ -2,8 +2,6 @@ Feature: Plain ignore report
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- Given I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: A reports severity can be modified
@@ -2,16 +2,14 @@ Feature: proxy configuration options
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: Proxy settings are provided as configuration options
10
8
  Given I set environment variable "RUBY_VERSION" to "<ruby version>"
11
- And I set environment variable "MAZE_PROXY_HOST" to the current IP
12
- And I set environment variable "MAZE_PROXY_PORT" to the mock API port
13
- And I set environment variable "MAZE_PROXY_USER" to "tester"
14
- And I set environment variable "MAZE_PROXY_PASSWORD" to "testpass"
9
+ And I set environment variable "BUGSNAG_PROXY_HOST" to the current IP
10
+ And I set environment variable "BUGSNAG_PROXY_PORT" to the mock API port
11
+ And I set environment variable "BUGSNAG_PROXY_USER" to "tester"
12
+ And I set environment variable "BUGSNAG_PROXY_PASSWORD" to "testpass"
15
13
  And I have built the service "plain-ruby"
16
14
  And I run the service "plain-ruby" with the command "bundle exec ruby configuration/proxy.rb"
17
15
  And I wait for 1 second
@@ -2,14 +2,12 @@ Feature: Release stage configuration options
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: Doesn't notify in the wrong release stage
10
8
  Given I set environment variable "RUBY_VERSION" to "<ruby version>"
11
- And I set environment variable "MAZE_NOTIFY_RELEASE_STAGE" to "stage_one"
12
- And I set environment variable "MAZE_RELEASE_STAGE" to "stage_two"
9
+ And I set environment variable "BUGSNAG_NOTIFY_RELEASE_STAGE" to "stage_one"
10
+ And I set environment variable "BUGSNAG_RELEASE_STAGE" to "stage_two"
13
11
  And I have built the service "plain-ruby"
14
12
  And I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_unhandled.rb"
15
13
  And I wait for 1 second
@@ -27,20 +25,20 @@ Scenario Outline: Doesn't notify in the wrong release stage
27
25
 
28
26
  Scenario Outline: Doesn't notify in the wrong release stage
29
27
  Given I set environment variable "RUBY_VERSION" to "<ruby version>"
30
- And I set environment variable "MAZE_NOTIFY_RELEASE_STAGE" to "stage_one"
31
- And I set environment variable "MAZE_RELEASE_STAGE" to "stage_one"
28
+ And I set environment variable "BUGSNAG_NOTIFY_RELEASE_STAGE" to "stage_one"
29
+ And I set environment variable "BUGSNAG_RELEASE_STAGE" to "stage_one"
32
30
  And I have built the service "plain-ruby"
33
31
  And I run the service "plain-ruby" with the command "bundle exec ruby configuration/send_unhandled.rb"
34
32
  And I wait for 1 second
35
33
  Then I should receive a request
36
- And the request used the Ruby notifier
34
+ And the request used the "Ruby Bugsnag Notifier" notifier
37
35
  And the request used payload v4 headers
38
36
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
39
37
  And the event "unhandled" is true
40
- And the event "severity" is "error"
41
- And the event "severityReason.type" is "unhandledException"
38
+ And the event "severity" equals "error"
39
+ And the event "severityReason.type" equals "unhandledException"
42
40
  And the exception "errorClass" equals "RuntimeError"
43
- And the "file" of stack frame 0 equals "/usr/src/configuration/send_unhandled.rb"
41
+ And the "file" of stack frame 0 equals "/usr/src/app/configuration/send_unhandled.rb"
44
42
 
45
43
  Examples:
46
44
  | ruby version |
@@ -2,8 +2,6 @@ Feature: Plain report modify api key
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- Given I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: A report can have its api_key modified
@@ -13,7 +11,7 @@ Scenario Outline: A report can have its api_key modified
13
11
  And I run the service "plain-ruby" with the command "bundle exec ruby report_modification/modify_api_key.rb"
14
12
  And I wait for 1 second
15
13
  Then I should receive a request
16
- And the request used the Ruby notifier
14
+ And the request used the "Ruby Bugsnag Notifier" notifier
17
15
  And the request used payload v4 headers
18
16
  And the request contained the api key "abcdefghijklmnopqrstuvwxyz123456"
19
17
 
@@ -2,8 +2,6 @@ Feature: Plain report modify severity
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- Given I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: A reports severity can be modified
@@ -13,11 +11,11 @@ Scenario Outline: A reports severity can be modified
13
11
  And I run the service "plain-ruby" with the command "bundle exec ruby report_modification/modify_severity.rb"
14
12
  And I wait for 1 second
15
13
  Then I should receive a request
16
- And the request used the Ruby notifier
14
+ And the request used the "Ruby Bugsnag Notifier" notifier
17
15
  And the request used payload v4 headers
18
16
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
19
- And the event "severity" is "info"
20
- And the event "severityReason.type" is "userCallbackSetSeverity"
17
+ And the event "severity" equals "info"
18
+ And the event "severityReason.type" equals "userCallbackSetSeverity"
21
19
 
22
20
  Examples:
23
21
  | ruby version | initiator |
@@ -2,8 +2,6 @@ Feature: Plain report modify stack frames
2
2
 
3
3
  Background:
4
4
  Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- Given I set environment variable "MAZE_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
6
- And I set environment variable "APP_PATH" to "/usr/src"
7
5
  And I configure the bugsnag endpoint
8
6
 
9
7
  Scenario Outline: Stack frames can be removed
@@ -13,36 +11,52 @@ Scenario Outline: Stack frames can be removed
13
11
  And I run the service "plain-ruby" with the command "bundle exec ruby stack_frame_modification/remove_stack_frame.rb"
14
12
  And I wait for 1 second
15
13
  Then I should receive a request
16
- And the request used the Ruby notifier
14
+ And the request used the "Ruby Bugsnag Notifier" notifier
17
15
  And the request used payload v4 headers
18
16
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
19
- And the "file" of stack frame 0 equals "/usr/src/stack_frame_modification/initiators/<initiator>.rb"
17
+ And the "file" of the top non-bugsnag stackframe equals "/usr/src/app/stack_frame_modification/initiators/<initiator>.rb"
20
18
  And the "lineNumber" of stack frame 0 equals <lineNumber>
21
19
 
22
20
  Examples:
23
21
  | ruby version | initiator | lineNumber |
24
22
  | 1.9.3 | handled_before_notify | 20 |
25
- | 1.9.3 | handled_block | 19 |
26
23
  | 1.9.3 | unhandled_before_notify | 21 |
27
24
  | 2.0 | handled_before_notify | 20 |
28
- | 2.0 | handled_block | 19 |
29
25
  | 2.0 | unhandled_before_notify | 21 |
30
26
  | 2.1 | handled_before_notify | 20 |
31
- | 2.1 | handled_block | 19 |
32
27
  | 2.1 | unhandled_before_notify | 21 |
33
28
  | 2.2 | handled_before_notify | 20 |
34
- | 2.2 | handled_block | 19 |
35
29
  | 2.2 | unhandled_before_notify | 21 |
36
30
  | 2.3 | handled_before_notify | 20 |
37
- | 2.3 | handled_block | 19 |
38
31
  | 2.3 | unhandled_before_notify | 21 |
39
32
  | 2.4 | handled_before_notify | 20 |
40
- | 2.4 | handled_block | 19 |
41
33
  | 2.4 | unhandled_before_notify | 21 |
42
34
  | 2.5 | handled_before_notify | 20 |
43
- | 2.5 | handled_block | 19 |
44
35
  | 2.5 | unhandled_before_notify | 21 |
45
36
 
37
+ Scenario Outline: Stack frames can be removed from a notified string
38
+ Given I set environment variable "RUBY_VERSION" to "<ruby version>"
39
+ And I set environment variable "CALLBACK_INITIATOR" to "handled_block"
40
+ And I have built the service "plain-ruby"
41
+ And I run the service "plain-ruby" with the command "bundle exec ruby stack_frame_modification/remove_stack_frame.rb"
42
+ And I wait for 1 second
43
+ Then I should receive a request
44
+ And the request used the "Ruby Bugsnag Notifier" notifier
45
+ And the request used payload v4 headers
46
+ And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
47
+ And the "file" of the top non-bugsnag stackframe equals "/usr/src/app/stack_frame_modification/initiators/handled_block.rb"
48
+ And the "lineNumber" of the top non-bugsnag stackframe equals 19
49
+
50
+ Examples:
51
+ | ruby version |
52
+ | 1.9.3 |
53
+ | 2.0 |
54
+ | 2.1 |
55
+ | 2.2 |
56
+ | 2.3 |
57
+ | 2.4 |
58
+ | 2.5 |
59
+
46
60
  Scenario Outline: Stack frames can be marked as in project
47
61
  Given I set environment variable "RUBY_VERSION" to "<ruby version>"
48
62
  And I set environment variable "CALLBACK_INITIATOR" to "<initiator>"
@@ -50,10 +64,10 @@ Scenario Outline: Stack frames can be marked as in project
50
64
  And I run the service "plain-ruby" with the command "bundle exec ruby stack_frame_modification/mark_frames_in_project.rb"
51
65
  And I wait for 1 second
52
66
  Then I should receive a request
53
- And the request used the Ruby notifier
67
+ And the request used the "Ruby Bugsnag Notifier" notifier
54
68
  And the request used payload v4 headers
55
69
  And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
56
- And the "file" of stack frame 0 equals "/usr/src/stack_frame_modification/initiators/<initiator>.rb"
70
+ And the "file" of stack frame 0 equals "/usr/src/app/stack_frame_modification/initiators/<initiator>.rb"
57
71
  And the event "exceptions.0.stacktrace.0.inProject" is null
58
72
  And the event "exceptions.0.stacktrace.1.inProject" is true
59
73
  And the event "exceptions.0.stacktrace.2.inProject" is true
@@ -62,23 +76,42 @@ Scenario Outline: Stack frames can be marked as in project
62
76
  Examples:
63
77
  | ruby version | initiator |
64
78
  | 1.9.3 | handled_before_notify |
65
- | 1.9.3 | handled_block |
66
79
  | 1.9.3 | unhandled_before_notify |
67
80
  | 2.0 | handled_before_notify |
68
- | 2.0 | handled_block |
69
81
  | 2.0 | unhandled_before_notify |
70
82
  | 2.1 | handled_before_notify |
71
- | 2.1 | handled_block |
72
83
  | 2.1 | unhandled_before_notify |
73
84
  | 2.2 | handled_before_notify |
74
- | 2.2 | handled_block |
75
85
  | 2.2 | unhandled_before_notify |
76
86
  | 2.3 | handled_before_notify |
77
- | 2.3 | handled_block |
78
87
  | 2.3 | unhandled_before_notify |
79
88
  | 2.4 | handled_before_notify |
80
- | 2.4 | handled_block |
81
89
  | 2.4 | unhandled_before_notify |
82
90
  | 2.5 | handled_before_notify |
83
- | 2.5 | handled_block |
84
- | 2.5 | unhandled_before_notify |
91
+ | 2.5 | unhandled_before_notify |
92
+
93
+ Scenario Outline: Stack frames can be marked as in project with a handled string
94
+ Given I set environment variable "RUBY_VERSION" to "<ruby version>"
95
+ And I set environment variable "CALLBACK_INITIATOR" to "handled_block"
96
+ And I have built the service "plain-ruby"
97
+ And I run the service "plain-ruby" with the command "bundle exec ruby stack_frame_modification/mark_frames_in_project.rb"
98
+ And I wait for 1 second
99
+ Then I should receive a request
100
+ And the request used the "Ruby Bugsnag Notifier" notifier
101
+ And the request used payload v4 headers
102
+ And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
103
+ And the "file" of the top non-bugsnag stackframe equals "/usr/src/app/stack_frame_modification/initiators/handled_block.rb"
104
+ And the event "exceptions.0.stacktrace.0.inProject" is null
105
+ And the event "exceptions.0.stacktrace.1.inProject" is true
106
+ And the event "exceptions.0.stacktrace.2.inProject" is true
107
+ And the event "exceptions.0.stacktrace.3.inProject" is true
108
+
109
+ Examples:
110
+ | ruby version |
111
+ | 1.9.3 |
112
+ | 2.0 |
113
+ | 2.1 |
114
+ | 2.2 |
115
+ | 2.3 |
116
+ | 2.4 |
117
+ | 2.5 |