Skip to content

Commit

Permalink
setup release stage scenarios
Browse files Browse the repository at this point in the history
  • Loading branch information
fractalwrench committed Feb 22, 2018
1 parent c28a4ae commit e84cd57
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 0 deletions.
11 changes: 11 additions & 0 deletions features/inside_release_stage.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Feature: Android support

Scenario: Inside release stage
When I run "InsideReleaseStageScenario" with the defaults
Then I should receive a request
And the request is a valid for the error reporting API
And the "Bugsnag-API-Key" header equals "a35a2a72bd230ac0aa0f52715bbdc6aa"
And the payload field "notifier.name" equals "Android Bugsnag Notifier"
And the payload field "events" is an array with 1 element
And the exception "errorClass" equals "java.lang.RuntimeException"
And the exception "message" equals "InsideReleaseStageScenario"
5 changes: 5 additions & 0 deletions features/outside_release_stage.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Feature: Android support

Scenario: Outside release stage
When I run "OutsideReleaseStageScenario" with the defaults
Then I should receive no requests
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.bugsnag.android.mazerunner.scenarios

import com.bugsnag.android.Bugsnag

/**
* Attempts to send a handled exception to Bugsnag, when the release stage is set.
*/
internal class InsideReleaseStageScenario : Scenario() {

override fun run() {
Bugsnag.setReleaseStage("prod")
Bugsnag.setNotifyReleaseStages("prod")
Bugsnag.notify(RuntimeException("InsideReleaseStageScenario"))
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.bugsnag.android.mazerunner.scenarios

import com.bugsnag.android.Bugsnag

/**
* Attempts to send a handled exception to Bugsnag, when the release stage is not included.
* This should result in no operation.
*/
internal class OutsideReleaseStageScenario : Scenario() {

override fun run() {
Bugsnag.setReleaseStage("prod")
Bugsnag.setNotifyReleaseStages("dev")
Bugsnag.notify(RuntimeException("OutsideReleaseStageScenario"))
}

}

0 comments on commit e84cd57

Please sign in to comment.