initial openlane project
This commit is contained in:
68
tests/test_scraper_images.py
Normal file
68
tests/test_scraper_images.py
Normal file
@@ -0,0 +1,68 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
|
||||
from openlane_scraper.scraper import OpenLaneScraper
|
||||
from openlane_scraper.storage.schemas import ImageRecord
|
||||
|
||||
|
||||
class TestScraperImageHelpers(unittest.TestCase):
|
||||
def test_build_image_records_supports_image_large_and_image(self) -> None:
|
||||
payload = [
|
||||
{
|
||||
"image": "https://img.cdn/vehicle-medium-1.jpg",
|
||||
"image_large": "https://img.cdn/vehicle-large-1.jpg",
|
||||
},
|
||||
{
|
||||
"image": "https://img.cdn/vehicle-medium-2.jpg",
|
||||
"large_resolution_url": "https://img.cdn/vehicle-large-2.jpg",
|
||||
"low_resolution_url": "https://img.cdn/vehicle-low-2.jpg",
|
||||
},
|
||||
]
|
||||
|
||||
records = OpenLaneScraper._build_image_records(payload)
|
||||
|
||||
self.assertEqual(len(records), 2)
|
||||
self.assertEqual(records[0].fullres_image, "https://img.cdn/vehicle-large-1.jpg")
|
||||
self.assertEqual(records[0].preview_image, "https://img.cdn/vehicle-medium-1.jpg")
|
||||
self.assertEqual(records[1].fullres_image, "https://img.cdn/vehicle-large-2.jpg")
|
||||
self.assertEqual(records[1].preview_image, "https://img.cdn/vehicle-low-2.jpg")
|
||||
|
||||
def test_merge_image_records_keeps_unique_and_reindexes(self) -> None:
|
||||
existing = [
|
||||
ImageRecord(
|
||||
fullres_image="https://img.cdn/1.jpg",
|
||||
preview_image="https://img.cdn/1_small.jpg",
|
||||
order_index=10,
|
||||
),
|
||||
ImageRecord(
|
||||
fullres_image="https://img.cdn/2.jpg",
|
||||
preview_image="https://img.cdn/2_small.jpg",
|
||||
order_index=11,
|
||||
),
|
||||
]
|
||||
fetched = [
|
||||
ImageRecord(
|
||||
fullres_image="https://img.cdn/2.jpg",
|
||||
preview_image="https://img.cdn/2_small_new.jpg",
|
||||
order_index=0,
|
||||
),
|
||||
ImageRecord(
|
||||
fullres_image="https://img.cdn/3.jpg",
|
||||
preview_image="https://img.cdn/3_small.jpg",
|
||||
order_index=1,
|
||||
),
|
||||
]
|
||||
|
||||
merged = OpenLaneScraper._merge_image_records(existing, fetched)
|
||||
|
||||
self.assertEqual([img.fullres_image for img in merged], [
|
||||
"https://img.cdn/2.jpg",
|
||||
"https://img.cdn/3.jpg",
|
||||
"https://img.cdn/1.jpg",
|
||||
])
|
||||
self.assertEqual([img.order_index for img in merged], [0, 1, 2])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user