test-final-corrected.js•6.3 kB
#!/usr/bin/env node
/**
* Final Corrected JWT Test - Using the actual corrected token from correct-jwt-new.txt
*/
import { chromium } from 'playwright';
async function testFinalCorrectedJWT() {
console.log('🔍 Testing FINAL CORRECTED JWT Token from correct-jwt-new.txt');
// Read the corrected JWT token directly from the file to ensure we get the exact corrected version
const fs = await import('fs');
const finalJWTToken = fs.readFileSync('/Users/ricardokawasaki/Desktop/euconquisto-composer-mcp-poc/correct-jwt-new.txt', 'utf8').trim();
console.log(`✅ JWT Token length: ${finalJWTToken.length} characters`);
// Verify it has the correct characters
console.log(`✅ Contains NEsta: ${finalJWTToken.includes('NEsta')}`);
console.log(`✅ Contains WEJLam: ${finalJWTToken.includes('WEJLam')}`);
console.log(`❌ Contains NGsta (should be false): ${finalJWTToken.includes('NGsta')}`);
console.log(`❌ Contains WEJKam (should be false): ${finalJWTToken.includes('WEJKam')}`);
const baseURL = "https://composer.euconquisto.com/#/embed";
const orgId = "36c92686-c494-ec11-a22a-dc984041c95d";
const fullURL = `${baseURL}/auth-with-token/pt_br/home/${orgId}/${finalJWTToken}`;
console.log(`\n🔗 FINAL CORRECTED URL:`);
console.log(fullURL);
console.log(`\nURL length: ${fullURL.length} characters`);
let browser, page;
try {
console.log('\n1️⃣ Launching browser with FINAL corrected JWT token...');
browser = await chromium.launch({
headless: false,
args: [
'--no-sandbox',
'--disable-dev-shm-usage',
'--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
]
});
const context = await browser.newContext({
viewport: { width: 1280, height: 720 }
});
page = await context.newPage();
page.setDefaultTimeout(30000);
page.setDefaultNavigationTimeout(60000);
// Log events
page.on('console', msg => console.log(`PAGE: ${msg.text()}`));
page.on('pageerror', error => console.error(`PAGE ERROR: ${error.message}`));
page.on('response', response => {
if (!response.ok() && response.status() !== 404) {
console.log(`HTTP ${response.status()}: ${response.url()}`);
}
});
console.log('2️⃣ Navigating to Composer with FINAL corrected JWT...');
const response = await page.goto(fullURL, {
waitUntil: 'domcontentloaded',
timeout: 60000
});
if (!response || !response.ok()) {
console.error(`❌ Navigation failed with status: ${response?.status()}`);
return;
}
console.log('✅ Page loaded successfully');
// Wait for JavaScript initialization
console.log('3️⃣ Waiting for application to initialize...');
await page.waitForTimeout(10000);
// Check page content
const content = await page.evaluate(() => {
const body = document.body;
const buttons = document.querySelectorAll('button');
const hasComposerContent = body.textContent?.includes('Nova') || body.textContent?.includes('Composição') || body.textContent?.includes('Composer');
return {
bodyTextLength: body.textContent?.length || 0,
buttonCount: buttons.length,
hasComposerContent,
title: document.title,
allButtonTexts: Array.from(buttons).slice(0, 10).map(btn => btn.textContent?.trim()).filter(text => text)
};
});
console.log('4️⃣ Page content analysis:');
console.log(' - Page title:', content.title);
console.log(' - Body text length:', content.bodyTextLength);
console.log(' - Button count:', content.buttonCount);
console.log(' - Has Composer content:', content.hasComposerContent);
console.log(' - Available buttons:', content.allButtonTexts);
// Screenshot
const timestamp = Date.now();
await page.screenshot({
path: `final-corrected-test-${timestamp}.png`,
fullPage: true
});
console.log(`📸 Screenshot saved: final-corrected-test-${timestamp}.png`);
// Look for "NOVA COMPOSIÇÃO" button
const novaButton = await page.locator('text=NOVA COMPOSIÇÃO').first();
const novaButtonExists = await novaButton.count() > 0;
console.log('5️⃣ \"NOVA COMPOSIÇÃO\" button check:', novaButtonExists ? '✅ Found' : '❌ Not found');
if (novaButtonExists) {
console.log('🎉 SUCCESS: Composer page loaded with FINAL corrected JWT and \"NOVA COMPOSIÇÃO\" button visible!');
console.log('✅ TASK-001 JWT token correction appears to be successful');
} else {
console.log('⚠️ ISSUE: Page loaded but \"NOVA COMPOSIÇÃO\" button still not visible');
console.log('🔍 The JWT token is now properly corrected, but there may be other factors');
}
// Wait a bit longer to observe the page
console.log('6️⃣ Waiting additional time to observe page behavior...');
await page.waitForTimeout(5000);
} catch (error) {
console.error('❌ Test failed:', error.message);
if (page) {
try {
await page.screenshot({
path: `final-corrected-error-${Date.now()}.png`,
fullPage: true
});
console.log('📸 Error screenshot saved');
} catch (screenshotError) {
console.error('Could not take error screenshot');
}
}
} finally {
if (browser) {
await browser.close();
console.log('🔒 Browser closed');
}
}
}
// Run the test
testFinalCorrectedJWT().catch(console.error);