const { chromium } = require('playwright'); async function testDockerConnectivity() { console.log('šŸ”Œ Testing Docker app connectivity...'); const browser = await chromium.launch({ headless: true }); const context = await browser.newContext(); const page = await context.newPage(); const testUrls = [ 'http://192.168.0.46:3000/', 'http://192.168.0.46:3000/login', 'http://192.168.0.46:3000/login-new', 'http://192.168.0.46:3000/dashboard' ]; const results = []; for (const url of testUrls) { try { console.log(`Testing ${url}...`); const response = await page.goto(url, { timeout: 10000 }); const status = response.status(); const finalUrl = page.url(); const title = await page.title(); results.push({ url, status, finalUrl, title, accessible: status < 400, redirected: finalUrl !== url }); console.log(` āœ“ Status: ${status}, Final URL: ${finalUrl}`); } catch (error) { results.push({ url, error: error.message, accessible: false }); console.log(` āŒ Error: ${error.message}`); } } await browser.close(); console.log('\nšŸ“Š Connectivity Test Results:'); console.log('====================================='); results.forEach(result => { console.log(`\n${result.url}:`); if (result.accessible) { console.log(` āœ… Accessible (${result.status})`); console.log(` šŸ“ Final URL: ${result.finalUrl}`); console.log(` šŸ“ Title: ${result.title}`); if (result.redirected) { console.log(` šŸ”„ Redirected from original URL`); } } else { console.log(` āŒ Not accessible`); console.log(` šŸ’„ Error: ${result.error || 'Unknown error'}`); } }); const accessibleCount = results.filter(r => r.accessible).length; console.log(`\nšŸ“ˆ Summary: ${accessibleCount}/${results.length} URLs accessible`); return results; } if (require.main === module) { testDockerConnectivity() .then(results => { const allAccessible = results.every(r => r.accessible); if (allAccessible) { console.log('\nšŸŽ‰ All URLs are accessible! Docker app is working properly.'); } else { console.log('\nāš ļø Some URLs are not accessible. Check Docker setup.'); } process.exit(allAccessible ? 0 : 1); }) .catch(error => { console.error('šŸ’„ Test failed:', error); process.exit(1); }); } module.exports = { testDockerConnectivity };