mirror of
https://github.com/azaion/loader.git
synced 2026-04-22 11:06:33 +00:00
[AZ-185][AZ-186] Batch 2
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import os
|
||||
import subprocess
|
||||
import tempfile
|
||||
import unittest
|
||||
from version_collector import VersionCollector
|
||||
|
||||
|
||||
class TestVersionCollector(unittest.TestCase):
|
||||
def test_ac1_version_collector_reads_local_state(self):
|
||||
# Arrange
|
||||
tmp = tempfile.mkdtemp()
|
||||
open(os.path.join(tmp, "azaion-2026-03-10.trt"), "wb").close()
|
||||
|
||||
def fake_run(cmd, **kwargs):
|
||||
if cmd[:3] == ["docker", "images", "--format"]:
|
||||
return subprocess.CompletedProcess(
|
||||
cmd,
|
||||
0,
|
||||
stdout="azaion/annotations:arm64_2026-03-01\n",
|
||||
stderr="",
|
||||
)
|
||||
raise AssertionError(f"unexpected cmd {cmd}")
|
||||
|
||||
vc = VersionCollector(tmp, subprocess_run=fake_run)
|
||||
# Act
|
||||
got = vc.collect_as_dicts()
|
||||
# Assert
|
||||
self.assertEqual(
|
||||
got,
|
||||
[
|
||||
{"resource_name": "detection_model", "version": "2026-03-10"},
|
||||
{"resource_name": "annotations", "version": "arm64_2026-03-01"},
|
||||
],
|
||||
)
|
||||
|
||||
def test_ac6_cache_invalidates_after_changes(self):
|
||||
# Arrange
|
||||
tmp = tempfile.mkdtemp()
|
||||
open(os.path.join(tmp, "azaion-2026-01-01.trt"), "wb").close()
|
||||
|
||||
def fake_run(cmd, **kwargs):
|
||||
if cmd[:3] == ["docker", "images", "--format"]:
|
||||
return subprocess.CompletedProcess(cmd, 0, stdout="", stderr="")
|
||||
raise AssertionError(f"unexpected cmd {cmd}")
|
||||
|
||||
vc = VersionCollector(tmp, subprocess_run=fake_run)
|
||||
first = vc.collect_as_dicts()
|
||||
open(os.path.join(tmp, "azaion-2026-02-01.trt"), "wb").close()
|
||||
second_cached = vc.collect_as_dicts()
|
||||
vc.invalidate()
|
||||
third = vc.collect_as_dicts()
|
||||
# Assert
|
||||
self.assertEqual(
|
||||
first,
|
||||
[{"resource_name": "detection_model", "version": "2026-01-01"}],
|
||||
)
|
||||
self.assertEqual(second_cached, first)
|
||||
self.assertEqual(
|
||||
third,
|
||||
[{"resource_name": "detection_model", "version": "2026-02-01"}],
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user