def test_fail_merge_profile(): responses.add(responses.POST, 'https://api.courier.com/profiles/1234', status=400, content_type='application/json', body='{"message": "An error occured"}') profile = {"email": "*****@*****.**"} c = Courier(auth_token='123456789ABCDF') with pytest.raises(CourierAPIException): c.merge_profile("1234", profile)
def test_success_merge_profile(): responses.add(responses.POST, 'https://api.courier.com/profiles/1234', status=200, content_type='application/json', body='{"status": "SUCCESS"}') profile = {"email": "*****@*****.**"} c = Courier(auth_token='123456789ABCDF') r = c.merge_profile("1234", profile) assert r == {"status": "SUCCESS"}
def test_success_merge_profile_idempotent(): responses.add(responses.POST, 'https://api.courier.com/profiles/1234', status=200, content_type='application/json', body='{"status": "SUCCESS"}') profile = {"email": "*****@*****.**"} c = Courier(auth_token='123456789ABCDF') r = c.merge_profile("1234", profile, idempotency_key="1234ABCD") assert responses.calls[0].request.headers.get( 'Idempotency-Key') == '1234ABCD' assert r == {"status": "SUCCESS"}
def test_success_merge_profile_idempotent(): responses.add(responses.POST, 'https://api.courier.com/profiles/1234', status=200, content_type='application/json', body='{"status": "SUCCESS"}') profile = {"email": "*****@*****.**"} c = Courier(auth_token='123456789ABCDF') expiration_date = (datetime.now() + timedelta(days=7)).isoformat() r = c.merge_profile(recipient_id="1234", profile=profile, idempotency_key="1234ABCD", idempotency_expiration=expiration_date) assert responses.calls[0].request.headers.get( 'Idempotency-Key') == '1234ABCD' assert responses.calls[0].request.headers.get( 'x-idempotency-expiration') == expiration_date assert r == {"status": "SUCCESS"}