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,42 +1,14 @@
1
1
  Feature: Metadata filters
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "APP_PATH" to "/usr/src"
6
- And I configure the bugsnag endpoint
7
-
8
- Scenario Outline: Meta_data_filters should include Rails.configuration.filter_parameters
9
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
10
- And I start the service "rails<rails_version>"
11
- And I wait for the app to respond on port "6128<rails_version>"
12
- When I navigate to the route "/metadata_filters/filter" on port "6128<rails_version>"
13
- Then I should receive a request
14
- And the request is a valid for the error reporting API
15
- And the request used the "Ruby Bugsnag Notifier" notifier
16
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
17
- And the payload field "events" is an array with 1 element
3
+ @rails3 @rails4 @rails5 @rails6
4
+ Scenario: Meta_data_filters should include Rails.configuration.filter_parameters
5
+ Given I start the rails service
6
+ When I navigate to the route "/metadata_filters/filter" on the rails app
7
+ And I wait to receive a request
8
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
18
9
  And the event "unhandled" is false
19
10
  And the exception "errorClass" equals "RuntimeError"
20
11
  And the exception "message" starts with "handled string"
21
12
  And the event "app.type" equals "rails"
22
13
  And the event "metaData.request.url" ends with "/metadata_filters/filter"
23
14
  And the event "metaData.my_specific_filter" equals "[FILTERED]"
24
-
25
-
26
- Examples:
27
- | ruby_version | rails_version |
28
- | 2.0 | 3 |
29
- | 2.1 | 3 |
30
- | 2.2 | 3 |
31
- | 2.2 | 4 |
32
- | 2.2 | 5 |
33
- | 2.3 | 3 |
34
- | 2.3 | 4 |
35
- | 2.3 | 5 |
36
- | 2.4 | 3 |
37
- | 2.4 | 5 |
38
- | 2.5 | 3 |
39
- | 2.5 | 5 |
40
- | 2.5 | 6 |
41
- | 2.6 | 5 |
42
- | 2.6 | 6 |
@@ -1,109 +1,26 @@
1
1
  Feature: Mongo automatic breadcrumbs
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "APP_PATH" to "/usr/src"
6
- And I configure the bugsnag endpoint
3
+ @rails4 @rails5 @rails6
4
+ Scenario: Successful breadcrumbs
5
+ Given I start the rails service
6
+ When I navigate to the route "/mongo/success_crash" on the rails app
7
+ And I wait to receive a request
8
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
9
+ And the event contains a breadcrumb matching the JSON fixture in "features/fixtures/expected_breadcrumbs/mongo_success.json"
7
10
 
8
- Scenario Outline: Successful breadcrumbs
9
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
10
- And I start the service "rails<rails_version>"
11
- And I wait for the app to respond on port "6128<rails_version>"
12
- When I navigate to the route "/mongo/success_crash" on port "6128<rails_version>"
13
- Then I should receive a request
14
- And the request is a valid for the error reporting API
15
- And the request used the "Ruby Bugsnag Notifier" notifier
16
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
17
- And the event has a "process" breadcrumb named "Mongo query succeeded"
18
- And the event "breadcrumbs.1.timestamp" is a timestamp
19
- And the event "breadcrumbs.1.metaData.event_name" equals "mongo.succeeded"
20
- And the event "breadcrumbs.1.metaData.command_name" equals "insert"
21
- And the event "breadcrumbs.1.metaData.database_name" equals "rails<rails_version>_development"
22
- And the event "breadcrumbs.1.metaData.operation_id" is not null
23
- And the event "breadcrumbs.1.metaData.request_id" is not null
24
- And the event "breadcrumbs.1.metaData.duration" is not null
25
- And the event "breadcrumbs.1.metaData.collection" equals "mongo_models"
11
+ @rails4 @rails5 @rails6
12
+ Scenario: Breadcrumb with filter parameters
13
+ Given I start the rails service
14
+ When I navigate to the route "/mongo/get_crash" on the rails app
15
+ And I wait to receive a request
16
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
17
+ And the event contains a breadcrumb matching the JSON fixture in "features/fixtures/expected_breadcrumbs/mongo_filtered_request.json"
18
+ And the event contains a breadcrumb matching the JSON fixture in "features/fixtures/expected_breadcrumbs/mongo_filtered_result.json"
26
19
 
