Skip to content

Commit ad3a358

Browse files
committed
Create client from AppKeys in tests
1 parent 261f656 commit ad3a358

1 file changed

Lines changed: 66 additions & 11 deletions

File tree

guest-agent/src/rpc_service.rs

Lines changed: 66 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ mod tests {
519519
use std::collections::HashSet;
520520
use std::convert::TryFrom;
521521

522-
fn setup_test_state() -> AppState {
522+
async fn setup_test_state() -> AppState {
523523
let mut csprng = OsRng;
524524
let ed25519_key = ed25519_dalek::SigningKey::generate(&mut csprng);
525525
let secp256k1_key = SigningKey::random(&mut csprng);
@@ -537,8 +537,6 @@ mod tests {
537537
vm_config: String::new(),
538538
};
539539

540-
let dummy_cert_client = unsafe { std::mem::zeroed() };
541-
542540
let dummy_simulator = Simulator {
543541
enabled: false,
544542
quote_file: String::new(),
@@ -586,16 +584,73 @@ mod tests {
586584
data_disks: HashSet::new(),
587585
};
588586

587+
const DUMMY_PEM_KEY: &str = r#"-----BEGIN PRIVATE KEY-----
588+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCSeV81CKVqILf/
589+
bk+OarAkZeph4ggb1d9Qt4bzJjVNsowpc/iWbacO6dHvrjXrqNdK7WEHDuxYlQCS
590+
xppINUCKyCoelAt2OJuUonLHtT3s41pGM0k69fcUb420fhKqNAHIaCCc38vOFDZ7
591+
aqLUGNDooc7bXgZxHUJHmq9QneeB74Ia+6TzA2KKXMu4ixvZWvrgRt64XKyL3+4J
592+
sQ6QqSgopGeyTv0blxFxF6X8UTUO/nZPnqf7BN9GnkJtHglb0TLI1H7BYvFmnpjT
593+
8yfjmdbRxvnczvRJuKCzTq9ePEvhRrwAzqQk3Ide0/KWdIiu2nrrfO/Imvia1DNp
594+
GgJsV0L7AgMBAAECggEARUbTcV1kAwRzkgOF7CloouZzCxWhWSz4AJC06oadOmDi
595+
qu53WgqFs2eCjBZ82TdTkFQiiniT7zeV/FWjfdh17M3MIgdKPoF6kDufBvahUcuc
596+
FEzIa3MPB+LVBlOEl2yelT8ugZPVrGPh+tBOL/uGvyhckmNvr4szoHM4TOxKJSk/
597+
njFbJcoX3UmampyxSa6MMSGaxM2pdziTujoj5+sJ/a0x/wwIih/XEZSWgLzDjGZS
598+
qaKmldjD0SRJQrZ1LTjjguKtkbOwKa2dtNOoHBkAtHyI+vWOLXNzZisXMazpmHNT
599+
mE2X6oQFcAXI7HHuHzkLaLpEdqlHA16nwFPNF0LzAQKBgQDLaE1eZnutK+nxHpUq
600+
cb3vMGN8dPxCrQJz/fvEb6lP93RCWBZbGen2gLGvFKyFwPcD/OR0HfBnFRjHIy25
601+
V4ta+iubQM3GFO2FOp9SwequCPY2H6YXah4LyXrCIw4Pv3x/I2bpbLOlltmMT5PS
602+
qPV86dH546kxOsJS6VhMCcQXAQKBgQC4WJu9VTBPfKf8JL8f7b/K0+MBN3OBkhsN
603+
V6nCR8JizAa1hxmxpMaeq7PqlGpJhQKinBblR314Cpqqrt7AL005gCxD0ddBM9Ib
604+
/7HafmLrAuhEDxnYx/QAyprTOsqjLS8Vd+eaA0nGF68R1LLHLxfXfhiuAjMwScCs
605+
afCrbdG1+wKBgAyZ3ZEnkCneOpPxbRRAD6AtwzwGk0oeJbTB20MEF90YW19wzZG/
606+
PTtEJb3O7hErLyJUHGMFJ8t7BxnvF/oPblaogOMRVK4cxconI4+g68T0USxxMXzp
607+
2gqo5K36NfjLyA6oRsvXLBnqCngixembBfpDEfsFG4otNbSlOA8d28QBAoGBAKdG
608+
YCtxPaEi8BtwDK2gQsR9eCMGeh08wqdcwIG2M8EKeZwGt13mswQPsfZOLhQASd/b
609+
2zq5oDRpCueOPjoNsflXQNNZegWETEdzwaMNxByUSsZXHZED/3koX00EsBNZULwe
610+
TV4HVc4Wd5mqc38iUHQNy78559ENW3QXvXcQ85Y5AoGBAIQlSbNRupo/5ATwJW0e
611+
bggPyacIhS9GrsgP9qz9p8xxNSfcyAFRGiXnlGoiRbNchbUiZPRjoJ08lOHGxVQw
612+
O17ivI85heZnG+i5Yz0ZolMd8fbc4h78oA9FnJQJV5AeTDqTxf528A2jyWCAmu11
613+
Sv2zO+vcYHN7bT2UTCEWkeAw
614+
-----END PRIVATE KEY-----
615+
"#;
616+
617+
const DUMMY_PEM_CERT: &str = r#"-----BEGIN CERTIFICATE-----
618+
MIIDCTCCAfGgAwIBAgIUYRX7SNHsL6EGSy0ACQzjX4cfaw0wDQYJKoZIhvcNAQEL
619+
BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTI1MTAwOTEyNDMyN1oXDTI2MTAw
620+
OTEyNDMyN1owFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
621+
AAOCAQ8AMIIBCgKCAQEAknlfNQilaiC3/25PjmqwJGXqYeIIG9XfULeG8yY1TbKM
622+
KXP4lm2nDunR764166jXSu1hBw7sWJUAksaaSDVAisgqHpQLdjiblKJyx7U97ONa
623+
RjNJOvX3FG+NtH4SqjQByGggnN/LzhQ2e2qi1BjQ6KHO214GcR1CR5qvUJ3nge+C
624+
Gvuk8wNiilzLuIsb2Vr64EbeuFysi9/uCbEOkKkoKKRnsk79G5cRcRel/FE1Dv52
625+
T56n+wTfRp5CbR4JW9EyyNR+wWLxZp6Y0/Mn45nW0cb53M70Sbigs06vXjxL4Ua8
626+
AM6kJNyHXtPylnSIrtp663zvyJr4mtQzaRoCbFdC+wIDAQABo1MwUTAdBgNVHQ4E
627+
FgQUsnBjoCWFH3il0MvjO9p0o/vcACgwHwYDVR0jBBgwFoAUsnBjoCWFH3il0Mvj
628+
O9p0o/vcACgwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAj9rI
629+
cHDTj9LhD2Nca/Mj2dNwUa1Fq81I5EF3GWi6mosTT4hfQupUC1i/6UE6ubLHRUGr
630+
J3JnHBG8hUCddx5VxLncDmYP/4LHVEue/XdCURgY+K2WxQnUPDzZV2mXJXUzp8si
631+
6xzFyiPyf4qsQaoRQnpOmyUXvBwtdf3M28EA/pTBBDZ4pZJ1QaSTlT7fpDgK2e6L
632+
arBh7HebdS9UBaWLtYBMsRWRK5qpOQnLiy8H6J93/W6i4X3DSxeZXeYiMSO/jsJ8
633+
5XxL9zqOVjsw9Bxr79zCe7JF6fp6r3miUndMHQch/WXOY07lxH00cEqYo+2/Vk5D
634+
pNs85uhOZE8z2jr8Pg==
635+
-----END CERTIFICATE-----
636+
"#;
637+
589638
let dummy_keys = AppKeys {
590639
disk_crypt_key: Vec::new(),
591640
env_crypt_key: Vec::new(),
592641
k256_key: Vec::new(),
593642
k256_signature: Vec::new(),
594643
gateway_app_id: String::new(),
595-
ca_cert: String::new(),
596-
key_provider: KeyProvider::None { key: String::new() },
644+
ca_cert: DUMMY_PEM_CERT.to_string(),
645+
key_provider: KeyProvider::None {
646+
key: DUMMY_PEM_KEY.to_string(),
647+
},
597648
};
598649

650+
let dummy_cert_client = CertRequestClient::create(&dummy_keys, None, String::new())
651+
.await
652+
.expect("Failed to create CertRequestClient");
653+
599654
let inner = AppStateInner {
600655
config: dummy_config,
601656
keys: dummy_keys,
@@ -615,7 +670,7 @@ mod tests {
615670

616671
#[tokio::test]
617672
async fn test_sign_ed25519_success() {
618-
let state = setup_test_state();
673+
let state = setup_test_state().await;
619674
let handler = InternalRpcHandler {
620675
state: state.clone(),
621676
};
@@ -638,7 +693,7 @@ mod tests {
638693

639694
#[tokio::test]
640695
async fn test_sign_secp256k1_success() {
641-
let state = setup_test_state();
696+
let state = setup_test_state().await;
642697
let handler = InternalRpcHandler {
643698
state: state.clone(),
644699
};
@@ -657,7 +712,7 @@ mod tests {
657712

658713
#[tokio::test]
659714
async fn test_sign_unsupported_algorithm_fails() {
660-
let state = setup_test_state();
715+
let state = setup_test_state().await;
661716
let handler = InternalRpcHandler { state };
662717
let request = SignRequest {
663718
algorithm: "rsa".to_string(), // Unsupported algorithm
@@ -671,7 +726,7 @@ mod tests {
671726

672727
#[tokio::test]
673728
async fn test_get_attestation_ed25519_success() {
674-
let state = setup_test_state();
729+
let state = setup_test_state().await;
675730
let handler = ExternalRpcHandler::new(state.clone());
676731
let request = GetAttestationRequest {
677732
algorithm: "ed25519".to_string(),
@@ -684,7 +739,7 @@ mod tests {
684739

685740
#[tokio::test]
686741
async fn test_get_attestation_secp256k1_success() {
687-
let state = setup_test_state();
742+
let state = setup_test_state().await;
688743
let handler = ExternalRpcHandler::new(state.clone());
689744
let request = GetAttestationRequest {
690745
algorithm: "secp256k1".to_string(),
@@ -697,7 +752,7 @@ mod tests {
697752

698753
#[tokio::test]
699754
async fn test_get_attestation_unsupported_algorithm_fails() {
700-
let state = setup_test_state();
755+
let state = setup_test_state().await;
701756
let handler = ExternalRpcHandler::new(state);
702757
let request = GetAttestationRequest {
703758
algorithm: "ecdsa".to_string(), // Unsupported algorithm

0 commit comments

Comments
 (0)