Example #1
0
def test_links_create_with_key_cert(api_session):
    with patch("belvo.resources.links.read_file_to_b64") as mocked_b64:
        mocked_b64.return_value = "123b64file123"
        links = resources.Links(api_session)
        links.session.post = MagicMock()
        links.create(
            "fake-bank",
            "fake-user",
            "fake-password",
            certificate="/path/to/cert",
            private_key="/path/to/key",
        )

        links.session.post.assert_called_with(
            "/api/links/",
            data={
                "institution": "fake-bank",
                "username": "******",
                "password": "******",
                "save_data": True,
                "certificate": "123b64file123",
                "private_key": "123b64file123",
            },
            raise_exception=False,
        )
Example #2
0
def test_links_patch_can_set_access_mode(api_session):
    link = resources.Links(api_session)
    link.session.patch = MagicMock()

    link.patch("fake-link", access_mode=AccessMode.SINGLE)

    link.session.patch.assert_called_with(
        "/api/links/fake-link/",
        data={"access_mode": AccessMode.SINGLE.value},
        raise_exception=False,
    )
Example #3
0
def test_link_token(api_session):
    link = resources.Links(api_session)
    link.session.post = MagicMock()
    link.token(link="fake-link-uuid", scopes="read_links,write_links")

    link.session.post.assert_called_with(
        "/api/token/",
        data={
            "id": "monty",
            "password": "******",
            "scopes": "read_links,write_links",
            "link_id": "fake-link-uuid",
        },
        raise_exception=False,
    )
Example #4
0
def test_links_create_sends_token_if_given(api_session):
    link = resources.Links(api_session)
    link.session.post = MagicMock()

    link.create("fake-bank", "fake-user", "fake-password", token="fake-token")

    link.session.post.assert_called_with(
        "/api/links/",
        data={
            "institution": "fake-bank",
            "username": "******",
            "password": "******",
            "save_data": True,
            "token": "fake-token",
        },
        raise_exception=False,
    )
Example #5
0
def test_links_create_can_set_access_mode(api_session, mode):
    link = resources.Links(api_session)
    link.session.post = MagicMock()

    link.create("fake-bank", "fake-user", "fake-password", access_mode=mode)

    link.session.post.assert_called_with(
        "/api/links/",
        data={
            "institution": "fake-bank",
            "username": "******",
            "password": "******",
            "save_data": True,
            "access_mode": mode.value,
        },
        raise_exception=False,
    )
Example #6
0
def test_links_create_with_external_id(api_session, external_id):
    link = resources.Links(api_session)
    link.session.post = MagicMock()

    link.create("fake-bank",
                "fake-user",
                "fake-password",
                external_id=external_id)

    link.session.post.assert_called_with(
        "/api/links/",
        data={
            "institution": "fake-bank",
            "username": "******",
            "password": "******",
            "external_id": external_id,
            "save_data": True,
        },
        raise_exception=False,
    )
Example #7
0
def test_links_update_password(api_session):
    link = resources.Links(api_session)
    link.session.put = MagicMock()

    link.update("fake-link-uuid",
                password="******",
                password2="fake-pw2",
                token="fake-token")

    link.session.put.assert_called_with(
        "/api/links/",
        id="fake-link-uuid",
        data={
            "password": "******",
            "save_data": True,
            "password2": "fake-pw2",
            "token": "fake-token",
        },
        raise_exception=False,
    )
Example #8
0
def test_links_create_sends_username3_if_given(api_session):
    links = resources.Links(api_session)
    links.session.post = MagicMock()
    links.create(
        "fake-bank",
        "fake-user",
        "fake-password",
        username2="fake-user-two",
        username3="fake-user-three",
    )

    links.session.post.assert_called_with(
        "/api/links/",
        data={
            "institution": "fake-bank",
            "username": "******",
            "username2": "fake-user-two",
            "username3": "fake-user-three",
            "password": "******",
            "save_data": True,
        },
        raise_exception=False,
    )
Example #9
0
def test_widget_token(api_session):
    link = resources.Links(api_session)
    link.session.post = MagicMock()
    widget = {
        "branding": {
            "company_logo": "https://acme.corp/fancy_logo.bmp",
            "company_color": "#eb34e1",
            "company_benefit_header": "Lorem ipsum",
            "company_benefit_content": "Lorem ipsum",
            "opportunity_loss": "Lorem ipsum",
            "company_name": "Acme Corp. SL",
        }
    }
    link.token(link="fake-link-uuid",
               scopes="read_links,write_links",
               widget=widget)
    link.session.post.assert_called_with(
        "/api/token/",
        data={
            "id": "monty",
            "password": "******",
            "scopes": "read_links,write_links",
            "link_id": "fake-link-uuid",
            "widget": {
                "branding": {
                    "company_logo": "https://acme.corp/fancy_logo.bmp",
                    "company_color": "#eb34e1",
                    "company_benefit_header": "Lorem ipsum",
                    "company_benefit_content": "Lorem ipsum",
                    "opportunity_loss": "Lorem ipsum",
                    "company_name": "Acme Corp. SL",
                }
            },
        },
        raise_exception=False,
    )