MCPcopy Create free account
hub / github.com/InfinitiBit/graphbit / test_metadata_store_crud

Function test_metadata_store_crud

core/src/memory/store.rs:360–414  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

358
359 #[tokio::test]
360 async fn test_metadata_store_crud() {
361 let store = MetadataStore::new(":memory:").expect("should create in-memory store");
362
363 // Insert
364 let id = MemoryId::new();
365 let memory = Memory {
366 id: id.clone(),
367 content: "User lives in Munich".to_string(),
368 scope: MemoryScope {
369 user_id: Some("user1".to_string()),
370 agent_id: None,
371 run_id: None,
372 },
373 metadata: HashMap::new(),
374 created_at: chrono::Utc::now(),
375 updated_at: chrono::Utc::now(),
376 hash: "abc123".to_string(),
377 };
378 store
379 .insert_memory(&memory)
380 .await
381 .expect("insert should succeed");
382
383 // Get
384 let fetched = store
385 .get_memory(&id)
386 .await
387 .expect("get should succeed")
388 .expect("memory should exist");
389 assert_eq!(fetched.content, "User lives in Munich");
390 assert_eq!(fetched.scope.user_id.as_deref(), Some("user1"));
391
392 // Update
393 store
394 .update_memory(&id, "User lives in Berlin", "def456")
395 .await
396 .expect("update should succeed");
397 let updated = store
398 .get_memory(&id)
399 .await
400 .expect("get should succeed")
401 .expect("memory should exist");
402 assert_eq!(updated.content, "User lives in Berlin");
403
404 // Delete
405 store
406 .delete_memory(&id)
407 .await
408 .expect("delete should succeed");
409 let gone = store
410 .get_memory(&id)
411 .await
412 .expect("get should succeed");
413 assert!(gone.is_none());
414 }
415
416 #[tokio::test]
417 async fn test_metadata_store_scope_filtering() {

Callers

nothing calls this directly

Calls 6

cloneMethod · 0.80
to_stringMethod · 0.80
insert_memoryMethod · 0.80
get_memoryMethod · 0.80
update_memoryMethod · 0.80
delete_memoryMethod · 0.80

Tested by

no test coverage detected