diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index b65f449d0..fc7f2a675 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -184,39 +184,6 @@ def service_switch_can_send_letters(service_id): return redirect(url_for('.service_settings', service_id=service_id)) -@main.route("/services//service-settings/delete", methods=['GET', 'POST']) -@login_required -@user_has_permissions('manage_settings', admin_override=True) -def service_delete(service_id): - if request.method == 'GET': - return render_template( - 'views/service-settings/delete.html' - ) - elif request.method == 'POST': - return redirect(url_for('.service_delete_confirm', service_id=service_id)) - - -@main.route("/services//service-settings/delete/confirm", methods=['GET', 'POST']) -@login_required -@user_has_permissions('manage_settings', admin_override=True) -def service_delete_confirm(service_id): - # Validate password for form - def _check_password(pwd): - return user_api_client.verify_password(current_user.id, pwd) - - form = ConfirmPasswordForm(_check_password) - - if form.validate_on_submit(): - service_api_client.delete_service(service_id) - return redirect(url_for('.choose_service')) - - return render_template( - 'views/service-settings/confirm.html', - heading='Delete this service from Notify', - destructive=True, - form=form) - - @main.route("/services//service-settings/set-reply-to-email", methods=['GET', 'POST']) @login_required @user_has_permissions('manage_settings', admin_override=True) diff --git a/app/notify_client/service_api_client.py b/app/notify_client/service_api_client.py index 17ff797be..b3df8d18f 100644 --- a/app/notify_client/service_api_client.py +++ b/app/notify_client/service_api_client.py @@ -31,14 +31,6 @@ class ServiceAPIClient(NotificationsAPIClient): data = _attach_current_user(data) return self.post("/service", data)['data']['id'] - def delete_service(self, service_id): - """ - Delete a service. - """ - endpoint = "/service/{0}".format(service_id) - data = _attach_current_user({}) - return self.delete(endpoint, data) - def get_service(self, service_id): return self._get_service(service_id, detailed=False, today_only=False) diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index 60ff51134..5505283e6 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -389,99 +389,11 @@ def test_log_error_on_request_to_go_live( ) -def test_should_show_delete_page(app_, - api_user_active, - mock_login, - mock_get_service, - mock_get_user, - mock_get_user_by_email, - mock_has_permissions, - fake_uuid): - with app_.test_request_context(): - with app_.test_client() as client: - client.login(api_user_active) - service_id = fake_uuid - response = client.get(url_for( - 'main.service_delete', service_id=service_id)) - - assert response.status_code == 200 - assert 'Delete this service from GOV.UK Notify' in response.get_data(as_text=True) - assert mock_get_service.called - - -def test_should_show_redirect_after_deleting_service(app_, - api_user_active, - mock_get_service, - mock_get_user, - mock_get_user_by_email, - mock_login, - mock_has_permissions, - fake_uuid): - with app_.test_request_context(): - with app_.test_client() as client: - client.login(api_user_active) - service_id = fake_uuid - response = client.post(url_for( - 'main.service_delete', service_id=service_id)) - - assert response.status_code == 302 - delete_url = url_for( - 'main.service_delete_confirm', service_id=service_id, _external=True) - assert delete_url == response.location - - -def test_should_show_delete_confirmation(app_, - api_user_active, - mock_get_service, - mock_get_user, - mock_get_user_by_email, - mock_login, - mock_has_permissions, - fake_uuid): - with app_.test_request_context(): - with app_.test_client() as client: - client.login(api_user_active) - service_id = fake_uuid - response = client.get(url_for( - 'main.service_delete_confirm', service_id=service_id)) - - assert response.status_code == 200 - assert 'Delete this service from Notify' in response.get_data(as_text=True) - assert mock_get_service.called - - -def test_should_redirect_delete_confirmation(app_, - api_user_active, - mock_get_service, - mock_delete_service, - mock_get_user, - mock_get_user_by_email, - mock_login, - mock_verify_password, - mock_has_permissions, - fake_uuid): - with app_.test_request_context(): - with app_.test_client() as client: - client.login(api_user_active) - service_id = fake_uuid - response = client.post(url_for( - 'main.service_delete_confirm', service_id=service_id)) - - assert response.status_code == 302 - choose_url = url_for( - 'main.choose_service', _external=True) - assert choose_url == response.location - assert mock_get_service.called - assert mock_delete_service.called - - @pytest.mark.parametrize('route', [ 'main.service_settings', 'main.service_name_change', 'main.service_name_change_confirm', 'main.service_request_to_go_live', - 'main.service_delete', - 'main.service_delete_confirm' ]) def test_route_permissions(mocker, app_, api_user_active, service_one, route): with app_.test_request_context(): @@ -504,8 +416,6 @@ def test_route_permissions(mocker, app_, api_user_active, service_one, route): 'main.service_switch_live', 'main.service_switch_research_mode', 'main.service_switch_can_send_letters', - 'main.service_delete', - 'main.service_delete_confirm' ]) def test_route_invalid_permissions(mocker, app_, api_user_active, service_one, route): with app_.test_request_context(): @@ -525,8 +435,6 @@ def test_route_invalid_permissions(mocker, app_, api_user_active, service_one, r 'main.service_name_change', 'main.service_name_change_confirm', 'main.service_request_to_go_live', - 'main.service_delete', - 'main.service_delete_confirm' ]) def test_route_for_platform_admin(mocker, app_, platform_admin_user, service_one, route): with app_.test_request_context(): diff --git a/tests/conftest.py b/tests/conftest.py index 7dd5c9359..56c712635 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -230,15 +230,6 @@ def mock_get_services_with_one_service(mocker, fake_uuid, user=None): 'app.service_api_client.get_services', side_effect=_create) -@pytest.fixture(scope='function') -def mock_delete_service(mocker, mock_get_service): - def _delete(service_id): - return mock_get_service.side_effect(service_id) - - return mocker.patch( - 'app.service_api_client.delete_service', side_effect=_delete) - - @pytest.fixture(scope='function') def mock_get_service_template(mocker): def _get(service_id, template_id, version=None):