import unittest from dns_sync.engine import build_sync_plan from dns_sync.models import ( DesiredRecord, ProviderCapabilities, ProviderRecord, ) class LegacyDnsEngineTests(unittest.TestCase): def test_existing_dns_plan_still_adds_updates_and_preserves_matches(self): desired = { "add.example.com": DesiredRecord( hostname="add.example.com", ip="192.168.1.101", ), "keep.example.com": DesiredRecord( hostname="keep.example.com", ip="192.168.1.101", ), "update.example.com": DesiredRecord( hostname="update.example.com", ip="192.168.1.101", ), } current = { "keep.example.com": ProviderRecord( hostname="keep.example.com", ip="192.168.1.101", ), "update.example.com": ProviderRecord( hostname="update.example.com", ip="192.168.1.50", ), } plan = build_sync_plan( desired, current, ProviderCapabilities(), ) actions = { item.desired.hostname: item.action for item in plan } self.assertEqual(actions["add.example.com"], "ADD") self.assertEqual(actions["keep.example.com"], "UNCHANGED") self.assertEqual(actions["update.example.com"], "UPDATE") if __name__ == "__main__": unittest.main()