Changeset 951
- Timestamp:
- 12/24/25 13:45:17 (5 hours ago)
- File:
-
- 1 edited
-
branches/cname-collision/t/cname.t (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/cname-collision/t/cname.t
r950 r951 1 1 # -*- Perl -*- 2 2 # Tests for CNAME records 3 # Note that not all possible cases are caught! 4 # Template records mean not all published records are natively present in the DB 3 5 4 6 use Test::More; … … 42 44 }; 43 45 46 47 ## Reverse zone 48 49 subtest 'CNAME add - new reverse name' => sub { 50 $newval = '192.168.2.12'; 51 $newname = '12.8-29.2.168.192.in-addr.arpa'; 52 ($code, $msg) = $dnsdb->addRec('n', 'y', 1, \$newname, \$rectype, \$newval, 900); 53 ok( $code eq 'OK', "addRec() claimed succeess adding reverse zone CNAME" ); 54 if ($code eq 'OK') { 55 ($rcount) = $dbh->selectrow_array("SELECT count(*) FROM records WHERE rdns_id = 1 AND val = '$newval'"); 56 ok( $rcount == 1, " ... [$rcount] yep, IP only occurs once" ); 57 } else { 58 print "not ok: $msg\n"; 59 } 60 }; 61 62 subtest 'CNAME add - existing/colliding non-CNAME' => sub { 63 $newval = '192.168.2.14'; 64 $newname = '14.8-29.2.168.192.in-addr.arpa'; 65 ($code, $msg) = $dnsdb->addRec('n', 'y', 1, \$newname, \$rectype, \$newval, 900); 66 ok( $code eq 'FAIL', "addRec() claimed failure adding colliding reverse zone CNAME" ); 67 if ($code eq 'FAIL') { 68 ($rcount) = $dbh->selectrow_array("SELECT count(*) FROM records WHERE rdns_id = 1 AND val = '$newval' AND type <> 5"); 69 ok( $rcount == 2, " ... [$rcount] record(s) with $newname already exist" ); 70 like( $msg, qr/One or more non-CNAME records/, " ... returned matching error" ); 71 } 72 }; 73 74 subtest 'CNAME add - existing/colliding CNAME' => sub { 75 $newval = '192.168.2.13'; 76 $newname = '13.8-29.2.168.192.in-addr.arpa'; 77 ($code, $msg) = $dnsdb->addRec('n', 'y', 1, \$newname, \$rectype, \$newval, 900); 78 ok( $code eq 'FAIL', "addRec() claimed failure adding duplicate reverse zone CNAME" ); 79 if ($code eq 'FAIL') { 80 ($rcount) = $dbh->selectrow_array("SELECT count(*) FROM records WHERE rdns_id = 1 AND val = '$newval' AND type = 5"); 81 ok( $rcount == 1, " ... [$rcount] CNAME already exists" ); 82 like( $msg, qr/already a CNAME present/, " ... returned matching error" ); 83 } 84 }; 85 44 86 done_testing();
Note:
See TracChangeset
for help on using the changeset viewer.
![[ DNS Administrator ]](/fx/dnsadmin-logo.png)