29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
#
|
|
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
|
|
#
|
|
|
|
from unittest import TestCase
|
|
from unittest.mock import MagicMock, patch
|
|
|
|
from source_webflow.source import SourceWebflow
|
|
|
|
|
|
def test_check_connection(mocker):
|
|
source = SourceWebflow()
|
|
fake_info_record = {"collection": "is_mocked"}
|
|
with patch("source_webflow.source.CollectionsList.read_records", MagicMock(return_value=iter([fake_info_record]))):
|
|
logger_mock, config_mock = MagicMock(), MagicMock()
|
|
assert source.check_connection(logger_mock, config_mock) == (True, None)
|
|
logger_mock.info.assert_called_once()
|
|
my_regex = r"Successfully connected.*" + str(fake_info_record)
|
|
TestCase().assertRegex(logger_mock.method_calls[0].args[0], my_regex)
|
|
|
|
|
|
def test_streams(mocker):
|
|
# use the "with" to prevent the patch from impacting other tests
|
|
with patch("source_webflow.source.SourceWebflow.generate_streams", MagicMock(return_value=["This would be a stream"])):
|
|
source = SourceWebflow()
|
|
config_mock = MagicMock()
|
|
streams = source.streams(config_mock)
|
|
assert len(streams) == 1
|