Example #1
0
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)
Example #2
0
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"}
Example #3
0
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"}
Example #4
0
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"}