bugsnag 6.9.0 → 6.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/Gemfile +0 -1
- data/VERSION +1 -1
- data/features/delayed_job.feature +9 -10
- data/features/fixtures/delayed_job/Dockerfile +2 -2
- data/features/fixtures/delayed_job/app/config/initializers/bugsnag.rb +12 -12
- data/features/fixtures/docker-compose.yml +118 -124
- data/features/fixtures/plain/Dockerfile +5 -6
- data/features/fixtures/plain/app/Gemfile +1 -1
- data/features/fixtures/plain/app/app.rb +19 -19
- data/features/fixtures/plain/app/configuration/api_key.rb +1 -1
- data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_before_notify.rb +5 -1
- data/features/fixtures/rack1/Dockerfile +7 -6
- data/features/fixtures/rack1/Gemfile +1 -1
- data/features/fixtures/rack2/Dockerfile +7 -6
- data/features/fixtures/rack2/Gemfile +1 -1
- data/features/fixtures/rails3/Dockerfile +5 -6
- data/features/fixtures/rails3/app/Gemfile +1 -1
- data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +12 -12
- data/features/fixtures/rails4/Dockerfile +7 -5
- data/features/fixtures/rails4/app/Gemfile +1 -1
- data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +12 -12
- data/features/fixtures/rails5/Dockerfile +5 -6
- data/features/fixtures/rails5/app/Gemfile +1 -1
- data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +12 -12
- data/features/fixtures/resque/Dockerfile +6 -5
- data/features/fixtures/resque/Gemfile +1 -1
- data/features/fixtures/sidekiq/Dockerfile +4 -2
- data/features/fixtures/sidekiq/app/Gemfile +3 -1
- data/features/fixtures/sidekiq/app/app.rb +4 -4
- data/features/fixtures/sinatra1/Dockerfile +6 -5
- data/features/fixtures/sinatra1/Gemfile +1 -1
- data/features/fixtures/sinatra2/Dockerfile +6 -5
- data/features/fixtures/sinatra2/Gemfile +1 -1
- data/features/plain_features/add_tab.feature +15 -17
- data/features/plain_features/api_key.feature +2 -3
- data/features/plain_features/app_type.feature +3 -5
- data/features/plain_features/app_version.feature +3 -5
- data/features/plain_features/auto_notify.feature +1 -3
- data/features/plain_features/delivery.feature +3 -5
- data/features/plain_features/exception_data.feature +4 -6
- data/features/plain_features/filters.feature +4 -6
- data/features/plain_features/handled_errors.feature +48 -30
- data/features/plain_features/ignore_classes.feature +0 -2
- data/features/plain_features/ignore_report.feature +0 -2
- data/features/plain_features/proxies.feature +4 -6
- data/features/plain_features/release_stages.feature +8 -10
- data/features/plain_features/report_api_key.feature +1 -3
- data/features/plain_features/report_severity.feature +3 -5
- data/features/plain_features/report_stack_frames.feature +54 -21
- data/features/plain_features/report_user.feature +10 -12
- data/features/plain_features/unhandled_errors.feature +4 -6
- data/features/rails_features/api_key.feature +3 -3
- data/features/rails_features/app_type.feature +4 -4
- data/features/rails_features/app_version.feature +2 -2
- data/features/rails_features/auto_capture_sessions.feature +4 -4
- data/features/rails_features/auto_notify.feature +5 -5
- data/features/rails_features/before_notify.feature +4 -4
- data/features/rails_features/handled.feature +6 -6
- data/features/rails_features/ignore_classes.feature +2 -2
- data/features/rails_features/meta_data_filters.feature +2 -2
- data/features/rails_features/project_root.feature +8 -8
- data/features/rails_features/release_stage.feature +2 -2
- data/features/rails_features/send_code.feature +2 -2
- data/features/rails_features/send_environment.feature +3 -3
- data/features/rails_features/unhandled.feature +4 -4
- data/features/rails_features/user_info.feature +4 -4
- data/features/sidekiq.feature +9 -10
- data/features/steps/ruby_notifier_steps.rb +6 -25
- data/features/support/env.rb +18 -9
- data/lib/bugsnag/configuration.rb +3 -3
- data/lib/bugsnag/integrations/mailman.rb +0 -1
- data/lib/bugsnag/integrations/shoryuken.rb +6 -8
- data/lib/bugsnag/integrations/sidekiq.rb +14 -11
- data/lib/bugsnag/stacktrace.rb +1 -2
- data/spec/configuration_spec.rb +1 -1
- data/spec/integrations/sidekiq_spec.rb +73 -7
- data/spec/report_spec.rb +62 -20
- data/spec/spec_helper.rb +1 -1
- data/spec/stacktrace_spec.rb +20 -16
- 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 "
|
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 "
|
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"
|
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 "
|
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"
|
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 "
|
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 "
|
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"
|
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
|
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
|
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"
|
20
|
-
And the event "severityReason.type"
|
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
|
23
|
-
And the "lineNumber" of stack frame 0 equals
|
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 |
|
27
|
-
| 1.9.3 |
|
28
|
-
|
|
29
|
-
| 2.
|
30
|
-
| 2.
|
31
|
-
| 2.
|
32
|
-
| 2.
|
33
|
-
| 2.
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
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"
|
70
|
-
And the event "severityReason.type"
|
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"
|
75
|
-
And the event "metaData.account.name"
|
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 "
|
12
|
-
And I set environment variable "
|
13
|
-
And I set environment variable "
|
14
|
-
And I set environment variable "
|
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 "
|
12
|
-
And I set environment variable "
|
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 "
|
31
|
-
And I set environment variable "
|
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"
|
41
|
-
And the event "severityReason.type"
|
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"
|
20
|
-
And the event "severityReason.type"
|
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
|
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 |
|
84
|
-
|
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 |
|