Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Smoke tests for GOV.UK
Cucumber Ruby Python Shell

Merge pull request #129 from alphagov/remove-performance-platform-fea…

…ture

Remove the performance platform feature
latest commit ac929b42d9
@bradleywright bradleywright authored
Failed to load latest commit information.
features Remove the performance platform feature
log Add rest-client logging to Smokey.
manual_test [#46580317] separating code into classes, and removing duplication
.gitignore Add rest-client logging to Smokey.
.ruby-version add rbenv file for ruby 1.9.3
Gemfile Prefer https
Gemfile.lock Prefer https
README.md
Rakefile Remove notproduction tag
check_all_json.sh Wrong priority list in check_all_json.sh
cron_json.sh Remove notproduction tag
deploy.sh Use an interactive shell when deploying
jenkins.sh Clean out untracked files before running
last_run_output.sh [#46580317] Make last_run_report.sh executable
nagios_check_cache.py I despise Unicode, 127 characters is enough already

README.md

GOV.UK Smoke Tests

Automated tests that describe high level user journeys which touch multiple applications within the GOV.UK stack.

These are used to verify releases and also to provide Nagios alerts for major features.

Technical documentation

The smoke tests are based on Cucumber. We use feature files to describe single applications (eg whitehall, frontend).

Running the tests

Run the suite with:

bundle exec rake

or against a single feature:

bundle exec cucumber features/frontend.feature

The tests will run against the preview environment by default. You can override that by setting the GOVUK_WEBSITE_ROOT environment variable.

You'll need to configure the http auth credentials by setting the AUTH_USERNAME and AUTH_PASSWORD environment variables.

GOVUK_WEBSITE_ROOT=https://hostname AUTH_USERNAME=username AUTH_PASSWORD=password bundle exec rake

Adding new tests

Tests that are supposed to be run by icinga also have to be added to the file modules/monitoring/manifests/checks/smokey.pp in our Puppet repository. For example, the test frontend.feature is added to icinga like this:

icinga::check_feature {
  'check_frontend':          feature => 'frontend';
  #other feature tests
}

Prioritising scenarios

Because we integrate Nagios with the output from these tests, we provide a set of tags which match with how important we consider a scenario to be. @high and above will trigger pager alerts.

Each scenario can and should be prioritised by using the @urgent, @high, @normal or @low cucumber tags. For example, the frontend scenario "check guides load" can be prioritised like this:

@low
Scenario: check guides load
  When I visit "/getting-an-mot/overview"
  Then I should see "Getting an MOT"
Something went wrong with that request. Please try again.