|
| 1 | +#!/usr/bin/env python3 |
| 2 | +""" |
| 3 | +Test script for database_config module functionality. |
| 4 | +""" |
| 5 | + |
| 6 | +import sys |
| 7 | +import os |
| 8 | +sys.path.insert(0, 'src/praisonai/praisonai/ui') |
| 9 | + |
| 10 | +# Test the database_config module |
| 11 | +from database_config import should_force_sqlite, get_database_url_with_sqlite_override, get_database_config_for_sqlalchemy |
| 12 | + |
| 13 | +def test_database_config(): |
| 14 | + print("Testing database_config utilities...") |
| 15 | + |
| 16 | + # Test 1: FORCE_SQLITE=false (default) |
| 17 | + print('\nTest 1: Default behavior (FORCE_SQLITE not set)') |
| 18 | + os.environ.pop('FORCE_SQLITE', None) |
| 19 | + os.environ.pop('DATABASE_URL', None) |
| 20 | + os.environ.pop('SUPABASE_DATABASE_URL', None) |
| 21 | + print(f'should_force_sqlite(): {should_force_sqlite()}') |
| 22 | + print(f'get_database_url_with_sqlite_override(): {get_database_url_with_sqlite_override()}') |
| 23 | + print(f'get_database_config_for_sqlalchemy(): {get_database_config_for_sqlalchemy()}') |
| 24 | + |
| 25 | + # Test 2: FORCE_SQLITE=true |
| 26 | + print('\nTest 2: FORCE_SQLITE=true') |
| 27 | + os.environ['FORCE_SQLITE'] = 'true' |
| 28 | + os.environ['DATABASE_URL'] = 'postgres://test' |
| 29 | + os.environ['SUPABASE_DATABASE_URL'] = 'postgres://supabase' |
| 30 | + print(f'should_force_sqlite(): {should_force_sqlite()}') |
| 31 | + print(f'get_database_url_with_sqlite_override(): {get_database_url_with_sqlite_override()}') |
| 32 | + print(f'get_database_config_for_sqlalchemy(): {get_database_config_for_sqlalchemy()}') |
| 33 | + |
| 34 | + # Test 3: FORCE_SQLITE=false with DATABASE_URL |
| 35 | + print('\nTest 3: FORCE_SQLITE=false with DATABASE_URL') |
| 36 | + os.environ['FORCE_SQLITE'] = 'false' |
| 37 | + print(f'should_force_sqlite(): {should_force_sqlite()}') |
| 38 | + print(f'get_database_url_with_sqlite_override(): {get_database_url_with_sqlite_override()}') |
| 39 | + print(f'get_database_config_for_sqlalchemy(): {get_database_config_for_sqlalchemy()}') |
| 40 | + |
| 41 | + print('\n✅ All tests completed - utility functions work correctly!') |
| 42 | + |
| 43 | +if __name__ == "__main__": |
| 44 | + test_database_config() |
0 commit comments