dynk8s-provisioner/src/routes/wireguard.rs

31 lines
775 B
Rust

use crate::k8s::get_wireguard_config;
#[rocket::get("/wireguard/config/<instance_id>")]
pub async fn get_node_wireguard(instance_id: String) -> Option<String> {
if let Ok(Some(token)) = get_wireguard_config(&instance_id).await {
Some(token)
} else {
None
}
}
#[cfg(test)]
mod test {
use super::*;
use crate::rocket;
use rocket::http::Status;
use rocket::local::blocking::Client;
use rocket::uri;
#[test]
fn test_get_node_wireguard_404() {
let client = Client::tracked(rocket()).unwrap();
let res = client
.get(uri!(get_node_wireguard(
instance_id = "i-0a1b2c3d4e5f6f7f8"
)))
.dispatch();
assert_eq!(res.status(), Status::NotFound);
}
}