示例#1
0
def test_delete_mandate(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"
    mandate_id = "12345-12345"

    mock_object = Starling({
        "api_url": mock_url
    })

    requests_mock.delete("{}/api/v1/direct-debit/mandates/{}".format(mock_url, mandate_id),
                         headers=default_headers(mock_access_token),
                         request_headers=expect_authorization_header(mock_access_token),
                         status_code=204)

    mock_object.delete_mandate(mandate_id, access_token=mock_access_token)
示例#2
0
def test_delete_savings_goal(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({"api_url": mock_url})

    savings_goal_id = "12345-12345"

    requests_mock.delete(
        "{}/api/v1/savings-goals/{}".format(mock_url, savings_goal_id),
        headers=default_headers(mock_access_token),
        request_headers=expect_authorization_header(mock_access_token),
        status_code=204)

    mock_object.delete_savings_goal(savings_goal_id,
                                    access_token=mock_access_token)
示例#3
0
def test_delete_contact_account(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    contact_id = "fc17e7d5-ff2c-4a3c-8f64-9ac93d80de62"

    mock_object = Starling({"api_url": mock_url})

    requests_mock.delete(
        "{}/api/v1/contacts/{}".format(mock_url, contact_id),
        headers=default_headers(mock_access_token),
        request_headers=expect_authorization_header(mock_access_token),
        status_code=204)

    mocked_response = mock_object.delete_contact(
        contact_id, access_token=mock_access_token)

    assert mocked_response == {}
示例#4
0
def test_get_contacts(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({"api_url": mock_url})

    with open("test/responses/v1-get-contacts.json") as f:
        expected_response = json.load(f)

        requests_mock.get(
            "{}/api/v1/contacts".format(mock_url),
            headers=default_headers(mock_access_token),
            request_headers=expect_authorization_header(mock_access_token),
            json=expected_response)

        mocked_response = mock_object.get_contacts(mock_access_token)

        assert expected_response == mocked_response
示例#5
0
def test_starling_client(requests_mock):
    """test static access token provided in client instance"""
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({
        "api_url": mock_url
    })

    with open("test/responses/v1-get-accounts.json") as f:
        expected_response = json.load(f)

        requests_mock.get("{}/api/v1/accounts".format(mock_url),
                          headers=default_headers(mock_access_token),
                          request_headers=expect_authorization_header(mock_access_token),
                          json=expected_response)

        mocked_response = mock_object.get_account(mock_access_token)

        assert expected_response == mocked_response
示例#6
0
def test_get_mandate(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"
    mandate_id = "12345-12345"

    mock_object = Starling({
        "api_url": mock_url
    })

    with open("test/responses/v1-get-mandate.json") as f:
        expected_response = json.load(f)

        requests_mock.get("{}/api/v1/direct-debit/mandates/{}".format(mock_url, mandate_id),
                          headers=default_headers(mock_access_token),
                          request_headers=expect_authorization_header(mock_access_token),
                          json=expected_response)

        mocked_response = mock_object.get_mandate(mandate_id, access_token=mock_access_token)

        assert expected_response == mocked_response
示例#7
0
def test_get_contact_account(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    contact_id = "fc17e7d5-ff2c-4a3c-8f64-9ac93d80de62"

    mock_object = Starling({"api_url": mock_url})

    with open("test/responses/v1-get-contact-account.json") as f:
        expected_response = json.load(f)

        requests_mock.get(
            "{}/api/v1/contacts/{}".format(mock_url, contact_id),
            headers=default_headers(mock_access_token),
            request_headers=expect_authorization_header(mock_access_token),
            json=expected_response)

        mocked_response = mock_object.get_contact_account(
            contact_id, access_token=mock_access_token)

        assert expected_response == mocked_response
示例#8
0
def test_get_savings_goal(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({"api_url": mock_url})

    savings_goal_id = "12345-12345"

    with open("test/responses/v1-get-savings-goal.json") as f:
        expected_response = json.load(f)

        requests_mock.get(
            "{}/api/v1/savings-goals/{}".format(mock_url, savings_goal_id),
            headers=default_headers(mock_access_token),
            request_headers=expect_authorization_header(mock_access_token),
            json=expected_response)

        mocked_response = mock_object.get_savings_goal(
            savings_goal_id, access_token=mock_access_token)

        assert expected_response == mocked_response
示例#9
0
def test_get_transaction_with_unspecified_source(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({"api_url": mock_url})

    transaction_id = "32b4d093-f3b3-45da-9f89-d6a1395ab397"

    with open("test/responses/v1-get-transaction.json") as f:
        expected_response = json.load(f)

        requests_mock.get(
            "{}/api/v1/transactions/{}".format(mock_url, transaction_id),
            headers=default_headers(mock_access_token),
            request_headers=expect_authorization_header(mock_access_token),
            json=expected_response)

        mocked_response = mock_object.get_transaction(
            transaction_id, "", access_token=mock_access_token)

        assert expected_response == mocked_response
示例#10
0
def test_create_contact_account(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    name = "Mickey Mouse"
    account_number = "87654321"
    sort_code = "60-83-71"

    mock_object = Starling({"api_url": mock_url})

    requests_mock.post(
        "{}/api/v1/contacts".format(mock_url),
        headers=default_headers(mock_access_token),
        request_headers=expect_authorization_header(mock_access_token),
        status_code=202)

    mocked_response = mock_object.create_contact(
        name, account_number, sort_code, access_token=mock_access_token)

    print(mocked_response)

    assert mocked_response == {}
示例#11
0
def test_add_money_to_savings_goal(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({"api_url": mock_url})

    savings_goal_id = "12345-12345"
    transaction_id = "54321-54321"
    minor_amount = 111
    savings_currency = "BRL"

    requests_mock.put(
        "{}/api/v1/savings-goals/{}/add-money/{}".format(
            mock_url, savings_goal_id, transaction_id),
        headers=default_headers(mock_access_token),
        request_headers=expect_authorization_header(mock_access_token),
        status_code=202)

    mock_object.add_money_to_savings_goal(savings_goal_id,
                                          transaction_id,
                                          minor_amount,
                                          currency=savings_currency,
                                          access_token=mock_access_token)
示例#12
0
def test_get_outgoing_fps_transaction(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({"api_url": mock_url})

    transaction_id = "b5c65fd2-1795-4262-93f0-f0490759bf1f"
    source = "FASTER_PAYMENTS_OUT"

    with open("test/responses/v1-get-transaction-fps-out.json") as f:
        expected_response = json.load(f)

        requests_mock.get(
            "{}/api/v1/transactions/fps/out/{}".format(mock_url,
                                                       transaction_id),
            headers=default_headers(mock_access_token),
            request_headers=expect_authorization_header(mock_access_token),
            json=expected_response)

        mocked_response = mock_object.get_transaction(
            transaction_id, source, access_token=mock_access_token)

        assert expected_response == mocked_response
示例#13
0
def test_get_transactions(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({"api_url": mock_url})

    from_date = "2017-03-01"
    to_date = "2017-03-06"

    with open("test/responses/v1-get-transactions.json") as f:
        expected_response = json.load(f)

        requests_mock.get(
            "{}/api/v1/transactions?from={}&to={}".format(
                mock_url, from_date, to_date),
            headers=default_headers(mock_access_token),
            request_headers=expect_authorization_header(mock_access_token),
            json=expected_response)

        mocked_response = mock_object.get_transactions(
            "2017-03-01", "2017-03-06", "", access_token=mock_access_token)

        assert expected_response == mocked_response
示例#14
0
def test_get_specific_card_transaction(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({"api_url": mock_url})

    transaction_id = "77b7d507-6546-4301-a841-fbf570de65c6"
    source = "MASTER_CARD"

    with open("test/responses/v1-get-transaction-card.json") as f:
        expected_response = json.load(f)

        requests_mock.get(
            "{}/api/v1/transactions/mastercard/{}".format(
                mock_url, transaction_id),
            headers=default_headers(mock_access_token),
            request_headers=expect_authorization_header(mock_access_token),
            json=expected_response)

        mocked_response = mock_object.get_transaction(
            transaction_id, source, access_token=mock_access_token)

        assert expected_response == mocked_response
示例#15
0
def test_make_local_payment(requests_mock):
    mock_url = "http://localhost"
    mock_access_token = "0123456789"

    mock_object = Starling({"api_url": mock_url})

    destination_account_uid = "11eb8d9b-386a-43ba-825d-7edee5c6b01a"
    reference = "dinner"
    amount = "10"

    requests_mock.post(
        "{}/api/v1/payments/local".format(mock_url),
        headers=default_headers(mock_access_token),
        request_headers=expect_authorization_header(mock_access_token),
        status_code=202)

    try:
        mock_object.make_local_payment(destination_account_uid,
                                       reference,
                                       amount,
                                       access_token=mock_access_token)
        assert True
    except:
        assert False