()
| 140 | |
| 141 | #[tokio::test] |
| 142 | async fn test_node_list() { |
| 143 | let storage = Arc::new(MemoryStorage::new()); |
| 144 | |
| 145 | // Create multiple nodes |
| 146 | let node1 = create_test_node("node-1"); |
| 147 | let node2 = create_test_node("node-2"); |
| 148 | let node3 = create_test_node("node-3"); |
| 149 | |
| 150 | let key1 = build_key("nodes", None, "node-1"); |
| 151 | let key2 = build_key("nodes", None, "node-2"); |
| 152 | let key3 = build_key("nodes", None, "node-3"); |
| 153 | |
| 154 | storage.create(&key1, &node1).await.unwrap(); |
| 155 | storage.create(&key2, &node2).await.unwrap(); |
| 156 | storage.create(&key3, &node3).await.unwrap(); |
| 157 | |
| 158 | // List |
| 159 | let prefix = build_prefix("nodes", None); |
| 160 | let nodes: Vec<Node> = storage.list(&prefix).await.unwrap(); |
| 161 | |
| 162 | assert!(nodes.len() >= 3); |
| 163 | let names: Vec<String> = nodes.iter().map(|n| n.metadata.name.clone()).collect(); |
| 164 | assert!(names.contains(&"node-1".to_string())); |
| 165 | assert!(names.contains(&"node-2".to_string())); |
| 166 | assert!(names.contains(&"node-3".to_string())); |
| 167 | |
| 168 | // Clean up |
| 169 | storage.delete(&key1).await.unwrap(); |
| 170 | storage.delete(&key2).await.unwrap(); |
| 171 | storage.delete(&key3).await.unwrap(); |
| 172 | } |
| 173 | |
| 174 | #[tokio::test] |
| 175 | async fn test_node_with_status() { |
nothing calls this directly
no test coverage detected