Skip to content

Commit 0c89d97

Browse files
committed
fix: tests now use providers
1 parent 2540773 commit 0c89d97

File tree

1 file changed

+48
-30
lines changed

1 file changed

+48
-30
lines changed

mapswipe_workers/tests/unittests/test_process_mapillary.py

Lines changed: 48 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121

2222
class TestTileGroupingFunctions(unittest.TestCase):
23+
PROVIDERS = ["mapillary", "panoramax"]
24+
2325
@classmethod
2426
def setUpClass(cls):
2527
with open(
@@ -182,7 +184,7 @@ def test_download_and_process_tile_success(self, mock_get, mock_vt2geojson):
182184

183185
polygon = wkt.loads("POLYGON ((-1 -1, -1 1, 1 1, 1 -1, -1 -1))")
184186

185-
result = download_and_process_tile(row, polygon, {})
187+
result = download_and_process_tile(row, polygon, self.PROVIDERS[0], {})
186188
self.assertIsInstance(result, pd.DataFrame)
187189
self.assertEqual(len(result), 1)
188190
self.assertEqual(result["geometry"][0].wkt, "POINT (0 0)")
@@ -194,7 +196,9 @@ def test_download_and_process_tile_failure(self, mock_get):
194196
mock_response.status_code = 500
195197
mock_get.return_value = mock_response
196198

197-
result = download_and_process_tile(self.row, self.test_polygon, {})
199+
result = download_and_process_tile(
200+
self.row, self.test_polygon, self.PROVIDERS[0], {}
201+
)
198202

199203
self.assertIsNone(result)
200204

@@ -219,7 +223,9 @@ def test_download_and_process_tile_spatial_filtering(self, mock_get_mapillary_da
219223

220224
mock_get_mapillary_data.return_value = pd.DataFrame(data)
221225

222-
metadata = download_and_process_tile(self.row, self.test_polygon, {})
226+
metadata = download_and_process_tile(
227+
self.row, self.test_polygon, self.PROVIDERS[0], {}
228+
)
223229

224230
metadata = metadata.drop_duplicates()
225231
self.assertEqual(len(metadata), len(inside_points))
@@ -230,7 +236,9 @@ def test_download_and_process_tile_spatial_filtering(self, mock_get_mapillary_da
230236
def test_coordinate_download_with_failures(self, mock_parallelized_processing):
231237
mock_parallelized_processing.return_value = pd.DataFrame()
232238

233-
metadata = coordinate_download(self.test_polygon, self.level, {})
239+
metadata = coordinate_download(
240+
self.test_polygon, self.level, self.PROVIDERS[0], {}
241+
)
234242

235243
self.assertTrue(metadata.empty)
236244

@@ -305,45 +313,55 @@ def test_filter_missing_columns(self):
305313

306314
@patch("mapswipe_workers.utils.process_mapillary.coordinate_download")
307315
def test_get_image_metadata(self, mock_coordinate_download):
308-
mock_coordinate_download.return_value = self.fixture_df
309-
result = get_image_metadata(self.fixture_data)
310-
self.assertIsInstance(result, dict)
311-
self.assertIn("ids", result)
312-
self.assertIn("geometries", result)
316+
for provider in self.PROVIDERS:
317+
with self.subTest(provider=provider):
318+
mock_coordinate_download.return_value = self.fixture_df
319+
result = get_image_metadata(self.fixture_data, provider=provider)
320+
self.assertIsInstance(result, dict)
321+
self.assertIn("ids", result)
322+
self.assertIn("geometries", result)
313323

314324
@patch("mapswipe_workers.utils.process_mapillary.coordinate_download")
315325
def test_get_image_metadata_empty_response(self, mock_coordinate_download):
316-
df = self.fixture_df.copy()
317-
df = df.drop(df.index)
318-
mock_coordinate_download.return_value = df
326+
for provider in self.PROVIDERS:
327+
with self.subTest(provider=provider):
328+
df = self.fixture_df.copy()
329+
df = df.drop(df.index)
330+
mock_coordinate_download.return_value = df
319331

320-
with self.assertRaises(CustomError):
321-
get_image_metadata(self.fixture_data)
332+
with self.assertRaises(CustomError):
333+
get_image_metadata(self.fixture_data, provider=provider)
322334

323335
@patch("mapswipe_workers.utils.process_mapillary.filter_results")
324336
@patch("mapswipe_workers.utils.process_mapillary.coordinate_download")
325337
def test_get_image_metadata_size_restriction(
326338
self, mock_coordinate_download, mock_filter_results
327339
):
328-
mock_df = pd.DataFrame({"id": range(1, 100002), "geometry": range(1, 100002)})
329-
mock_coordinate_download.return_value = mock_df
330-
with self.assertRaises(CustomError):
331-
get_image_metadata(self.fixture_data)
340+
for provider in self.PROVIDERS:
341+
with self.subTest(provider=provider):
342+
mock_df = pd.DataFrame(
343+
{"id": range(1, 100002), "geometry": range(1, 100002)}
344+
)
345+
mock_coordinate_download.return_value = mock_df
346+
with self.assertRaises(CustomError):
347+
get_image_metadata(self.fixture_data, provider=provider)
332348

333349
@patch("mapswipe_workers.utils.process_mapillary.coordinate_download")
334350
def test_get_image_metadata_drop_duplicates(self, mock_coordinate_download):
335-
test_df = pd.DataFrame(
336-
{
337-
"id": [1, 2, 2, 3, 4, 4, 5],
338-
"geometry": ["a", "b", "b", "c", "d", "d", "e"],
339-
}
340-
)
341-
mock_coordinate_download.return_value = test_df
342-
return_dict = get_image_metadata(self.fixture_data)
343-
344-
return_df = pd.DataFrame(return_dict)
345-
346-
self.assertNotEqual(len(return_df), len(test_df))
351+
for provider in self.PROVIDERS:
352+
with self.subTest(provider=provider):
353+
test_df = pd.DataFrame(
354+
{
355+
"id": [1, 2, 2, 3, 4, 4, 5],
356+
"geometry": ["a", "b", "b", "c", "d", "d", "e"],
357+
}
358+
)
359+
mock_coordinate_download.return_value = test_df
360+
return_dict = get_image_metadata(self.fixture_data, provider=provider)
361+
362+
return_df = pd.DataFrame(return_dict)
363+
364+
self.assertNotEqual(len(return_df), len(test_df))
347365

348366

349367
if __name__ == "__main__":

0 commit comments

Comments
 (0)