corpusdb / test_features.py
mrsavage1's picture
Upload 8 files
83b95f2 verified
#!/usr/bin/env python3
"""Test all implemented phpMyAdmin features"""
print('=== FEATURE IMPLEMENTATION STATUS ===')
print()
features = [
('Bookmark Manager', 'app.bookmark_manager', 'bookmark_manager'),
('Global Search', 'app.global_search', 'global_search'),
('Table Maintenance', 'app.table_maintenance', 'table_maintenance'),
('BLOB Handler', 'app.blob_handler', 'blob_handler'),
('Views Manager', 'app.views_manager', 'views_manager'),
]
for i, (name, module, obj_name) in enumerate(features, 1):
try:
exec(f'from {module} import {obj_name}')
obj = eval(obj_name)
methods = len([m for m in dir(obj) if not m.startswith('_')])
print(f'[{i}/10] {name:25} - LOADED ({methods} methods)')
except Exception as e:
print(f'[{i}/10] {name:25} - FAILED: {e}')
print()
# Test API routes
from app.api import router
routes = [r.path for r in router.routes if hasattr(r, 'path')]
bookmark_routes = [r for r in routes if 'bookmark' in r]
search_routes = [r for r in routes if 'search' in r]
maintenance_routes = [r for r in routes if 'maintenance' in r]
blob_routes = [r for r in routes if 'blob' in r]
view_routes = [r for r in routes if 'views' in r or r.startswith('/views')]
print('API Endpoints:')
print(f' Bookmarks: {len(bookmark_routes)} endpoints')
print(f' Search: {len(search_routes)} endpoints')
print(f' Maintenance: {len(maintenance_routes)} endpoints')
print(f' BLOB: {len(blob_routes)} endpoints')
print(f' Views: {len(view_routes)} endpoints')
print(f' Total new: {len(bookmark_routes) + len(search_routes) + len(maintenance_routes) + len(blob_routes) + len(view_routes)} endpoints')
print()
print('=== 5/10 FEATURES COMPLETE ===')