{% extends "withoutnav_template.html" %} {% block page_title %} Integration testing - GOV.UK Notify {% endblock %} {% block maincolumn_content %}

Integration testing

Service teams should do all their testing within the GOV.UK Notify production environment (https://api.notifications.service.gov.uk).

You don’t need different Notify accounts or access to other Notify environments. Instead, there are different types of API key that let you do functional or performance integration testing.

API Keys

The 3 types of API key that you can create within GOV.UK Notify are:

Live key

Once your service is live you are able to create Live keys. You can then use these key to send messages to anyone.

Messages sent with a live key show up on your dashboard and count against your text message and email allowances.

You should plan to rotate these keys on a regular basis. You may have more than one active key at a time. To revoke the key simply click the revoke button on the API Key page.

Team key

Use a team key for end-to-end functional testing.

A team key lets you send real messages to members of your team (and addresses/numbers that you have added to your whitelist). You will get an error if you use these keys to send messages to anyone else.

Messages sent with a team key show up on your dashboard and count against your text message and email allowances.

Test key

Use a test key to test the performance of your service and its integration with GOV.UK Notify under load.

A test key doesn’t send real messages but generates realistic responses. There’s no restriction on who you can send to or how many messages you can send per day.

Messages sent using a test key don’t show up on your dashboard or count against your text message and email allowances.

By default, all messages sent with a test key will result in a delivered status.

If you want to test failure statuses with a test key, use the following phone numbers and email addresses:

  • "07700900003" => temporary failure
  • "07700900002" => permanent failure
  • "temp-fail@simulator.notify" => temporary failure
  • "perm-fail@simulator.notify" => permanent failure
  • {% endblock %}