Skip to main content
Glama
test-final-corrected.js6.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);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rkm097git/euconquisto-composer-mcp-poc'

If you have feedback or need assistance with the MCP directory API, please join our Discord server