88from ingestify .domain .models .fetch_policy import FetchPolicy
99from ingestify .domain import Selector , DataSpecVersionCollection
1010from ingestify import Source , DatasetResource
11+ from ingestify .utils import utcnow
1112
1213
1314class MockSource (Source ):
@@ -39,7 +40,7 @@ def find_datasets(
3940 url = "http://test.com/match1" ,
4041 ).add_file (
4142 data_feed_key = "test" ,
42- last_modified = datetime . datetime . now (),
43+ last_modified = utcnow (),
4344 json_content = {"blaat" : "piet" },
4445 )
4546
@@ -75,7 +76,7 @@ def find_datasets(
7576 url = "http://test.com/match1" ,
7677 ).add_file (
7778 data_feed_key = "test" ,
78- last_modified = datetime . datetime . now (),
79+ last_modified = utcnow (),
7980 json_content = {"competition_id" : 11 },
8081 )
8182 elif competition_id == 22 :
@@ -91,7 +92,7 @@ def find_datasets(
9192 url = "http://test.com/match2" ,
9293 ).add_file (
9394 data_feed_key = "test" ,
94- last_modified = datetime . datetime . now (),
95+ last_modified = utcnow (),
9596 json_content = {"competition_id" : 22 },
9697 )
9798
@@ -106,10 +107,8 @@ def discover_selectors(self, dataset_type: str):
106107 ]
107108
108109
109- def test_iter_datasets_basic_auto_ingest (config_file ):
110+ def test_iter_datasets_basic_auto_ingest (engine ):
110111 """Test basic auto-ingest functionality."""
111- engine = get_engine (config_file )
112-
113112 # Add a simple ingestion plan
114113 mock_source = MockSource (name = "test_source" )
115114 data_spec_versions = DataSpecVersionCollection .from_dict ({"default" : {"v1" }})
@@ -141,20 +140,16 @@ def test_iter_datasets_basic_auto_ingest(config_file):
141140 assert datasets [0 ].identifier ["competition_id" ] == 11
142141
143142
144- def test_iter_datasets_auto_ingest_disabled (config_file ):
143+ def test_iter_datasets_auto_ingest_disabled (engine ):
145144 """Test that auto_ingest=False returns only existing datasets."""
146- engine = get_engine (config_file )
147-
148145 # Should only return existing datasets (none in empty store)
149146 datasets = list (engine .iter_datasets (competition_id = 11 , auto_ingest = False ))
150147
151148 assert len (datasets ) == 0
152149
153150
154- def test_iter_datasets_outside_config_scope (config_file ):
151+ def test_iter_datasets_outside_config_scope (engine ):
155152 """Test that requests outside IngestionPlan scope return nothing."""
156- engine = get_engine (config_file )
157-
158153 # Add plan only for competition_id=11
159154 mock_source = MockSource (name = "test_source" )
160155 data_spec_versions = DataSpecVersionCollection .from_dict ({"default" : {"v1" }})
@@ -180,10 +175,8 @@ def test_iter_datasets_outside_config_scope(config_file):
180175 assert len (datasets ) == 0
181176
182177
183- def test_iter_datasets_discover_selectors_with_filters (config_file ):
178+ def test_iter_datasets_discover_selectors_with_filters (engine ):
184179 """Test that selector_filters are applied after discover_selectors runs."""
185- engine = get_engine (config_file )
186-
187180 # Create an IngestionPlan with empty selector - this will trigger discover_selectors
188181 mock_source = MockSourceWithDiscoverSelectors (name = "test_source_discover" )
189182 data_spec_versions = DataSpecVersionCollection .from_dict ({"default" : {"v1" }})
@@ -216,10 +209,8 @@ def test_iter_datasets_discover_selectors_with_filters(config_file):
216209 assert datasets [0 ].name == "Mock match comp 11"
217210
218211
219- def test_iter_datasets_discover_selectors_multiple_matches (config_file ):
212+ def test_iter_datasets_discover_selectors_multiple_matches (engine ):
220213 """Test that multiple discovered selectors can match the filters."""
221- engine = get_engine (config_file )
222-
223214 # Create an IngestionPlan with empty selector - this will trigger discover_selectors
224215 mock_source = MockSourceWithDiscoverSelectors (name = "test_source_discover" )
225216 data_spec_versions = DataSpecVersionCollection .from_dict ({"default" : {"v1" }})
@@ -248,12 +239,10 @@ def test_iter_datasets_discover_selectors_multiple_matches(config_file):
248239 assert competition_ids == {11 , 22 }
249240
250241
251- def test_selector_filters_make_discovered_selectors_more_strict (config_file ):
242+ def test_selector_filters_make_discovered_selectors_more_strict (engine ):
252243 """Test that when selector_filters are more strict than discovered selectors, we make the selectors more strict."""
253244 from unittest .mock import Mock
254245
255- engine = get_engine (config_file )
256-
257246 # Create a source that returns multiple matches per season
258247 class MockSourceMultipleMatches (Source ):
259248 @property
@@ -291,7 +280,7 @@ def find_datasets(
291280 url = f"http://test.com/match{ mid } " ,
292281 ).add_file (
293282 data_feed_key = "test" ,
294- last_modified = datetime . datetime . now (),
283+ last_modified = utcnow (),
295284 json_content = {"match_id" : mid },
296285 )
297286 return []
@@ -348,13 +337,11 @@ def discover_selectors(self, dataset_type):
348337 # Without this optimization, we'd call with match_id=None and fetch 3 matches instead of 1
349338
350339
351- def test_iter_datasets_with_open_data_auto_discovery (config_file ):
340+ def test_iter_datasets_with_open_data_auto_discovery (engine ):
352341 """Test that use_open_data=True auto-discovers open data sources without configuration."""
353342 from unittest .mock import Mock
354343 from ingestify .application import loader
355344
356- engine = get_engine (config_file )
357-
358345 # Create mock source class that inherits from Source
359346 class MockOpenDataSource (Source ):
360347 def __init__ (self , name ):
@@ -387,7 +374,7 @@ def find_datasets(
387374 url = "http://open-data.com/match123" ,
388375 ).add_file (
389376 data_feed_key = "test" ,
390- last_modified = datetime . datetime . now (),
377+ last_modified = utcnow (),
391378 json_content = {"match_id" : 123 },
392379 )
393380
0 commit comments