From 905c44d0aee7d79fc77c7ead4bbc81f30abeaaf9 Mon Sep 17 00:00:00 2001 From: Josue Kouka Date: Mon, 6 Feb 2017 10:31:40 +0100 Subject: [PATCH 2/2] test: improve json response error (#14813) --- tests/test_mandayejs.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/tests/test_mandayejs.py b/tests/test_mandayejs.py index 32ed6b8..b0f05d2 100644 --- a/tests/test_mandayejs.py +++ b/tests/test_mandayejs.py @@ -9,7 +9,7 @@ from django.conf import settings from django.core.management import call_command from django.http.request import HttpRequest, QueryDict from django.forms.fields import DateField -from django.test.client import RequestFactory +from django.test.client import RequestFactory, Client from django.core.urlresolvers import reverse from mandayejs.mandaye.models import UserCredentials @@ -246,16 +246,28 @@ def test_signed_api_delete(client_service, url_signed): @mock.patch('mandayejs.mandaye.utils.subprocess.Popen') -def test_phantom_invalid_json(mocked_popen, caplog): +@mock.patch('mandayejs.applications.Test.SITE_LOCATORS', MOCKED_SITE_LOCATORS) +def test_phantom_invalid_json(mocked_popen, caplog, user_john): expected_output = ('This is not a valid JSON', None) mocked_popen.return_value = MockedPopen(expected_output=expected_output) - result = exec_phantom(LOGIN_INFO) - for record in caplog.records(): - assert record.levelname == 'ERROR' - assert record.message == 'This is not a valid JSON' + UserCredentials.objects.create(user=user_john, + locators={ + 'login': 'johnny', 'password': 'jumper', + 'birth_date': '1995-06-11'}) + + client = Client() + client.login(username='john', password='john') + response = client.get(reverse('post-login-do')) + assert 'window.top.location = "/_mandaye/associate/"' in response.content - assert result['result'] == "json_error" + for message in response.context['messages']: + assert message.level_tag == 'error' + assert message.message == 'invalid response from server' + + for record in caplog.records(): + if record.levelname == 'ERROR': + assert record.message == 'invalid json: This is not a valid JSON' @mock.patch('mandayejs.mandaye.utils.subprocess.Popen') -- 2.11.0