27
- Examples:
28
- | ruby_version | rails_version |
29
- | 2.2 | 4 |
30
- | 2.2 | 5 |
31
- | 2.3 | 4 |
32
- | 2.3 | 5 |
33
- | 2.4 | 5 |
34
- | 2.5 | 5 |
35
- | 2.5 | 6 |
36
- | 2.6 | 5 |
37
- | 2.6 | 6 |
38
-
39
- Scenario Outline: Breadcrumb with filter parameters
40
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
41
- And I start the service "rails<rails_version>"
42
- And I wait for the app to respond on port "6128<rails_version>"
43
- When I navigate to the route "/mongo/get_crash" on port "6128<rails_version>"
44
- Then I should receive a request
45
- And the request is a valid for the error reporting API
46
- And the request used the "Ruby Bugsnag Notifier" notifier
47
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
48
- And the event has a "process" breadcrumb named "Mongo query succeeded"
49
- And the event "breadcrumbs.1.timestamp" is a timestamp
50
- And the event "breadcrumbs.1.metaData.event_name" equals "mongo.succeeded"
51
- And the event "breadcrumbs.1.metaData.command_name" equals "find"
52
- And the event "breadcrumbs.1.metaData.database_name" equals "rails<rails_version>_development"
53
- And the event "breadcrumbs.1.metaData.operation_id" is not null
54
- And the event "breadcrumbs.1.metaData.request_id" is not null
55
- And the event "breadcrumbs.1.metaData.duration" is not null
56
- And the event "breadcrumbs.1.metaData.collection" equals "mongo_models"
57
- And the event "breadcrumbs.1.metaData.filter" equals "{"string_field":"?"}"
58
- And the event "breadcrumbs.2.timestamp" is a timestamp
59
- And the event "breadcrumbs.2.metaData.event_name" equals "mongo.succeeded"
60
- And the event "breadcrumbs.2.metaData.command_name" equals "find"
61
- And the event "breadcrumbs.2.metaData.database_name" equals "rails<rails_version>_development"
62
- And the event "breadcrumbs.2.metaData.operation_id" is not null
63
- And the event "breadcrumbs.2.metaData.request_id" is not null
64
- And the event "breadcrumbs.2.metaData.duration" is not null
65
- And the event "breadcrumbs.2.metaData.collection" equals "mongo_models"
66
- And the event "breadcrumbs.2.metaData.filter" equals "{"$or":[{"string_field":"?"},{"numeric_field":"?"}]}"
67
-
68
- Examples:
69
- | ruby_version | rails_version |
70
- | 2.2 | 4 |
71
- | 2.2 | 5 |
72
- | 2.3 | 4 |
73
- | 2.3 | 5 |
74
- | 2.4 | 5 |
75
- | 2.5 | 5 |
76
- | 2.5 | 6 |
77
- | 2.6 | 5 |
78
- | 2.6 | 6 |
79
-
80
- Scenario Outline: Failure breadcrumbs
81
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
82
- And I start the service "rails<rails_version>"
83
- And I wait for the app to respond on port "6128<rails_version>"
84
- When I navigate to the route "/mongo/failure_crash" on port "6128<rails_version>"
85
- Then I should receive a request
86
- And the request is a valid for the error reporting API
87
- And the request used the "Ruby Bugsnag Notifier" notifier
88
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
89
- And the event has a "process" breadcrumb named "Mongo query failed"
90
- And the event "breadcrumbs.1.timestamp" is a timestamp
91
- And the event "breadcrumbs.1.metaData.event_name" equals "mongo.failed"
92
- And the event "breadcrumbs.1.metaData.command_name" equals "bogus"
93
- And the event "breadcrumbs.1.metaData.database_name" equals "rails<rails_version>_development"
94
- And the event "breadcrumbs.1.metaData.operation_id" is not null
95
- And the event "breadcrumbs.1.metaData.request_id" is not null
96
- And the event "breadcrumbs.1.metaData.duration" is not null
97
- And the event "breadcrumbs.1.metaData.collection" equals 1
98
-
99
- Examples:
100
- | ruby_version | rails_version |
101
- | 2.2 | 4 |
102
- | 2.2 | 5 |
103
- | 2.3 | 4 |
104
- | 2.3 | 5 |
105
- | 2.4 | 5 |
106
- | 2.5 | 5 |
107
- | 2.5 | 6 |
108
- | 2.6 | 5 |
109
- | 2.6 | 6 |
20
+ @rails4 @rails5 @rails6
21
+ Scenario: Failure breadcrumbs
22
+ Given I start the rails service
23
+ When I navigate to the route "/mongo/failure_crash" on the rails app
24
+ And I wait to receive a request
25
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
26
+ And the event contains a breadcrumb matching the JSON fixture in "features/fixtures/expected_breadcrumbs/mongo_failed.json"
@@ -1,106 +1,35 @@
1
1
  Feature: Project root configuration
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "APP_PATH" to "/usr/src"
6
- And I configure the bugsnag endpoint
7
-
8
- Scenario Outline: Project_root should default to Rails.root
9
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
10
- And I start the service "rails<rails_version>"
11
- And I wait for the app to respond on port "6128<rails_version>"
12
- When I navigate to the route "/project_root/default" on port "6128<rails_version>"
13
- Then I should receive a request
14
- And the request is a valid for the error reporting API
15
- And the request used the "Ruby Bugsnag Notifier" notifier
16
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
17
- And the payload field "events" is an array with 1 element
3
+ @rails3 @rails4 @rails5 @rails6
4
+ Scenario: Project_root should default to Rails.root
5
+ Given I start the rails service
6
+ When I navigate to the route "/project_root/default" on the rails app
7
+ And I wait to receive a request
8
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
18
9
  And the exception "errorClass" equals "RuntimeError"
