From a439f4066495abe17bd5b11bf41ac65c2210bc22 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 8 Feb 2019 06:56:30 +0100 Subject: [PATCH 07/13] tests: fix vivaticket tests inconsistencies (#30458) --- tests/test_vivaticket.py | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/tests/test_vivaticket.py b/tests/test_vivaticket.py index 506c0a3..6ba08a5 100644 --- a/tests/test_vivaticket.py +++ b/tests/test_vivaticket.py @@ -219,10 +219,13 @@ def test_get_api_key(mocked_post, app, connector): assert mocked_post.call_count == 3 +@mock.patch('passerelle.utils.Request.post') @mock.patch('passerelle.utils.Request.get') -def test_get_events(mocked_get, app, connector): +def test_get_events(mocked_get, mocked_post, app, connector): mocked_get.return_value = utils.FakedResponse(content=EVENTS_RESPONSE, status_code=200) + mocked_post.return_value = utils.FakedResponse(content=KEY_RESPONSE, status_code=200) result = utils.endpoint_get('/vivaticket/test/events', app, connector, 'events') + assert mocked_post.call_count == 1 assert mocked_get.call_args[1]['params']['key'] == "86569D0CA1B1CBEF8D77DD5BDC9F5CBAE5C99074" assert 'data' in result.json for item in result.json['data']: @@ -236,12 +239,14 @@ def test_get_events_with_expired_key(mocked_get, mocked_post, app, connector): mocked_get.return_value = utils.FakedResponse(content=EVENTS_RESPONSE, status_code=401) mocked_post.return_value = utils.FakedResponse(content=KEY_RESPONSE, status_code=200) utils.endpoint_get('/vivaticket/test/events', app, connector, 'events') - assert mocked_post.call_count == 1 + assert mocked_post.call_count == 2 +@mock.patch('passerelle.utils.Request.post') @mock.patch('passerelle.utils.Request.get') -def test_get_rooms(mocked_get, app, connector): +def test_get_rooms(mocked_get, mocked_post, app, connector): mocked_get.return_value = utils.FakedResponse(content=ROOMS_RESPONSE, status_code=200) + mocked_post.return_value = utils.FakedResponse(content=KEY_RESPONSE, status_code=200) result = utils.endpoint_get('/vivaticket/test/rooms', app, connector, 'rooms') assert mocked_get.call_args[1]['params']['key'] == '86569D0CA1B1CBEF8D77DD5BDC9F5CBAE5C99074' assert 'data' in result.json @@ -252,9 +257,11 @@ def test_get_rooms(mocked_get, app, connector): assert mocked_get.call_args[1]['params']['eventCategory'] == '02' +@mock.patch('passerelle.utils.Request.post') @mock.patch('passerelle.utils.Request.get') -def test_get_themes(mocked_get, app, connector): +def test_get_themes(mocked_get, mocked_post, app, connector): mocked_get.return_value = utils.FakedResponse(content=ROOMS_RESPONSE, status_code=200) + mocked_post.return_value = utils.FakedResponse(content=KEY_RESPONSE, status_code=200) result = utils.endpoint_get('/vivaticket/test/themes', app, connector, 'themes') assert mocked_get.call_args[1]['params']['key'] == '86569D0CA1B1CBEF8D77DD5BDC9F5CBAE5C99074' assert 'data' in result.json @@ -269,6 +276,7 @@ def test_get_themes(mocked_get, app, connector): @mock.patch('passerelle.utils.Request.get') def test_get_or_create_contact(mocked_get, mocked_post, app, connector): mocked_get.return_value = utils.FakedResponse(content=CONTACT_RESPONSE, ok=True) + mocked_post.return_value = utils.FakedResponse(content=KEY_RESPONSE, status_code=200) assert connector.get_or_create_contact('foo@example.com') == {'InternalCode': '0000000273'} mocked_get.return_value = utils.FakedResponse(content=CONTACT_RESPONSE, ok=False) mocked_post.return_value = utils.FakedResponse( @@ -280,10 +288,12 @@ def test_get_or_create_contact(mocked_get, mocked_post, app, connector): assert mocked_post.call_args[1]['json']['Contact']['ExternalCode'] == 'b48def645758b95537d4' +@mock.patch('passerelle.utils.Request.post') @mock.patch('passerelle.utils.Request.put') @mock.patch('passerelle.utils.Request.get') -def test_get_and_update_contact(mocked_get, mocked_put, app, connector): +def test_get_and_update_contact(mocked_get, mocked_put, mocked_post, app, connector): mocked_get.return_value = utils.FakedResponse(content=CONTACT_RESPONSE, ok=True) + mocked_post.return_value = utils.FakedResponse(content=KEY_RESPONSE, status_code=200) assert connector.get_or_create_contact('foo@example.com') == {'InternalCode': '0000000273'} mocked_put.return_value = utils.FakedResponse( content='{"InternalCode": "0000000277", "ReturnCode": 0, "Error": null}', @@ -309,8 +319,12 @@ def test_book(mocked_get, mocked_post, app, connector): response = app.post_json(url, params=payload, status=400) assert "does not match '^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}$" in response.json['err_desc'] payload['datetime'] = '2019-01-15T10:00' - mocked_post.return_value = utils.FakedResponse(content=BOOKING_RESPONSE, - status_code=200) + # first return the API key, then the result of the booking creation + mocked_post.side_effect = [ + utils.FakedResponse(content=KEY_RESPONSE, status_code=200), + utils.FakedResponse(content=BOOKING_RESPONSE), + Exception(), + ] response = app.post_json(url, params=payload) assert mocked_post.call_args[1]['json']['Key'] == '86569D0CA1B1CBEF8D77DD5BDC9F5CBAE5C99074' assert mocked_post.call_args[1]['json']['Booking']['externalCode'] == 'formid' -- 2.20.1