feat: Major directory reorganization and cleanup
Reorganized project structure for better maintainability and reduced disk usage by 95.9% (11 GB -> 451 MB). Directory Reorganization (85% reduction in root files): - Created docs/ with subdirectories (deployment, testing, database, etc.) - Created infrastructure/vpn-configs/ for VPN scripts - Moved 90+ files from root to organized locations - Archived obsolete documentation (context system, offline mode, zombie debugging) - Moved all test files to tests/ directory - Root directory: 119 files -> 18 files Disk Cleanup (10.55 GB recovered): - Deleted Rust build artifacts: 9.6 GB (target/ directories) - Deleted Python virtual environments: 161 MB (venv/ directories) - Deleted Python cache: 50 KB (__pycache__/) New Structure: - docs/ - All documentation organized by category - docs/archives/ - Obsolete but preserved documentation - infrastructure/ - VPN configs and SSH setup - tests/ - All test files consolidated - logs/ - Ready for future logs Benefits: - Cleaner root directory (18 vs 119 files) - Logical organization of documentation - 95.9% disk space reduction - Faster navigation and discovery - Better portability (build artifacts excluded) Build artifacts can be regenerated: - Rust: cargo build --release (5-15 min per project) - Python: pip install -r requirements.txt (2-3 min) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
99
tests/test_db_connection.py
Normal file
99
tests/test_db_connection.py
Normal file
@@ -0,0 +1,99 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Test MariaDB connectivity from Windows"""
|
||||
import pymysql
|
||||
|
||||
# Connection details
|
||||
HOST = '172.16.3.20'
|
||||
PORT = 3306
|
||||
ROOT_PASSWORD = r'Dy8RPj-s{+=bP^(NoW"T;E~JXyBC9u|<'
|
||||
CLAUDETOOLS_PASSWORD = 'CT_e8fcd5a3952030a79ed6debae6c954ed'
|
||||
|
||||
print("Testing MariaDB connection to Jupiter (172.16.3.20)...\n")
|
||||
|
||||
# Test 1: Root connection
|
||||
try:
|
||||
print("Test 1: Connecting as root...")
|
||||
conn = pymysql.connect(
|
||||
host=HOST,
|
||||
port=PORT,
|
||||
user='root',
|
||||
password=ROOT_PASSWORD,
|
||||
connect_timeout=10
|
||||
)
|
||||
print("[OK] Root connection successful!")
|
||||
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("SELECT VERSION()")
|
||||
version = cursor.fetchone()
|
||||
print(f" MariaDB Version: {version[0]}")
|
||||
|
||||
cursor.execute("SHOW DATABASES")
|
||||
databases = cursor.fetchall()
|
||||
print(f" Databases found: {len(databases)}")
|
||||
for db in databases:
|
||||
print(f" - {db[0]}")
|
||||
|
||||
# Check if claudetools database exists
|
||||
cursor.execute("SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'claudetools'")
|
||||
claudetools_db = cursor.fetchone()
|
||||
if claudetools_db:
|
||||
print("\n[OK] 'claudetools' database exists!")
|
||||
else:
|
||||
print("\n[WARNING] 'claudetools' database does NOT exist yet")
|
||||
|
||||
# Check if claudetools user exists
|
||||
cursor.execute("SELECT User FROM mysql.user WHERE User = 'claudetools'")
|
||||
claudetools_user = cursor.fetchone()
|
||||
if claudetools_user:
|
||||
print("[OK] 'claudetools' user exists!")
|
||||
else:
|
||||
print("[WARNING] 'claudetools' user does NOT exist yet")
|
||||
|
||||
conn.close()
|
||||
print("\nTest 1 PASSED [OK]\n")
|
||||
|
||||
except Exception as e:
|
||||
print(f"[FAILED] Test 1: {e}\n")
|
||||
|
||||
# Test 2: Claudetools user connection (if exists)
|
||||
try:
|
||||
print("Test 2: Connecting as 'claudetools' user...")
|
||||
conn = pymysql.connect(
|
||||
host=HOST,
|
||||
port=PORT,
|
||||
user='claudetools',
|
||||
password=CLAUDETOOLS_PASSWORD,
|
||||
database='claudetools',
|
||||
connect_timeout=10
|
||||
)
|
||||
print("[OK] Claudetools user connection successful!")
|
||||
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("SELECT DATABASE()")
|
||||
current_db = cursor.fetchone()
|
||||
print(f" Current database: {current_db[0]}")
|
||||
|
||||
cursor.execute("SHOW TABLES")
|
||||
tables = cursor.fetchall()
|
||||
print(f" Tables in claudetools: {len(tables)}")
|
||||
|
||||
conn.close()
|
||||
print("\nTest 2 PASSED [OK]\n")
|
||||
|
||||
except pymysql.err.OperationalError as e:
|
||||
if "Access denied" in str(e):
|
||||
print("[WARNING] Claudetools user doesn't exist or wrong password")
|
||||
elif "Unknown database" in str(e):
|
||||
print("[WARNING] Claudetools database doesn't exist yet")
|
||||
else:
|
||||
print(f"[WARNING] Test 2: {e}")
|
||||
print(" (This is expected if database/user haven't been created yet)\n")
|
||||
except Exception as e:
|
||||
print(f"[WARNING] Test 2: {e}\n")
|
||||
|
||||
print("\n" + "="*60)
|
||||
print("CONNECTION TEST SUMMARY")
|
||||
print("="*60)
|
||||
print("[OK] MariaDB is accessible from Windows on port 3306")
|
||||
print("[OK] Root authentication works")
|
||||
print("\nNext step: Create 'claudetools' database and user if they don't exist")
|
||||
Reference in New Issue
Block a user