Projet

Général

Profil

0001-vivaticket-raise-APIError-on-booking-creation-failur.patch

Serghei Mihai (congés, retour 15/05), 22 août 2019 11:44

Télécharger (1,86 ko)

Voir les différences:

Subject: [PATCH] vivaticket: raise APIError on booking creation failure
 (#35531)

 passerelle/apps/vivaticket/models.py | 2 ++
 tests/test_vivaticket.py             | 7 +++++++
 2 files changed, 9 insertions(+)
passerelle/apps/vivaticket/models.py
292 292
        headers = {'X-Vivaticket-Form-URL': post_data['form_url']}
293 293
        r = self.post('Booking/Post', {'Booking': booking}, headers=headers)
294 294
        self.logger.debug('Book response: %r' % r.text)
295
        if not r.ok:
296
            raise APIError(r.text)
295 297
        return {'data': r.json()}
tests/test_vivaticket.py
373 373
    assert mocked_post.call_args[1]['json']['Booking']['contact'] == {'InternalCode': '0000000273'}
374 374
    assert mocked_post.call_args[1]['headers'] == {'X-Vivaticket-Form-URL': 'http://mysite.com/form/id/'}
375 375
    assert response.json['data']['bookingCode'] == 'II0000013'
376

  
377
    # no more need to fake key response because the key is in cache
378
    mocked_post.side_effect = [utils.FakedResponse(text='This external booking code already exists.', ok=False)]
379
    response = app.post_json(url, params=payload)
380
    assert response.json['err'] == 1
381
    assert response.json['err_desc'] == 'This external booking code already exists.'
382
    assert response.json['err_class'] == 'passerelle.utils.jsonresponse.APIError'
376
-