19
10
  And the exception "message" starts with "handled string"
20
11
  And the event "metaData.request.url" ends with "/project_root/default"
21
12
  And the "file" of the top non-bugsnag stackframe equals "app/controllers/project_root_controller.rb"
22
13
 
23
- Examples:
24
- | ruby_version | rails_version |
25
- | 2.0 | 3 |
26
- | 2.1 | 3 |
27
- | 2.2 | 3 |
28
- | 2.2 | 4 |
29
- | 2.2 | 5 |
30
- | 2.3 | 3 |
31
- | 2.3 | 4 |
32
- | 2.3 | 5 |
33
- | 2.4 | 3 |
34
- | 2.4 | 5 |
35
- | 2.5 | 3 |
36
- | 2.5 | 5 |
37
- | 2.5 | 6 |
38
- | 2.6 | 5 |
39
- | 2.6 | 6 |
40
-
41
- Scenario Outline: Project_root can be set in an initializer
42
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
43
- And I set environment variable "BUGSNAG_PROJECT_ROOT" to "/foo/bar"
44
- And I start the service "rails<rails_version>"
45
- And I wait for the app to respond on port "6128<rails_version>"
46
- When I navigate to the route "/project_root/initializer" on port "6128<rails_version>"
47
- Then I should receive a request
48
- And the request is a valid for the error reporting API
49
- And the request used the "Ruby Bugsnag Notifier" notifier
50
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
51
- And the payload field "events" is an array with 1 element
14
+ @rails3 @rails4 @rails5 @rails6
15
+ Scenario: Project_root can be set in an initializer
16
+ Given I set environment variable "BUGSNAG_PROJECT_ROOT" to "/foo/bar"
17
+ And I start the rails service
18
+ When I navigate to the route "/project_root/initializer" on the rails app
19
+ And I wait to receive a request
20
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
52
21
  And the exception "errorClass" equals "RuntimeError"
53
22
  And the exception "message" starts with "handled string"
54
23
  And the event "metaData.request.url" ends with "/project_root/initializer"
55
24
  And the "file" of the top non-bugsnag stackframe equals "/usr/src/app/controllers/project_root_controller.rb"
56
25
 
57
- Examples:
58
- | ruby_version | rails_version |
59
- | 2.0 | 3 |
60
- | 2.1 | 3 |
61
- | 2.2 | 3 |
62
- | 2.2 | 4 |
63
- | 2.2 | 5 |
64
- | 2.3 | 3 |
65
- | 2.3 | 4 |
66
- | 2.3 | 5 |
67
- | 2.4 | 3 |
68
- | 2.4 | 5 |
69
- | 2.5 | 3 |
70
- | 2.5 | 5 |
71
- | 2.5 | 6 |
72
- | 2.6 | 5 |
73
- | 2.6 | 6 |
74
-
75
- Scenario Outline: Project_root can be set after an initializer
76
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
77
- And I start the service "rails<rails_version>"
78
- And I wait for the app to respond on port "6128<rails_version>"
79
- When I navigate to the route "/project_root/after" on port "6128<rails_version>"
80
- Then I should receive a request
81
- And the request is a valid for the error reporting API
82
- And the request used the "Ruby Bugsnag Notifier" notifier
83
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
84
- And the payload field "events" is an array with 1 element
26
+ @rails3 @rails4 @rails5 @rails6
27
+ Scenario: Project_root can be set after an initializer
28
+ Given I start the rails service
29
+ When I navigate to the route "/project_root/after" on the rails app
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"
85
32
  And the exception "errorClass" equals "RuntimeError"
86
33
  And the exception "message" starts with "handled string"
