use sqlitegraph::{NodeSpec, config::GraphConfig, open_graph};
use tempfile::TempDir;
#[test]
fn test_index_rebuilding_debug() {
let temp_dir = TempDir::new().expect("Failed to create temp dir");
let db_path = temp_dir.path().join("test_rebuild.db");
let config = GraphConfig::native();
let graph = open_graph(&db_path, &config).expect("Failed to create native graph");
for i in 1..=5 {
let node_spec = NodeSpec {
kind: "test_node".to_string(),
name: format!("test_node_{}", i),
file_path: None,
data: serde_json::json!({"node_id": i}),
};
graph.insert_node(node_spec).expect("Failed to insert node");
}
drop(graph);
let graph2 = open_graph(&db_path, &config).expect("Failed to reopen native graph");
let node_spec = NodeSpec {
kind: "test_node".to_string(),
name: "test_node_after_rebuild".to_string(),
file_path: None,
data: serde_json::json!({"node_id": 999}),
};
let result = graph2.insert_node(node_spec);
println!("Insert after rebuild result: {:?}", result);
match result {
Ok(_) => println!("SUCCESS: Node insertion worked after rebuild"),
Err(e) => println!("ERROR: Node insertion failed after rebuild: {}", e),
}
}