""" Basic Integration Test - No Database Required Tests modules that don't require database connection """ print("=" * 60) print("BASIC MODULE TEST - NO DATABASE") print("=" * 60) # Test 1: BDI Scorer (pure logic, no dependencies) print("\n1. Testing BDI scorer...") try: from bdi_scorer import score_bdi, get_severity, BDI_ITEMS test_responses = {i: 1 for i in range(21)} result = score_bdi(test_responses) assert result['total'] == 21 assert result['severity'] == 'mild' print(f" OK - BDI scorer works (score: {result['total']}, severity: {result['severity']})") except Exception as e: print(f" ERROR - BDI scorer failed: {e}") # Test 2: Severity Router (pure logic, no dependencies) print("\n2. Testing severity router...") try: from severity_router import route_by_severity # Severe depression route1 = route_by_severity(bdi_score=35, session_number=1, bdi_history=[]) assert route1 == "BEHAVIOURAL_ACTIVATION" print(f" OK - Severe (BDI=35) routes to {route1}") # Moderate depression route2 = route_by_severity(bdi_score=22, session_number=3, bdi_history=[35, 28]) assert route2 == "VALIDATE" print(f" OK - Moderate (BDI=22) routes to {route2}") # Recovered route3 = route_by_severity(bdi_score=10, session_number=10, bdi_history=[35, 28, 22, 18, 15, 12, 11, 10, 9]) assert route3 == "RELAPSE_PREVENTION" print(f" OK - Recovered (BDI=10) routes to {route3}") except Exception as e: print(f" ERROR - Severity router failed: {e}") # Test 3: Context Builder (minimal dependencies) print("\n3. Testing context builder...") try: from context_builder import build_minimal_context context = build_minimal_context(session_number=1, bdi_score=22, severity="moderate") assert "Session Number: 1" in context assert "BDI-II Score: 22" in context print(" OK - Context builder works") except Exception as e: print(f" ERROR - Context builder failed: {e}") # Test 4: Full Protocol State Detection print("\n4. Testing full_protocol module...") try: from full_protocol import is_new_protocol_state, get_initial_state assert is_new_protocol_state("BDI_ASSESSMENT") == True assert is_new_protocol_state("VALIDATE") == False assert is_new_protocol_state("BA_MONITORING") == True print(" OK - State detection works") initial = get_initial_state(0) assert initial == "BDI_ASSESSMENT" print(f" OK - Initial state is {initial}") except Exception as e: print(f" ERROR - Full protocol failed: {e}") print("\n" + "=" * 60) print("BASIC TESTS COMPLETE") print("=" * 60) print("\nAll basic modules work correctly!") print("\nTo test with database:") print("1. Set environment variables (TURSO_DATABASE_URL, TURSO_AUTH_TOKEN, GROQ_API_KEY)") print("2. Run: python app.py") print("3. Test endpoints with curl or Postman")