Skip to content

Commit 9616d45

Browse files
committed
Fix tests
1 parent a65b829 commit 9616d45

File tree

3 files changed

+26
-20
lines changed

3 files changed

+26
-20
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

guest-agent/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,5 @@ strip-ansi-escapes.workspace = true
4848
cert-client.workspace = true
4949
ring.workspace = true
5050
ed25519-dalek.workspace = true
51+
tempfile.workspace = true
5152
rand.workspace = true

guest-agent/src/rpc_service.rs

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,7 @@ mod tests {
646646
use super::*;
647647
use crate::config::{AppComposeWrapper, Config, Simulator};
648648
use dstack_guest_agent_rpc::{GetAttestationForAppKeyRequest, SignRequest};
649-
use dstack_types::{AppCompose, AppKeys, DockerConfig, KeyProvider};
649+
use dstack_types::{AppCompose, AppKeys, KeyProvider};
650650
use ed25519_dalek::ed25519::signature::hazmat::PrehashVerifier;
651651
use ed25519_dalek::{
652652
Signature as Ed25519Signature, Verifier, VerifyingKey as Ed25519VerifyingKey,
@@ -655,8 +655,8 @@ mod tests {
655655
use sha2::Sha256;
656656
use std::collections::HashSet;
657657
use std::convert::TryFrom;
658-
use std::fs::File;
659658
use std::io::Write;
659+
use tempfile;
660660

661661
fn extract_pubkey_from_report_data(report_data: &[u8], prefix: &str) -> Result<Vec<u8>> {
662662
let end = report_data
@@ -674,18 +674,18 @@ mod tests {
674674
}
675675
}
676676

677-
async fn setup_test_state() -> AppState {
678-
let mut dummy_quote_file = File::create("/tmp/sample_quote.txt").unwrap();
679-
let _ = File::create("/tmp/sample_event_log.txt").unwrap();
677+
async fn setup_test_state() -> (AppState, tempfile::NamedTempFile, tempfile::NamedTempFile) {
678+
let mut dummy_quote_file = tempfile::NamedTempFile::new().unwrap();
679+
let dummy_event_log_file = tempfile::NamedTempFile::new().unwrap();
680680

681681
let dummy_quote = vec![b'0'; 10020];
682682
dummy_quote_file.write_all(&dummy_quote).unwrap();
683683
dummy_quote_file.flush().unwrap();
684684

685685
let dummy_simulator = Simulator {
686686
enabled: true,
687-
quote_file: "/tmp/sample_quote.txt".to_string(),
688-
event_log_file: "/tmp/sample_event_log.txt".to_string(),
687+
quote_file: dummy_quote_file.path().to_str().unwrap().to_string(),
688+
event_log_file: dummy_event_log_file.path().to_str().unwrap().to_string(),
689689
};
690690

691691
let dummy_appcompose = AppCompose {
@@ -804,14 +804,18 @@ pNs85uhOZE8z2jr8Pg==
804804
demo_cert: RwLock::new(String::new()),
805805
};
806806

807-
AppState {
808-
inner: Arc::new(inner),
809-
}
807+
(
808+
AppState {
809+
inner: Arc::new(inner),
810+
},
811+
dummy_quote_file,
812+
dummy_event_log_file,
813+
)
810814
}
811815

812816
#[tokio::test]
813817
async fn test_verify_ed25519_success() {
814-
let state = setup_test_state().await;
818+
let (state, _quote_file, _log_file) = setup_test_state().await;
815819
let handler = InternalRpcHandler {
816820
state: state.clone(),
817821
};
@@ -838,7 +842,7 @@ pNs85uhOZE8z2jr8Pg==
838842

839843
#[tokio::test]
840844
async fn test_verify_secp256k1_success() {
841-
let state = setup_test_state().await;
845+
let (state, _quote_file, _log_file) = setup_test_state().await;
842846
let handler = InternalRpcHandler {
843847
state: state.clone(),
844848
};
@@ -865,7 +869,7 @@ pNs85uhOZE8z2jr8Pg==
865869

866870
#[tokio::test]
867871
async fn test_sign_ed25519_success() {
868-
let state = setup_test_state().await;
872+
let (state, _quote_file, _log_file) = setup_test_state().await;
869873
let handler = InternalRpcHandler {
870874
state: state.clone(),
871875
};
@@ -895,7 +899,7 @@ pNs85uhOZE8z2jr8Pg==
895899

896900
#[tokio::test]
897901
async fn test_sign_secp256k1_success() {
898-
let state = setup_test_state().await;
902+
let (state, _quote_file, _log_file) = setup_test_state().await;
899903
let handler = InternalRpcHandler {
900904
state: state.clone(),
901905
};
@@ -927,7 +931,7 @@ pNs85uhOZE8z2jr8Pg==
927931

928932
#[tokio::test]
929933
async fn test_sign_secp256k1_prehashed_success() {
930-
let state = setup_test_state().await;
934+
let (state, _quote_file, _log_file) = setup_test_state().await;
931935
let handler = InternalRpcHandler {
932936
state: state.clone(),
933937
};
@@ -964,7 +968,7 @@ pNs85uhOZE8z2jr8Pg==
964968

965969
#[tokio::test]
966970
async fn test_sign_secp256k1_prehashed_invalid_length_fails() {
967-
let state = setup_test_state().await;
971+
let (state, _quote_file, _log_file) = setup_test_state().await;
968972
let handler = InternalRpcHandler {
969973
state: state.clone(),
970974
};
@@ -987,7 +991,7 @@ pNs85uhOZE8z2jr8Pg==
987991

988992
#[tokio::test]
989993
async fn test_sign_unsupported_algorithm_fails() {
990-
let state = setup_test_state().await;
994+
let (state, _quote_file, _log_file) = setup_test_state().await;
991995
let handler = InternalRpcHandler { state };
992996
let request = SignRequest {
993997
algorithm: "rsa".to_string(), // Unsupported algorithm
@@ -1001,7 +1005,7 @@ pNs85uhOZE8z2jr8Pg==
10011005

10021006
#[tokio::test]
10031007
async fn test_get_attestation_for_app_key_ed25519_success() {
1004-
let state = setup_test_state().await;
1008+
let (state, _quote_file, _log_file) = setup_test_state().await;
10051009
let handler = ExternalRpcHandler::new(state.clone());
10061010
let request = GetAttestationForAppKeyRequest {
10071011
algorithm: "ed25519".to_string(),
@@ -1016,7 +1020,7 @@ pNs85uhOZE8z2jr8Pg==
10161020

10171021
#[tokio::test]
10181022
async fn test_get_attestation_for_app_key_secp256k1_success() {
1019-
let state = setup_test_state().await;
1023+
let (state, _quote_file, _log_file) = setup_test_state().await;
10201024
let handler = ExternalRpcHandler::new(state.clone());
10211025
let request = GetAttestationForAppKeyRequest {
10221026
algorithm: "secp256k1".to_string(),
@@ -1031,7 +1035,7 @@ pNs85uhOZE8z2jr8Pg==
10311035

10321036
#[tokio::test]
10331037
async fn test_get_attestation_for_app_key_unsupported_algorithm_fails() {
1034-
let state = setup_test_state().await;
1038+
let (state, _quote_file, _log_file) = setup_test_state().await;
10351039
let handler = ExternalRpcHandler::new(state);
10361040
let request = GetAttestationForAppKeyRequest {
10371041
algorithm: "ecdsa".to_string(), // Unsupported algorithm

0 commit comments

Comments
 (0)