1use std::collections::{HashMap, HashSet};
2
3use vector_lib::configurable::configurable_component;
4
5use crate::{config::SecretBackend, signal};
6
7#[configurable_component(secrets("test"))]
9#[derive(Clone, Debug, Default)]
10pub struct TestBackend {
11 pub replacement: String,
13}
14
15impl_generate_config_from_default!(TestBackend);
16
17impl SecretBackend for TestBackend {
18 async fn retrieve(
19 &mut self,
20 secret_keys: HashSet<String>,
21 _: &mut signal::SignalRx,
22 ) -> crate::Result<HashMap<String, String>> {
23 Ok(secret_keys
24 .into_iter()
25 .map(|k| (k, self.replacement.clone()))
26 .collect())
27 }
28}