87
34
  And the event "metaData.request.url" ends with "/project_root/after"
88
35
  And the "file" of the top non-bugsnag stackframe equals "/usr/src/app/controllers/project_root_controller.rb"
89
-
90
- Examples:
91
- | ruby_version | rails_version |
92
- | 2.0 | 3 |
93
- | 2.1 | 3 |
94
- | 2.2 | 3 |
95
- | 2.2 | 4 |
96
- | 2.2 | 5 |
97
- | 2.3 | 3 |
98
- | 2.3 | 4 |
99
- | 2.3 | 5 |
100
- | 2.4 | 3 |
101
- | 2.4 | 5 |
102
- | 2.5 | 3 |
103
- | 2.5 | 5 |
104
- | 2.5 | 6 |
105
- | 2.6 | 5 |
106
- | 2.6 | 6 |
@@ -1,95 +1,27 @@
1
1
  Feature: Release stage
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "APP_PATH" to "/usr/src"
6
- And I configure the bugsnag endpoint
7
-
8
- Scenario Outline: Release_stage should default to RAILS_ENV
9
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
10
- And I set environment variable "RAILS_ENV" to "rails_env"
11
- And I start the service "rails<rails_version>"
12
- And I wait for the app to respond on port "6128<rails_version>"
13
- When I navigate to the route "/release_stage/default" on port "6128<rails_version>"
14
- Then I should receive a request
15
- And the request is a valid for the error reporting API
16
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
17
- And the payload field "events" is an array with 1 element
3
+ @rails3 @rails4 @rails5 @rails6
4
+ Scenario: Release_stage should default to RAILS_ENV
5
+ Given I set environment variable "RAILS_ENV" to "rails_env"
6
+ And I start the rails service
7
+ When I navigate to the route "/release_stage/default" on the rails app
8
+ And I wait to receive a request
9
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
18
10
  And the event "app.releaseStage" equals "rails_env"
19
11
 
20
- Examples:
21
- | ruby_version | rails_version |
22
- | 2.0 | 3 |
23
- | 2.1 | 3 |
24
- | 2.2 | 3 |
25
- | 2.2 | 4 |
26
- | 2.2 | 5 |
27
- | 2.3 | 3 |
28
- | 2.3 | 4 |
29
- | 2.3 | 5 |
30
- | 2.4 | 3 |
31
- | 2.4 | 5 |
32
- | 2.5 | 3 |
33
- | 2.5 | 5 |
34
- | 2.5 | 6 |
35
- | 2.6 | 5 |
36
- | 2.6 | 6 |
37
-
38
- Scenario Outline: Release_stage can be set in an initializer
39
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
40
- And I set environment variable "BUGSNAG_RELEASE_STAGE" to "maze_release_stage_env"
41
- And I start the service "rails<rails_version>"
42
- And I wait for the app to respond on port "6128<rails_version>"
43
- When I navigate to the route "/release_stage/default" on port "6128<rails_version>"
44
- Then I should receive a request
45
- And the request is a valid for the error reporting API
46
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
47
- And the payload field "events" is an array with 1 element
12
+ @rails3 @rails4 @rails5 @rails6
13
+ Scenario: Release_stage can be set in an initializer
14
+ Given I set environment variable "BUGSNAG_RELEASE_STAGE" to "maze_release_stage_env"
15
+ And I start the rails service
16
+ When I navigate to the route "/release_stage/default" on the rails app
17
+ And I wait to receive a request
18
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
48
19
  And the event "app.releaseStage" equals "maze_release_stage_env"
49
20
 
50
- Examples:
51
- | ruby_version | rails_version |
52
- | 2.0 | 3 |
53
- | 2.1 | 3 |
54
- | 2.2 | 3 |
55
- | 2.2 | 4 |
56
- | 2.2 | 5 |
57
- | 2.3 | 3 |
58
- | 2.3 | 4 |
59
- | 2.3 | 5 |
60
- | 2.4 | 3 |
61
- | 2.4 | 5 |
62
- | 2.5 | 3 |
63
- | 2.5 | 5 |
64
- | 2.5 | 6 |
65
- | 2.6 | 5 |
66
- | 2.6 | 6 |
67
-
68
- Scenario Outline: Release_stage can be set after an initializer
69
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
70
- And I start the service "rails<rails_version>"
71
- And I wait for the app to respond on port "6128<rails_version>"
72
- When I navigate to the route "/release_stage/after?stage=set_after_env" on port "6128<rails_version>"
73
- Then I should receive a request
74
- And the request is a valid for the error reporting API
75
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
76
- And the payload field "events" is an array with 1 element
21
+ @rails3 @rails4 @rails5 @rails6
22
+ Scenario: Release_stage can be set after an initializer
23
+ Given I start the rails service
24
+ When I navigate to the route "/release_stage/after?stage=set_after_env" on the rails app
25
+ And I wait to receive a request
26
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
77
27
  And the event "app.releaseStage" equals "set_after_env"
