Ignore:
Timestamp:
01/14/26 13:34:48 (6 days ago)
Author:
Kris Deugau
Message:

/branches/cname-collision

Add test for new non-timestamped CNAME colliding with a record with a
future valid-after stamp
See #72, #88

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/cname-collision/t/cname.t

    r975 r982  
    226226      }
    227227    };
    228   };
    229 
    230 };
     228    subtest '  - collision with active-after record' => sub {
     229      $newname = 'active-after1.expiry1.test';
     230      ($code, $msg) = $dnsdb->addRec('n', 'n', 4, \$newname, \$rectype, \$newval, 900);
     231      ok( $code eq 'WARN', "addRec() claimed success with warning" );
     232      if ($code eq 'WARN') {
     233        ($rcount) = $dbh->selectrow_array("SELECT count(*) FROM records WHERE domain_id = 4 AND host = '$newname'");
     234        ok( $rcount == 2, " ... [$rcount] correct number of records for $newname" );
     235        like( $msg, qr/added with expiry time;  conflicting valid-after record found/, " ... returned appropriate warning message" );
     236        my ($newstamp) = $dbh->selectrow_array("SELECT stamp FROM records WHERE domain_id = 4 AND host = '$newname' ".
     237                "AND stampactive = 't' AND expires = 't'");
     238        my ($oldstamp) = $dbh->selectrow_array("SELECT stamp FROM records WHERE domain_id = 4 AND host = '$newname' ".
     239                "AND stampactive = 't' AND expires = 'f'");
     240        ok( $newstamp == $oldstamp, " ... coerced timestamp matches existing active-after timestamp" );
     241      } else {
     242        print "not ok: $msg";
     243      }
     244    };
     245  }; # add non-timestamp CNAME
     246
     247}; # record expiry/valid-after
    231248
    232249
Note: See TracChangeset for help on using the changeset viewer.