Changeset 964
- Timestamp:
- 01/07/26 16:44:51 (44 hours ago)
- File:
-
- 1 edited
-
branches/cname-collision/t/cname.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/cname-collision/t/cname.t
r963 r964 147 147 }; 148 148 149 subtest 'CNAME update - non-CNAME to CNAME, non-colliding' => sub { 150 $newval = '192.168.2.15'; 151 $newname = '15-29.arpa.example.net'; 152 ($code, $msg) = $dnsdb->updateRec('n', 'y', 43, 1, \$newname, \$rectype, \$newval, 900); 153 ok( $code eq 'OK', "updateRec() claimed success" ); 154 if ($code eq 'OK') { 155 ($rcount) = $dbh->selectrow_array("SELECT count(*) FROM records WHERE rdns_id = 1 AND val = '$newval'"); 156 ok( $rcount == 1, " ... [$rcount] yep, IP only occurs once" ); 157 } else { 158 print "not ok: $msg\n"; 159 } 160 }; 161 162 subtest 'CNAME update - non-CNAME to CNAME, colliding' => sub { 163 $newval = '192.168.2.14'; 164 $newname = 'arpa14.rev.example.net'; 165 ($code, $msg) = $dnsdb->updateRec('n', 'y', 42, 1, \$newname, \$rectype, \$newval, 900); 166 ok( $code eq 'FAIL', "updateRec() claimed failure updating revzone record type to CNAME" ); 167 if ($code eq 'FAIL') { 168 ($rcount) = $dbh->selectrow_array("SELECT count(*) FROM records WHERE rdns_id = 1 AND val = '$newval' AND type <> 5"); 169 ok( $rcount == 2, " ... [$rcount] record(s) with $newval already exist" ); 170 like( $msg, qr/One or more non-CNAME records/, " ... returned matching error" ); 171 } 172 }; 173 174 subtest 'CNAME update - name to non-colliding name' => sub { 175 $newval = '192.168.2.11'; 176 ($code, $msg) = $dnsdb->updateRec('n', 'y', 34, 1, \$newname, \$rectype, \$newval, 900); 177 ok( $code eq 'OK', "updateRec() claimed success updating revzone CNAME \"hostname\" (non-colliding)" ); 178 if ($code eq 'OK') { 179 ($rcount) = $dbh->selectrow_array("SELECT count(*) FROM records WHERE rdns_id = 1 AND val = '$newval'"); 180 ok( $rcount == 1, " ... [$rcount] yep, IP only occurs once" ); 181 } else { 182 print "not ok: $msg"; 183 } 184 }; 185 186 subtest 'CNAME update - name to colliding name' => sub { 187 $newval = '192.168.2.17'; 188 ($code, $msg) = $dnsdb->updateRec('n', 'y', 46, 1, \$newname, \$rectype, \$newval, 900); 189 ok( $code eq 'FAIL', "updateRec() claimed failure" ); 190 if ($code eq 'FAIL') { 191 ($rcount) = $dbh->selectrow_array("SELECT count(*) FROM records WHERE rdns_id = 1 AND val = '$newval' AND type <> 5"); 192 ok( $rcount == 1, " ... [$rcount] record(s) with $newval already exist" ); 193 like( $msg, qr/One or more non-CNAME records/, " ... returned matching error" ); 194 } 195 }; 196 149 197 }; # reverse zone tests 150 198
Note:
See TracChangeset
for help on using the changeset viewer.
![[ DNS Administrator ]](/fx/dnsadmin-logo.png)