78
-
79
- Examples:
80
- | ruby_version | rails_version |
81
- | 2.0 | 3 |
82
- | 2.1 | 3 |
83
- | 2.2 | 3 |
84
- | 2.2 | 4 |
85
- | 2.2 | 5 |
86
- | 2.3 | 3 |
87
- | 2.3 | 4 |
88
- | 2.3 | 5 |
89
- | 2.4 | 3 |
90
- | 2.4 | 5 |
91
- | 2.5 | 3 |
92
- | 2.5 | 5 |
93
- | 2.5 | 6 |
94
- | 2.6 | 5 |
95
- | 2.6 | 6 |
@@ -1,64 +1,18 @@
1
1
  Feature: Send code
2
2
 
3
- Background:
4
- Given I set environment variable "BUGSNAG_API_KEY" to "a35a2a72bd230ac0aa0f52715bbdc6aa"
5
- And I set environment variable "APP_PATH" to "/usr/src"
6
- And I configure the bugsnag endpoint
7
-
8
- Scenario Outline: Send_code can be updated in an initializer
9
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
10
- And I set environment variable "BUGSNAG_SEND_CODE" to "false"
11
- And I start the service "rails<rails_version>"
12
- And I wait for the app to respond on port "6128<rails_version>"
13
- When I navigate to the route "/send_code/initializer" on port "6128<rails_version>"
14
- Then I should receive a request
15
- And the request is a valid for the error reporting API
16
- And the payload field "events" is an array with 1 element
3
+ @rails3 @rails4 @rails5 @rails6
4
+ Scenario: Send_code can be updated in an initializer
5
+ Given I set environment variable "BUGSNAG_SEND_CODE" to "false"
6
+ And I start the rails service
7
+ When I navigate to the route "/send_code/initializer" on the rails app
8
+ And I wait to receive a request
9
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
17
10
  And the event "exceptions.0.stacktrace.0.code" is null
18
11
 
19
- Examples:
20
- | ruby_version | rails_version |
21
- | 2.0 | 3 |
22
- | 2.1 | 3 |
23
- | 2.2 | 3 |
24
- | 2.2 | 4 |
25
- | 2.2 | 5 |
26
- | 2.3 | 3 |
27
- | 2.3 | 4 |
28
- | 2.3 | 5 |
29
- | 2.4 | 3 |
30
- | 2.4 | 5 |
31
- | 2.5 | 3 |
32
- | 2.5 | 5 |
33
- | 2.5 | 6 |
34
- | 2.6 | 5 |
35
- | 2.6 | 6 |
36
-
37
- Scenario Outline: Send_code can be updated after an initializer
38
- Given I set environment variable "RUBY_VERSION" to "<ruby_version>"
39
- And I start the service "rails<rails_version>"
40
- And I wait for the app to respond on port "6128<rails_version>"
41
- When I navigate to the route "/send_code/after" on port "6128<rails_version>"
42
- Then I should receive a request
43
- And the request is a valid for the error reporting API
44
- And the request contained the api key "a35a2a72bd230ac0aa0f52715bbdc6aa"
45
- And the payload field "events" is an array with 1 element
12
+ @rails3 @rails4 @rails5 @rails6
13
+ Scenario: Send_code can be updated after an initializer
14
+ Given I start the rails service
15
+ When I navigate to the route "/send_code/after" on the rails app
16
+ And I wait to receive a request
17
+ Then the request is valid for the error reporting API version "4.0" for the "Ruby Bugsnag Notifier"
46
18
  And the event "exceptions.0.stacktrace.0.code" is null
47
-
48
- Examples:
49
- | ruby_version | rails_version |
50
- | 2.0 | 3 |
51
- | 2.1 | 3 |
52
- | 2.2 | 3 |
53
- | 2.2 | 4 |
54
- | 2.2 | 5 |
55
- | 2.3 | 3 |
56
- | 2.3 | 4 |
57
- | 2.3 | 5 |
58
- | 2.4 | 3 |
59
- | 2.4 | 5 |
60
- | 2.5 | 3 |
61
- | 2.5 | 5 |
62
- | 2.5 | 6 |
63
- | 2.6 | 5 |
64
- | 2.6 | 6 |