#!/usr/bin/env python3 import re import pytest from updater import RECORD_LINE_PATTERN, parse_zone_record, diff_zones def test_record_pattern(): assert re.match(RECORD_LINE_PATTERN, "foo 300 IN A 1.1.1.1") assert re.match(RECORD_LINE_PATTERN, "foo\t 300\t IN \tA\t 1.1.1.1") AT_RECORD = { "comment": None, "rrset_name": "@", "rrset_ttl": 300, "rrset_type": "A", "rrset_values": ["67.166.27.157"], } A_RECORD = { "comment": None, "rrset_name": "www", "rrset_ttl": 300, "rrset_type": "A", "rrset_values": ["67.166.27.157"], } REGISTRY_RECORD = { "comment": None, "rrset_name": "registry", "rrset_ttl": 300, "rrset_type": "A", "rrset_values": ["67.166.27.157"], } MIRROR_RECORD = { "comment": None, "rrset_name": "mirror", "rrset_ttl": 300, "rrset_type": "A", "rrset_values": ["67.166.27.157"], } def test_diff_zones(): z1 = [AT_RECORD, A_RECORD] z2 = [] assert diff_zones(z1, z2) == z1, [] z1 = [AT_RECORD, A_RECORD] z2 = [AT_RECORD] assert diff_zones(z1, z2) == [A_RECORD], [] z1 = [AT_RECORD, A_RECORD] z2 = [A_RECORD] assert diff_zones(z1, z2) == [AT_RECORD], [] z2 = [AT_RECORD, A_RECORD] z1 = [A_RECORD] assert diff_zones(z1, z2) == [], [AT_RECORD]