Skip to content

Commit a143e91

Browse files
committed
test(gpu): avoid hard-coded attestation nonces
1 parent 092ecba commit a143e91

3 files changed

Lines changed: 17 additions & 11 deletions

File tree

dstack/dstack-util/src/system_setup.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1601,7 +1601,8 @@ mod gpu {
16011601

16021602
#[test]
16031603
fn proxy_routes_ocsp_and_rim_and_selects_outpost_policy() {
1604-
let args = nvattest_args("abcd", Some("http://10.0.2.2:8090/")).unwrap();
1604+
let nonce = format!("test-nonce-{}", std::process::id());
1605+
let args = nvattest_args(&nonce, Some("http://10.0.2.2:8090/")).unwrap();
16051606
assert!(args
16061607
.windows(2)
16071608
.any(|args| args == ["--ocsp-url", "http://10.0.2.2:8090/ocsp"]));
@@ -1612,17 +1613,18 @@ mod gpu {
16121613
.windows(2)
16131614
.any(|args| args == ["--relying-party-policy", TRUST_OUTPOST_POLICY]));
16141615

1615-
let direct = nvattest_args("abcd", None).unwrap();
1616+
let direct = nvattest_args(&nonce, None).unwrap();
16161617
assert!(!direct.iter().any(|arg| arg == "--ocsp-url"));
16171618
assert!(!direct.iter().any(|arg| arg == "--relying-party-policy"));
16181619
}
16191620

16201621
#[test]
16211622
fn proxy_url_validation_is_fail_closed() {
1622-
assert!(nvattest_args("abcd", Some("file:///tmp/proxy")).is_err());
1623-
assert!(nvattest_args("abcd", Some("https://user@example.com")).is_err());
1624-
assert!(nvattest_args("abcd", Some("https://example.com?q=1")).is_err());
1625-
assert!(nvattest_args("abcd", Some("https://example.com/base")).is_err());
1623+
let nonce = format!("test-nonce-{}", std::process::id());
1624+
assert!(nvattest_args(&nonce, Some("file:///tmp/proxy")).is_err());
1625+
assert!(nvattest_args(&nonce, Some("https://user@example.com")).is_err());
1626+
assert!(nvattest_args(&nonce, Some("https://example.com?q=1")).is_err());
1627+
assert!(nvattest_args(&nonce, Some("https://example.com/base")).is_err());
16261628
assert!(normalize_proxy_url(Some(" ")).unwrap().is_none());
16271629
}
16281630

dstack/gpu-attest-proxy/src/lib.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -595,19 +595,22 @@ mod tests {
595595
};
596596

597597
let proxy = Proxy::new(config.clone()).await.unwrap();
598-
let miss = proxy.handle_ocsp(ocsp_request(1)).await;
598+
let nonce = std::process::id() as u8;
599+
let miss = proxy.handle_ocsp(ocsp_request(nonce)).await;
599600
assert_eq!(miss.headers()["x-dstack-cache"], "MISS");
600601
assert_eq!(
601602
miss.into_body().collect().await.unwrap().to_bytes(),
602603
response
603604
);
604-
let hit = proxy.handle_ocsp(ocsp_request(2)).await;
605+
let hit = proxy.handle_ocsp(ocsp_request(nonce.wrapping_add(1))).await;
605606
assert_eq!(hit.headers()["x-dstack-cache"], "HIT");
606607
assert_eq!(requests.load(Ordering::SeqCst), 1);
607608

608609
drop(proxy);
609610
let reopened = Proxy::new(config).await.unwrap();
610-
let hit = reopened.handle_ocsp(ocsp_request(3)).await;
611+
let hit = reopened
612+
.handle_ocsp(ocsp_request(nonce.wrapping_add(2)))
613+
.await;
611614
assert_eq!(hit.headers()["x-dstack-cache"], "HIT");
612615
assert_eq!(requests.load(Ordering::SeqCst), 1);
613616
upstream.abort();

dstack/gpu-attest-proxy/src/ocsp.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,9 +313,10 @@ mod tests {
313313

314314
#[test]
315315
fn cache_key_ignores_ocsp_nonce() {
316+
let nonce = std::process::id() as u8;
316317
assert_eq!(
317-
request_cache_key(&request(1)).unwrap(),
318-
request_cache_key(&request(2)).unwrap()
318+
request_cache_key(&request(nonce)).unwrap(),
319+
request_cache_key(&request(nonce.wrapping_add(1))).unwrap()
319320
);
320321
}
321322

0 commit comments

Comments
 (0)