diff --git a/tools/e2e/run.js b/tools/e2e/run.js index f5579c1..7392ef1 100644 --- a/tools/e2e/run.js +++ b/tools/e2e/run.js @@ -64,7 +64,16 @@ fs.mkdirSync(outDir, { recursive: true }); console.log(`[e2e] site=${siteName} targets=${targets.length} out=${outDir}`); -const browser = await chromium.launch({ headless: true }); +// hostResolverRules permite apuntar el navegador al origen saltandose el DNS publico. +// Hace falta para verificar un sitio que esta detras de Cloudflare: el WAF devuelve 403 +// a las IPs desde las que corremos, asi que por el dominio real no se puede comprobar +// nada. Formato de Chromium: "MAP www.ejemplo.com 1.2.3.4, MAP ejemplo.com 1.2.3.4". +const launchArgs = site.hostResolverRules + ? [`--host-resolver-rules=${site.hostResolverRules}`] + : []; +if (launchArgs.length) console.log(`[e2e] host-resolver-rules: ${site.hostResolverRules}`); + +const browser = await chromium.launch({ headless: true, args: launchArgs }); const context = await browser.newContext({ viewport: site.viewport ?? { width: 1366, height: 900 }, userAgent: site.userAgent ?? 'feadulta-e2e/0.1', diff --git a/tools/e2e/sites/www.json b/tools/e2e/sites/www.json new file mode 100644 index 0000000..6bab198 --- /dev/null +++ b/tools/e2e/sites/www.json @@ -0,0 +1,22 @@ +{ + "name": "feadulta-produccion-hetzner", + "baseUrl": "https://www.feadulta.com", + "viewport": { "width": 1366, "height": 900 }, + "timeoutMs": 45000, + "userAgent": "feadulta-e2e/0.1 (+local)", + "hostResolverRules": "MAP www.feadulta.com 188.40.120.157, MAP feadulta.com 188.40.120.157", + "notes": "Produccion despues del cutover del 3-ago. Se resuelve a mano contra el Hetzner porque el WAF de Cloudflare devuelve 403 a nuestras IPs: por el dominio real no se puede verificar nada. Asi se comprueba el origen, que es lo que hemos cambiado.", + "urls": [ + { "slug": "home-es", "path": "/" }, + { "slug": "home-en", "path": "/en/" }, + { "slug": "home-fr", "path": "/fr/" }, + { "slug": "home-it", "path": "/it/" }, + { "slug": "home-pt", "path": "/pt/" }, + { "slug": "carta-semana", "path": "/mesa-libre/" }, + { "slug": "post-ejemplo", "path": "/como-bendecir-la-mesa/" }, + { "slug": "evangelio-dia", "path": "/evangelio-de-cada-dia/" }, + { "slug": "autores", "path": "/autores-lista/" }, + { "slug": "buscador", "path": "/?s=evangelio" }, + { "slug": "wp-login", "path": "/wp-login.php" } + ] +}