#!/usr/bin/env bun // Production environment test script console.log('🧪 Testing Production Environment...\n'); // Test 1: Check if CouchDB is accessible console.log('1ļøāƒ£ Testing CouchDB connection...'); try { const response = await fetch('http://localhost:5984/', { headers: { Authorization: 'Basic ' + btoa('admin:password'), }, }); if (response.ok) { const data = await response.json(); console.log('āœ… CouchDB is accessible'); console.log(` Version: ${data.version}`); } else { console.log('āŒ CouchDB connection failed'); } } catch (error) { console.log('āŒ CouchDB connection error:', error.message); } // Test 2: Check if databases exist console.log('\n2ļøāƒ£ Checking databases...'); try { const response = await fetch('http://localhost:5984/_all_dbs', { headers: { Authorization: 'Basic ' + btoa('admin:password'), }, }); if (response.ok) { const databases = await response.json(); console.log('āœ… Available databases:', databases); const requiredDbs = [ 'users', 'medications', 'settings', 'taken_doses', 'reminders', ]; const missing = requiredDbs.filter(db => !databases.includes(db)); if (missing.length === 0) { console.log('āœ… All required databases exist'); } else { console.log('āš ļø Missing databases:', missing); } } } catch (error) { console.log('āŒ Database check error:', error.message); } // Test 3: Check if frontend is accessible console.log('\n3ļøāƒ£ Testing frontend accessibility...'); try { const response = await fetch('http://localhost:8080/'); if (response.ok) { console.log('āœ… Frontend is accessible at http://localhost:8080'); } else { console.log('āŒ Frontend connection failed'); } } catch (error) { console.log('āŒ Frontend connection error:', error.message); } console.log('\nšŸŽÆ Production Environment Test Summary:'); console.log(' • CouchDB: http://localhost:5984'); console.log(' • Frontend: http://localhost:8080'); console.log(' • Admin Login: admin@localhost / admin123!'); console.log( '\nšŸš€ Your medication reminder app is ready for production testing!' );