Skip to content
41 changes: 41 additions & 0 deletions crates/trusted-server-adapter-fastly/src/platform.rs
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,47 @@ mod tests {
);
}

#[test]
fn get_secret_bytes_returns_error_when_open_fails() {
let err = get_secret_bytes::<StubSecretStore, _, _>("signing_keys", "active", || {
Err::<StubSecretStore, &'static str>("permission denied")
})
.expect_err("should return an error when the secret store cannot be opened");

assert!(
matches!(err.current_context(), &PlatformError::SecretStore),
"should surface as PlatformError::SecretStore"
);
}

// --- FastlyPlatformSecretStore write stubs ------------------------------

#[test]
fn fastly_platform_secret_store_create_returns_not_implemented() {
let store = FastlyPlatformSecretStore;
let err = store
.create(&StoreId::from("test-store-id"), "my-secret", "value")
.expect_err("should return an error for unimplemented create");

assert!(
matches!(err.current_context(), &PlatformError::NotImplemented),
"should report NotImplemented while secret store write is not yet implemented"
);
}

#[test]
fn fastly_platform_secret_store_delete_returns_not_implemented() {
let store = FastlyPlatformSecretStore;
let err = store
.delete(&StoreId::from("test-store-id"), "my-secret")
.expect_err("should return an error for unimplemented delete");

assert!(
matches!(err.current_context(), &PlatformError::NotImplemented),
"should report NotImplemented while secret store write is not yet implemented"
);
}

#[test]
fn fastly_platform_http_client_reports_not_implemented() {
let client = FastlyPlatformHttpClient;
Expand Down
Loading