diff --git a/airbyte-integrations/connectors/source-facebook-marketing/source_facebook_marketing/source.py b/airbyte-integrations/connectors/source-facebook-marketing/source_facebook_marketing/source.py index 1d973e85f434b..148554e7b3368 100644 --- a/airbyte-integrations/connectors/source-facebook-marketing/source_facebook_marketing/source.py +++ b/airbyte-integrations/connectors/source-facebook-marketing/source_facebook_marketing/source.py @@ -59,6 +59,8 @@ def check_connection(self, logger: logging.Logger, config: Mapping[str, Any]) -> try: config = self._validate_and_transform(config) + if config.end_date > pendulum.now(): + return False, "Date range can not be in the future." if config.end_date < config.start_date: return False, "end_date must be equal or after start_date." diff --git a/airbyte-integrations/connectors/source-facebook-marketing/unit_tests/test_source.py b/airbyte-integrations/connectors/source-facebook-marketing/unit_tests/test_source.py index 41db8154ce26c..bf1ca12227186 100644 --- a/airbyte-integrations/connectors/source-facebook-marketing/unit_tests/test_source.py +++ b/airbyte-integrations/connectors/source-facebook-marketing/unit_tests/test_source.py @@ -58,6 +58,14 @@ def test_check_connection_ok(self, api, config, logger_mock): api.assert_called_once_with(account_id="123", access_token="TOKEN") logger_mock.info.assert_called_once_with(f"Select account {api.return_value.account}") + def test_check_connection_future_date_range(self, api, config, logger_mock): + config["start_date"] = "2219-10-10T00:00:00" + config["end_date"] = "2219-10-11T00:00:00" + assert SourceFacebookMarketing().check_connection(logger_mock, config=config) == ( + False, + "Date range can not be in the future.", + ) + def test_check_connection_end_date_before_start_date(self, api, config, logger_mock): config["start_date"] = "2019-10-10T00:00:00" config["end_date"] = "2019-10-09T00:00:00"