From 156d38499a431659b6f6e6c93c362d2a59e72f71 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Tue, 6 Nov 2018 17:24:30 +0000 Subject: [PATCH 1/2] Remove integration testing content This is covered in the new client library documentation. All of the client libraries now have their documentation published in the new format. --- app/main/views/index.py | 2 +- app/templates/views/integration-testing.html | 149 +------------------ tests/app/main/views/test_index.py | 19 ++- 3 files changed, 23 insertions(+), 147 deletions(-) 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/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 ): From b1832a4c43aa48d86ab18036bdb9b6f5465220ed Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Tue, 6 Nov 2018 17:25:33 +0000 Subject: [PATCH 2/2] Remove link to integration testing page This page has ben deprecated. --- app/templates/views/documentation.html | 1 - 1 file changed, 1 deletion(-) 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.