File tree Expand file tree Collapse file tree 2 files changed +16
-10
lines changed
Expand file tree Collapse file tree 2 files changed +16
-10
lines changed Original file line number Diff line number Diff line change 1919import contextlib
2020import logging
2121import os
22- import sys
2322from collections .abc import Callable
2423from dataclasses import is_dataclass
2524from enum import Enum
3837 ConfigResolver ,
3938 StateStoreConfig ,
4039)
41- from cognite .extractorutils .exceptions import InvalidConfigError
4240from cognite .extractorutils .metrics import BaseMetrics
4341from cognite .extractorutils .statestore import (
4442 AbstractStateStore ,
@@ -315,14 +313,7 @@ def __enter__(self) -> "Extractor":
315313 else :
316314 dotenv_message = "No .env file imported when using Cognite Functions"
317315
318- try :
319- self ._initial_load_config (override_path = self .config_file_path )
320- except InvalidConfigError as e :
321- print ( # noqa: T201
322- "Critical error: Could not read config file" , file = sys .stderr
323- )
324- print (str (e ), file = sys .stderr ) # noqa: T201
325- sys .exit (1 )
316+ self ._initial_load_config (override_path = self .config_file_path )
326317
327318 if not self .configured_logger :
328319 self .config .logger .setup_logging ()
Original file line number Diff line number Diff line change 2323from cognite .client .data_classes import ExtractionPipeline , ExtractionPipelineRun
2424from cognite .extractorutils import Extractor
2525from cognite .extractorutils .configtools import BaseConfig , StateStoreConfig
26+ from cognite .extractorutils .exceptions import InvalidConfigError
2627from cognite .extractorutils .statestore import LocalStateStore , NoStateStore
2728
2829
@@ -277,3 +278,17 @@ def validate_long_message(run: ExtractionPipelineRun) -> None:
277278
278279 extractor .extraction_pipeline = None
279280 # assert False
281+
282+
283+ def test_enter_raises_on_invalid_config () -> None :
284+ extractor = Extractor (
285+ name = "test_invalid_config" ,
286+ description = "description" ,
287+ config_class = ConfigWithStates ,
288+ config_file_path = "tests/tests_unit/dummyconfig.yaml" ,
289+ )
290+ with (
291+ patch .object (extractor , "_initial_load_config" , side_effect = InvalidConfigError ("bad config" )),
292+ pytest .raises (InvalidConfigError , match = "bad config" ),
293+ ):
294+ extractor .__enter__ ()
You can’t perform that action at this time.
0 commit comments