Ignore:
Timestamp:
02/05/26 13:20:31 (4 days ago)
Author:
Kris Deugau
Message:

/branches/cname-collision

Test with updating to a CNAME that expires:
Add test for overlap with pending valid-after record
See #72, #88

File:
1 edited

Legend:

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

    r1022 r1023  
    467467      }
    468468    };
     469    subtest 'expire after pending valid-after record' => sub {
     470      $newname = 'expires4a.expiry3.test';
     471      ($code, $msg) = $dnsdb->updateRec('n', 'n', 92, 6, \$newname, \$rectype, \$newval, 900, undef, 't', $expirystamp);
     472      ok( $code eq 'WARN', "updateRec() claimed success with warning" );
     473      if ($code eq 'WARN') {
     474        ($rcount) = $dbh->selectrow_array("SELECT count(*) FROM records WHERE domain_id = 6 AND host = '$newname'");
     475        ok( $rcount == 2, " ... [$rcount] correct number of records for $newname" );
     476        like( $msg, qr/updated with modified expiry time;  conflicting valid-after record found/, " ... returned appropriate warning message" );
     477        my ($newstamp) = $dbh->selectrow_array("SELECT stamp FROM records WHERE domain_id = 6 AND host = '$newname' ".
     478                "AND stampactive = 't' AND expires = 't'");
     479        my ($oldstamp) = $dbh->selectrow_array("SELECT stamp FROM records WHERE domain_id = 6 AND host = '$newname' ".
     480                "AND stampactive = 't' AND expires = 'f'");
     481        ok( $newstamp eq $oldstamp, " ... coerced timestamp matches existing active-after timestamp" );
     482      } else {
     483        print "not ok: $msg";
     484      }
     485    };
    469486  };
    470487
Note: See TracChangeset for help on using the changeset viewer.