def test_zone_save(): savefile = "tests/db.example.com.saved" z = localzone.load(ZONEFILE, ORIGIN) serial = z.soa.rdata.serial record = z.update_record(HASHID, "192.0.2.100") z.save(savefile) z = localzone.load(savefile, ORIGIN) record = z.find_record("A", content="192.0.2.100")[0] assert z.soa.rdata.serial > serial assert record.name == "@" assert record.rdtype == "A" assert record.content == "192.0.2.100" assert record.ttl == 3600
def test_get_record(): z = localzone.load(ZONEFILE, ORIGIN) record = z.get_record(HASHID) assert record.name == "@" assert record.rdtype == "A" assert record.content == "192.0.2.1" assert record.ttl == 3600
def test_zone_records_property(): z = localzone.load(ZONEFILE, ORIGIN) records = z.records assert len(records) == 16
def test_find_record_by_content(): z = localzone.load(ZONEFILE, ORIGIN) records = z.find_record("A", content="192.0.2.2") assert len(records) == 1 assert records[0].name == "ns"
def test_find_record_by_name(): z = localzone.load(ZONEFILE, ORIGIN) records = z.find_record("CNAME", "www") assert len(records) == 1 assert records[0].content == "@"
def test_find_records_by_type(): z = localzone.load(ZONEFILE, ORIGIN) records = z.find_record("MX") assert len(records) == 3
def test_get_record_not_found(): z = localzone.load(ZONEFILE, ORIGIN) with pytest.raises(KeyError): z.get_record("deadbeef")
def test_get_all_records(): z = localzone.load(ZONEFILE, ORIGIN) records = z.get_records("ANY") assert len(records) == 16
def test_load_missing_origin(): with pytest.raises(UnknownOrigin): localzone.load("tests/zonefiles/db.no-origin.com")
def test_load(): z = localzone.load(ZONEFILE, ORIGIN) assert z.filename == ZONEFILE assert z.ttl == TTL assert len(z.records) == 16