posemesh_compute_node/dds/
persist.rs1use anyhow::Result;
5
6pub fn write_node_secret(secret: &str) -> Result<()> {
8 posemesh_node_registration::state::write_node_secret(secret)
9}
10
11pub fn read_node_secret() -> Result<Option<String>> {
13 posemesh_node_registration::state::read_node_secret()
14}
15
16pub fn clear_node_secret() -> Result<()> {
18 posemesh_node_registration::state::clear_node_secret()
19}
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24
25 #[test]
26 fn write_read_cycle() {
27 clear_node_secret().unwrap();
28 assert!(read_node_secret().unwrap().is_none());
29
30 write_node_secret("test-secret").unwrap();
31 assert_eq!(read_node_secret().unwrap().as_deref(), Some("test-secret"));
32
33 write_node_secret("new-secret").unwrap();
34 assert_eq!(read_node_secret().unwrap().as_deref(), Some("new-secret"));
35
36 clear_node_secret().unwrap();
37 assert!(read_node_secret().unwrap().is_none());
38 }
39}