1
0
mirror of synced 2026-01-08 21:05:13 -05:00
Files
airbyte/airbyte-integrations/connectors/source-pinterest/unit_tests/test_source.py
Artem Inzhyyants ffad67dd55 Source Pinterest: Add pattern for start_date (#25984)
* Source Pinterest: Add pattern for start_date

* Source Pinterest: update docs

* Source Pinterest: fix backward compatibility

* Source Pinterest: handle wrong date format

* Source Pinterest: add unit test

* Source Pinterest: fix test

---------

Co-authored-by: artem1205 <artem1205@users.noreply.github.com>
2023-05-22 21:13:37 +00:00

56 lines
1.5 KiB
Python

#
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
#
from unittest.mock import MagicMock
import pytest
import responses
from airbyte_cdk.utils import AirbyteTracedException
from source_pinterest.source import SourcePinterest
def setup_responses():
responses.add(
responses.POST,
"https://api.pinterest.com/v5/oauth/token",
json={"access_token": "fake_access_token", "expires_in": 3600},
)
responses.add(
responses.GET,
"https://api.pinterest.com/v5/user_account",
json={},
)
@responses.activate
def test_check_connection(test_config):
setup_responses()
source = SourcePinterest()
logger_mock = MagicMock()
assert source.check_connection(logger_mock, test_config) == (True, None)
def test_check_wrong_date_connection(wrong_date_config):
source = SourcePinterest()
logger_mock = MagicMock()
with pytest.raises(AirbyteTracedException) as e:
source.check_connection(logger_mock, wrong_date_config)
assert e.value.message == 'Entered `Start Date` does not match format YYYY-MM-DD'
@responses.activate
def test_streams(test_config):
setup_responses()
source = SourcePinterest()
streams = source.streams(test_config)
expected_streams_number = 13
assert len(streams) == expected_streams_number
def test_get_authenticator(test_config):
source = SourcePinterest()
auth = source.get_authenticator(test_config)
expected = test_config.get("refresh_token")
assert auth.refresh_token == expected