# scripts/test_graph_operations.py import requests BASE_URL = "http://localhost:5000" def test_load_graph(): print("\n--- Testing Graph Loading ---") response = requests.post(f"{BASE_URL}/load_graph") print("Load Graph Response:", response.json()) def test_create_node(): print("\n--- Testing Node Creation ---") data = { "node_id": "patient_123", "data": { "name": "John Doe", "age": 45, "medical_conditions": ["hypertension", "diabetes"] }, "domain": "Healthcare", "type": "Patient" } response = requests.post(f"{BASE_URL}/create_node", json=data) print("Create Node Response:", response.json()) def test_query_node(node_id): print(f"\n--- Testing Node Query ({node_id}) ---") response = requests.get(f"{BASE_URL}/query_node", params={"node_id": node_id}) print(f"Query Node {node_id} Response:", response.json()) def test_list_nodes(): print("\n--- Testing List All Nodes ---") response = requests.get(f"{BASE_URL}/list_nodes") print("List Nodes Response:", response.json()) def test_list_relationships(): print("\n--- Testing List All Relationships ---") response = requests.get(f"{BASE_URL}/list_relationships") print("List Relationships Response:", response.json()) def test_traverse_node(node_id, direction): print(f"\n--- Testing Node Traversal ({node_id}, {direction}) ---") response = requests.get(f"{BASE_URL}/traverse_node", params={"node_id": node_id, "direction": direction}) print(f"Traversal Path ({node_id} - {direction}):", response.json()) def test_inspect_relationships(node_id): print(f"\n--- Testing Inspect Relationships for Node ({node_id}) ---") response = requests.get(f"{BASE_URL}/inspect_relationships", params={"node_id": node_id}) print(f"Inspect Relationships for {node_id}:", response.json()) if __name__ == "__main__": # Step 1: Load the Graph test_load_graph() # Step 2: Create a sample node test_create_node() # Step 3: Query specific nodes test_query_node("patient_123") test_query_node("Healthcare") # Step 4: List all nodes test_list_nodes() # Step 5: List all relationships test_list_relationships() # Step 6: Traverse nodes (both up and down) test_traverse_node("patient_123", "up") test_traverse_node("Healthcare", "down") # Step 7: Inspect relationships, including hierarchy traversal test_inspect_relationships("Healthcare") test_inspect_relationships("patient_123")