import unittest from app import camera_from_service, normalize_results class CameraDiscoveryTests(unittest.TestCase): def test_extracts_alta_key_and_hostname(self): camera = camera_from_service( "ABH7-C62U-GC3E._vaioncam._tcp.local.", "avacam-abh7-c62u-gc3e.local.", ["10.0.0.223"], 443, ) self.assertEqual(camera["alta_key"], "ABH7-C62U-GC3E") self.assertEqual(camera["hostname"], "avacam-abh7-c62u-gc3e.local") self.assertEqual(camera["web_ui_url"], "https://avacam-abh7-c62u-gc3e.local") self.assertEqual(camera["ip_address"], "10.0.0.223") def test_rejects_non_camera_service(self): self.assertIsNone(camera_from_service( "printer._ipp._tcp.local.", "printer.local.", ["10.0.0.50"], 631 )) def test_deduplicates_and_sorts_results(self): rows = [ {"alta_key": "BBBB-BBBB-BBBB", "ip_address": "10.0.0.2"}, {"alta_key": "AAAA-AAAA-AAAA", "ip_address": "10.0.0.3"}, {"alta_key": "BBBB-BBBB-BBBB", "ip_address": "10.0.0.2"}, ] self.assertEqual( [row["alta_key"] for row in normalize_results(rows)], ["AAAA-AAAA-AAAA", "BBBB-BBBB-BBBB"], ) if __name__ == "__main__": unittest.main()