diff --git a/app/main/views/api_keys.py b/app/main/views/api_keys.py index fd29426ae..1a0492351 100644 --- a/app/main/views/api_keys.py +++ b/app/main/views/api_keys.py @@ -5,13 +5,13 @@ from app.main.forms import CreateKeyForm from app import api_key_api_client -@main.route("/services//documentation") +@main.route("/services//documentation") @login_required def documentation(service_id): return render_template('views/documentation.html', service_id=service_id) -@main.route("/services//api-keys") +@main.route("/services//api-keys") @login_required def api_keys(service_id): return render_template( @@ -21,7 +21,7 @@ def api_keys(service_id): ) -@main.route("/services//api-keys/create", methods=['GET', 'POST']) +@main.route("/services//api-keys/create", methods=['GET', 'POST']) @login_required def create_api_key(service_id): key_names = [ @@ -39,7 +39,7 @@ def create_api_key(service_id): ) -@main.route("/services//api-keys/revoke/", methods=['GET', 'POST']) +@main.route("/services//api-keys/revoke/", methods=['GET', 'POST']) @login_required def revoke_api_key(service_id, key_id): key_name = api_key_api_client.get_api_keys(service_id=service_id, key_id=key_id)['apiKeys'][0]['name'] diff --git a/app/main/views/dashboard.py b/app/main/views/dashboard.py index fab51f284..e3720a444 100644 --- a/app/main/views/dashboard.py +++ b/app/main/views/dashboard.py @@ -7,7 +7,7 @@ from client.errors import HTTPError from ._jobs import jobs -@main.route("/services//dashboard") +@main.route("/services//dashboard") @login_required def service_dashboard(service_id): try: @@ -31,4 +31,4 @@ def service_dashboard(service_id): free_text_messages_remaining='25,000', spent_this_month='0.00', has_templates=bool(len(templates)), - service_id=service_id) + service_id=str(service_id)) diff --git a/app/main/views/index.py b/app/main/views/index.py index daa532fc8..941cc72ae 100644 --- a/app/main/views/index.py +++ b/app/main/views/index.py @@ -24,19 +24,19 @@ def verify_mobile(): return render_template('views/verify-mobile.html') -@main.route("/services//send-email") +@main.route("/services//send-email") @login_required def send_email(service_id): return render_template('views/send-email.html', service_id=service_id) -@main.route("/services//check-email") +@main.route("/services//check-email") @login_required def check_email(service_id): return render_template('views/check-email.html') -@main.route("/services//manage-users") +@main.route("/services//manage-users") @login_required def manage_users(service_id): return render_template('views/manage-users.html', service_id=service_id) diff --git a/app/main/views/jobs.py b/app/main/views/jobs.py index c9f2bdf2e..413bd2491 100644 --- a/app/main/views/jobs.py +++ b/app/main/views/jobs.py @@ -15,7 +15,7 @@ from app.main import main now = time.strftime('%H:%M') -@main.route("/services//jobs") +@main.route("/services//jobs") @login_required def view_jobs(service_id): try: @@ -32,7 +32,7 @@ def view_jobs(service_id): raise e -@main.route("/services//jobs/") +@main.route("/services//jobs/") @login_required def view_job(service_id, job_id): try: @@ -64,7 +64,7 @@ def view_job(service_id, job_id): raise e -@main.route("/services//jobs//notification/") +@main.route("/services//jobs//notification/") @login_required def view_notification(service_id, job_id, notification_id): return render_template( diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index bf0197ceb..1dacd1d0f 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -10,7 +10,7 @@ from app.main.forms import ConfirmPasswordForm, ServiceNameForm from client.errors import HTTPError -@main.route("/services//service-settings") +@main.route("/services//service-settings") @login_required def service_settings(service_id): try: @@ -27,7 +27,7 @@ def service_settings(service_id): ) -@main.route("/services//service-settings/name", methods=['GET', 'POST']) +@main.route("/services//service-settings/name", methods=['GET', 'POST']) @login_required def service_name_change(service_id): try: @@ -51,7 +51,7 @@ def service_name_change(service_id): service_id=service_id) -@main.route("/services//service-settings/name/confirm", methods=['GET', 'POST']) +@main.route("/services//service-settings/name/confirm", methods=['GET', 'POST']) @login_required def service_name_change_confirm(service_id): try: @@ -80,7 +80,7 @@ def service_name_change_confirm(service_id): service_id=service_id) -@main.route("/services//service-settings/request-to-go-live", methods=['GET', 'POST']) +@main.route("/services//service-settings/request-to-go-live", methods=['GET', 'POST']) @login_required def service_request_to_go_live(service_id): try: @@ -102,7 +102,7 @@ def service_request_to_go_live(service_id): return redirect(url_for('.service_settings', service_id=service_id)) -@main.route("/services//service-settings/status", methods=['GET', 'POST']) +@main.route("/services//service-settings/status", methods=['GET', 'POST']) @login_required def service_status_change(service_id): try: @@ -123,7 +123,7 @@ def service_status_change(service_id): return redirect(url_for('.service_status_change_confirm', service_id=service_id)) -@main.route("/services//service-settings/status/confirm", methods=['GET', 'POST']) +@main.route("/services//service-settings/status/confirm", methods=['GET', 'POST']) @login_required def service_status_change_confirm(service_id): try: @@ -151,7 +151,7 @@ def service_status_change_confirm(service_id): service_id=service_id) -@main.route("/services//service-settings/delete", methods=['GET', 'POST']) +@main.route("/services//service-settings/delete", methods=['GET', 'POST']) @login_required def service_delete(service_id): try: @@ -172,7 +172,7 @@ def service_delete(service_id): return redirect(url_for('.service_delete_confirm', service_id=service_id)) -@main.route("/services//service-settings/delete/confirm", methods=['GET', 'POST']) +@main.route("/services//service-settings/delete/confirm", methods=['GET', 'POST']) @login_required def service_delete_confirm(service_id): try: diff --git a/app/main/views/sms.py b/app/main/views/sms.py index 0a1f69c9f..e02df960d 100644 --- a/app/main/views/sms.py +++ b/app/main/views/sms.py @@ -31,7 +31,7 @@ from app.main.utils import ( ) -@main.route("/services//sms/send", methods=['GET', 'POST']) +@main.route("/services//sms/send", methods=['GET', 'POST']) @login_required def send_sms(service_id): form = CsvUploadForm() @@ -67,7 +67,7 @@ def send_sms(service_id): service_id=service_id) -@main.route("/services//sms/check/", +@main.route("/services//sms/check/", methods=['GET', 'POST']) @login_required def check_sms(service_id, upload_id): diff --git a/app/main/views/templates.py b/app/main/views/templates.py index ead3747e6..2cb9176c8 100644 --- a/app/main/views/templates.py +++ b/app/main/views/templates.py @@ -9,7 +9,7 @@ from app.main.dao import services_dao as sdao from client.errors import HTTPError -@main.route("/services//templates") +@main.route("/services//templates") @login_required def manage_service_templates(service_id): try: @@ -25,7 +25,7 @@ def manage_service_templates(service_id): templates=[tdao.TemplatesBrowsableItem(x) for x in templates]) -@main.route("/services//templates/add", methods=['GET', 'POST']) +@main.route("/services//templates/add", methods=['GET', 'POST']) @login_required def add_service_template(service_id): try: @@ -50,7 +50,7 @@ def add_service_template(service_id): service_id=service_id) -@main.route("/services//templates/", methods=['GET', 'POST']) +@main.route("/services//templates/", methods=['GET', 'POST']) @login_required def edit_service_template(service_id, template_id): try: @@ -78,7 +78,7 @@ def edit_service_template(service_id, template_id): template_id=template_id) -@main.route("/services//templates//delete", methods=['GET', 'POST']) +@main.route("/services//templates//delete", methods=['GET', 'POST']) @login_required def delete_service_template(service_id, template_id): try: diff --git a/tests/app/main/views/test_api_keys.py b/tests/app/main/views/test_api_keys.py index 25fc0c283..aaba5f2b0 100644 --- a/tests/app/main/views/test_api_keys.py +++ b/tests/app/main/views/test_api_keys.py @@ -1,3 +1,4 @@ +import uuid from datetime import date from flask import url_for @@ -10,7 +11,7 @@ def test_should_show_api_keys_and_documentation_page(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - response = client.get(url_for('main.documentation', service_id=123)) + response = client.get(url_for('main.documentation', service_id=uuid.uuid4())) assert response.status_code == 200 @@ -24,12 +25,13 @@ def test_should_show_empty_api_keys_page(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - response = client.get(url_for('main.api_keys', service_id=123)) + service_id = str(uuid.uuid4()) + response = client.get(url_for('main.api_keys', service_id=service_id)) assert response.status_code == 200 assert 'You haven’t created any API keys yet' in response.get_data(as_text=True) assert 'Create a new API key' in response.get_data(as_text=True) - mock_get_no_api_keys.assert_called_once_with(service_id=123) + mock_get_no_api_keys.assert_called_once_with(service_id=service_id) def test_should_show_api_keys_page(app_, @@ -41,13 +43,14 @@ def test_should_show_api_keys_page(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - response = client.get(url_for('main.api_keys', service_id=123)) + service_id = str(uuid.uuid4()) + response = client.get(url_for('main.api_keys', service_id=service_id)) assert response.status_code == 200 assert 'some key name' in response.get_data(as_text=True) assert 'another key name' in response.get_data(as_text=True) assert 'Revoked Thursday 01 January 1970 at 00:00' in response.get_data(as_text=True) - mock_get_api_keys.assert_called_once_with(service_id=123) + mock_get_api_keys.assert_called_once_with(service_id=service_id) def test_should_show_name_api_key_page(app_, @@ -59,7 +62,8 @@ def test_should_show_name_api_key_page(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - response = client.get(url_for('main.create_api_key', service_id=123)) + service_id = str(uuid.uuid4()) + response = client.get(url_for('main.create_api_key', service_id=service_id)) assert response.status_code == 200 @@ -74,12 +78,13 @@ def test_should_render_show_api_key(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - response = client.post(url_for('main.create_api_key', service_id=123), + service_id = str(uuid.uuid4()) + response = client.post(url_for('main.create_api_key', service_id=service_id), data={'key_name': 'some default key name'}) assert response.status_code == 200 assert 'some default key name' in response.get_data(as_text=True) - mock_create_api_key.assert_called_once_with(service_id=123, key_name='some default key name') + mock_create_api_key.assert_called_once_with(service_id=service_id, key_name='some default key name') def test_should_show_confirm_revoke_api_key(app_, @@ -91,11 +96,12 @@ def test_should_show_confirm_revoke_api_key(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - response = client.get(url_for('main.revoke_api_key', service_id=123, key_id=321)) + service_id = str(uuid.uuid4()) + response = client.get(url_for('main.revoke_api_key', service_id=service_id, key_id=321)) assert response.status_code == 200 assert 'some key name' in response.get_data(as_text=True) - mock_get_api_keys.assert_called_once_with(service_id=123, key_id=321) + mock_get_api_keys.assert_called_once_with(service_id=service_id, key_id=321) def test_should_redirect_after_revoking_api_key(app_, @@ -108,9 +114,10 @@ def test_should_redirect_after_revoking_api_key(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - response = client.post(url_for('main.revoke_api_key', service_id=123, key_id=321)) + service_id = str(uuid.uuid4()) + response = client.post(url_for('main.revoke_api_key', service_id=service_id, key_id=321)) assert response.status_code == 302 - assert response.location == url_for('.api_keys', service_id=123, _external=True) - mock_revoke_api_key.assert_called_once_with(service_id=123, key_id=321) - mock_get_api_keys.assert_called_once_with(service_id=123, key_id=321) + assert response.location == url_for('.api_keys', service_id=service_id, _external=True) + mock_revoke_api_key.assert_called_once_with(service_id=service_id, key_id=321) + mock_get_api_keys.assert_called_once_with(service_id=service_id, key_id=321) diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py index 8e4ff9d2a..525c3bcb4 100644 --- a/tests/app/main/views/test_templates.py +++ b/tests/app/main/views/test_templates.py @@ -1,4 +1,6 @@ import json +import uuid + from flask import url_for @@ -11,7 +13,7 @@ def test_should_return_list_of_all_templates(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - service_id = 123 + service_id = str(uuid.uuid4()) response = client.get(url_for( '.manage_service_templates', service_id=service_id)) @@ -28,7 +30,7 @@ def test_should_show_page_for_one_templates(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - service_id = 123 + service_id = str(uuid.uuid4()) template_id = 456 response = client.get(url_for( '.edit_service_template', @@ -52,7 +54,7 @@ def test_should_redirect_when_saving_a_template(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - service_id = 123 + service_id = str(uuid.uuid4()) template_id = 456 name = "new name" type_ = "sms" @@ -85,7 +87,7 @@ def test_should_show_delete_template_page(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - service_id = 123 + service_id = str(uuid.uuid4()) template_id = 456 response = client.get(url_for( '.delete_service_template', @@ -108,7 +110,7 @@ def test_should_redirect_when_deleting_a_template(app_, with app_.test_request_context(): with app_.test_client() as client: client.login(api_user_active) - service_id = 123 + service_id = str(uuid.uuid4()) template_id = 456 name = "new name" type_ = "sms" diff --git a/tests/conftest.py b/tests/conftest.py index e7c0f7a6a..93cf43486 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -30,7 +30,8 @@ def app_(request): @pytest.fixture(scope='function') def service_one(request, api_user_active): - return service_json(1, 'service one', [api_user_active.id]) + import uuid + return service_json(str(uuid.uuid4()), 'service one', [api_user_active.id]) @pytest.fixture(scope='function') @@ -89,10 +90,11 @@ def mock_get_services(mocker, user=None): user = api_user_active() def _create(user_id=None): + import uuid service_one = service_json( - 1, "service_one", [user.id], 1000, True, False) + uuid.uuid4(), "service_one", [user.id], 1000, True, False) service_two = service_json( - 2, "service_two", [user.id], 1000, True, False) + uuid.uuid4(), "service_two", [user.id], 1000, True, False) return {'data': [service_one, service_two]} return mocker.patch(