use trz_gateway_common::id::ClientName;
use trz_gateway_server::server::gateway_config::GatewayConfig;
use crate::client::config::ClientConfig;
#[derive(Debug)]
pub struct TestClientConfig<G> {
gateway_config: G,
client_name: ClientName,
}
impl<G> TestClientConfig<G> {
pub fn new(gateway_config: G, client_name: ClientName) -> Self {
Self {
gateway_config,
client_name,
}
}
}
impl<G: GatewayConfig> ClientConfig for TestClientConfig<G> {
fn base_url(&self) -> impl std::fmt::Display {
std::format!(
"https://localhost:{}",
self.gateway_config.ports().first().unwrap()
)
}
fn client_name(&self) -> ClientName {
self.client_name.clone()
}
type GatewayPki = G::RootCaConfig;
fn gateway_pki(&self) -> Self::GatewayPki {
self.gateway_config.root_ca()
}
}