diff --git a/app/main/views/index.py b/app/main/views/index.py index 4bd91594f..24aa8eb44 100644 --- a/app/main/views/index.py +++ b/app/main/views/index.py @@ -178,7 +178,7 @@ def documentation(): @main.route('/integration-testing') def integration_testing(): - return render_template('views/integration-testing.html') + return render_template('views/integration-testing.html'), 410 @main.route('/callbacks') diff --git a/app/templates/views/documentation.html b/app/templates/views/documentation.html index e4b643b20..0729b7658 100644 --- a/app/templates/views/documentation.html +++ b/app/templates/views/documentation.html @@ -23,7 +23,6 @@
  • {{ label }}
  • {% endfor %} -

    You can also find out about integration testing and the different types of API keys that you can use.

    diff --git a/app/templates/views/integration-testing.html b/app/templates/views/integration-testing.html index 45ae8ffb5..c1a18677a 100644 --- a/app/templates/views/integration-testing.html +++ b/app/templates/views/integration-testing.html @@ -11,154 +11,13 @@

    Integration testing

    +

    This information has moved.

    +

    - There are different types of API keys that let you do functional or performance integration testing. - You don’t need different GOV.UK Notify accounts or access to other GOV.UK Notify environments. + Refer to the documentation + for the client library you are using.

    -

    Types of API Keys

    -
    - {% call mapping_table( - caption='Test numbers/address that generate error responses', - field_headings=['Label', 'Value'], - field_headings_visible=False, - caption_visible=False - ) %} - {% call row() %} - {{ text_field('Live') }} - {{ text_field('sends to anyone') }} - {% endcall %} - - {% call row() %} - {{ text_field('Team and whitelist') }} - {{ text_field('limits who you can send to') }} - {% endcall %} - - {% call row() %} - {{ text_field('Test') }} - {{ text_field('pretends to send messages') }} - {% endcall %} - {%endcall%} -
    -

    Live key

    -

    - Once your service is live you are able to create Live keys. You can then use these keys 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 revoke and re-create these keys on a regular basis. You can have more than one active key at a time. To revoke a key click the revoke button on the API Key page. -

    - -
    -

    - You should never send test messages to invalid numbers or addresses using a live key. This will lead to your API key being revoked. -

    -
    - -

    Team and whitelist key

    -

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

    -

    - A team and whitelist 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 and whitelist 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. -

    -

    - Test keys don’t send real messages but do generate realistic responses. - There’s no restriction on who you can send to. -

    -

    - 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 responses with a test key, use the following numbers and addresses: -

    - - {% call mapping_table( - caption='Test numbers/address that generate error responses', - field_headings=['Label', 'Value', 'Action'], - field_headings_visible=False, - caption_visible=False - ) %} - {% call row() %} - {{ text_field('07700900003') }} - {{ text_field('temporary failure') }} - {% endcall %} - {% call row() %} - {{ text_field('07700900002') }} - {{ text_field('permanent failure') }} - {% endcall %} - {% call row() %} - {{ text_field('temp-fail@simulator.notify') }} - {{ text_field('temporary failure') }} - {% endcall %} - {% call row() %} - {{ text_field('perm-fail@simulator.notify') }} - {{ text_field('permanent failure') }} - {% endcall %} - {% call row() %} - {{ text_field('any other valid number or address') }} - {{ text_field('delivered') }} - {% endcall %} - {% endcall %} - -
    -

    - -

    Smoke testing your integration

    -

    - If you need to smoke test your integration with GOV.UK Notify on a regular basis, you should use the smoke test numbers and addresses below. -

    - {% call mapping_table( - caption='Test numbers/address that generate error responses', - field_headings=['Label'], - field_headings_visible=False, - caption_visible=False - ) %} - {% call row() %} - {{ text_field('07700900111') }} - {% endcall %} - {% call row() %} - {{ text_field('07700900222') }} - {% endcall %} - {% call row() %} - {{ text_field('07700900333') }} - {% endcall %} - {% call row() %} - {{ text_field('simulate-delivered@notifications.service.gov.uk') }} - {% endcall %} - {% call row() %} - {{ text_field('simulate-delivered-2@notifications.service.gov.uk') }} - {% endcall %} - - {% call row() %} - {{ text_field('simulate-delivered-3@notifications.service.gov.uk') }} - {% endcall %} - {% endcall %} -
    - -

    -

    - The smoke test numbers and addresses will immediately return a successful response, but won’t send a real message and won’t produce a delivery receipt. - The notification ID is not a real ID, you will not be able to fetch the notification by ID. -

    -

    - You can use the smoke test numbers and addresses with any type of key. - If your smoke tests need to get the status of a message, then use a test key and don’t use these numbers and addresses. -

    -
    diff --git a/tests/app/main/views/test_index.py b/tests/app/main/views/test_index.py index 1795dece3..e724451cb 100644 --- a/tests/app/main/views/test_index.py +++ b/tests/app/main/views/test_index.py @@ -55,7 +55,7 @@ def test_robots(client): @pytest.mark.parametrize('view', [ - 'cookies', 'privacy', 'using_notify', 'pricing', 'terms', 'integration_testing', 'roadmap', + 'cookies', 'privacy', 'using_notify', 'pricing', 'terms', 'roadmap', 'features', 'callbacks', 'documentation', 'security' ]) def test_static_pages( @@ -106,6 +106,23 @@ def test_old_static_pages_redirect( ) +def test_old_integration_testing_page( + client_request, +): + page = client_request.get( + 'main.integration_testing', + _expected_status=410, + ) + assert normalize_spaces(page.select_one('.grid-row').text) == ( + 'Integration testing ' + 'This information has moved. ' + 'Refer to the documentation for the client library you are using.' + ) + assert page.select_one('.grid-row a')['href'] == url_for( + 'main.documentation' + ) + + def test_terms_is_generic_if_user_is_not_logged_in( client ):