Skip to content

Commit c269d2a

Browse files
committed
test(gateway): retain cert on expired hot reload
1 parent 93ed243 commit c269d2a

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

dstack/gateway/src/cert_store.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,4 +476,29 @@ mod tests {
476476
);
477477
assert!(resolver.get().has_cert_for_sni("app.example.com"));
478478
}
479+
480+
#[test]
481+
fn expired_update_retains_previous_certificate() {
482+
let original = make_test_cert_data();
483+
let mut expired = make_test_cert_data();
484+
expired.not_after = 1;
485+
486+
let resolver = CertResolver::new();
487+
resolver
488+
.update_cert("example.com", &original)
489+
.expect("failed to install original certificate");
490+
resolver
491+
.update_cert("example.com", &expired)
492+
.expect_err("expired certificate must be rejected");
493+
494+
assert_eq!(
495+
resolver
496+
.get()
497+
.get_cert_data("example.com")
498+
.expect("original certificate was lost")
499+
.not_after,
500+
original.not_after
501+
);
502+
assert!(resolver.get().has_cert_for_sni("app.example.com"));
503+
}
479504
}

0 commit comments

Comments
 (0)