tests: fix vivaticket tests inconsistencies (#30458)

This commit is contained in:
Benjamin Dauvergne 2019-02-08 06:56:30 +01:00
parent 91c12958b5
commit 07b7b3ec61
1 changed files with 21 additions and 7 deletions

View File

@ -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'