Skip to content

Commit 7fc2db3

Browse files
committed
fix(kbs_protocol): Use mock evidence provider in integration test
1 parent 96fc3f1 commit 7fc2db3

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

attestation-agent/kbs_protocol/src/client/rcar_client.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ mod test {
393393
use tokio::fs;
394394

395395
use crate::{
396-
evidence_provider::NativeEvidenceProvider, Error, KbsClientBuilder, KbsClientCapabilities,
396+
evidence_provider::MockedEvidenceProvider, Error, KbsClientBuilder, KbsClientCapabilities,
397397
};
398398

399399
use crate::client::rcar_client::{
@@ -463,7 +463,7 @@ mod test {
463463
let port = kbs.get_host_port_ipv4(8085).await.expect("get port");
464464
let kbs_host_url = format!("http://127.0.0.1:{port}");
465465

466-
let evidence_provider = Box::new(NativeEvidenceProvider::new().unwrap());
466+
let evidence_provider = Box::new(MockedEvidenceProvider::default());
467467
let mut client = KbsClientBuilder::with_evidence_provider(evidence_provider, &kbs_host_url)
468468
.build()
469469
.expect("client create");

attestation-agent/kbs_protocol/src/evidence_provider/mock.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,33 @@
55

66
use async_trait::async_trait;
77
use attester::TeeEvidence;
8+
use base64::Engine;
89
use kbs_types::Tee;
10+
use serde::{Deserialize, Serialize};
911

1012
use super::EvidenceProvider;
1113

1214
use crate::Result;
1315

16+
#[derive(Serialize, Deserialize, Debug)]
17+
struct SampleQuote {
18+
svn: String,
19+
report_data: String,
20+
}
21+
1422
#[derive(Default)]
1523
pub struct MockedEvidenceProvider {}
1624

1725
#[async_trait]
1826
impl EvidenceProvider for MockedEvidenceProvider {
19-
async fn primary_evidence(&self, _runtime_data: Vec<u8>) -> Result<TeeEvidence> {
20-
Ok("test evidence".into())
27+
async fn primary_evidence(&self, runtime_data: Vec<u8>) -> Result<TeeEvidence> {
28+
let evidence = SampleQuote {
29+
svn: "1".to_string(),
30+
report_data: base64::engine::general_purpose::STANDARD.encode(runtime_data),
31+
};
32+
33+
serde_json::to_value(&evidence)
34+
.map_err(|e| crate::Error::GetEvidence(format!("Serialize sample evidence failed: {e}")))
2135
}
2236

2337
async fn get_additional_evidence(&self, _runtime_data: Vec<u8>) -> Result<String> {

0 commit comments

Comments
 (0)