From af423375f6b155371b6e78194fcb4b944e583732 Mon Sep 17 00:00:00 2001 From: Manolo Carrasco Date: Thu, 30 Jan 2025 19:20:28 +0100 Subject: [PATCH] Remove hacks --- scripts/pit/its/cc-identity-management.js | 25 +++-------------------- scripts/pit/its/cc-install-apps.js | 7 +------ scripts/pit/its/cc-localization.js | 4 +++- scripts/pit/its/test-utils.js | 3 ++- scripts/pit/lib/lib-ccenter.sh | 2 +- 5 files changed, 10 insertions(+), 31 deletions(-) diff --git a/scripts/pit/its/cc-identity-management.js b/scripts/pit/its/cc-identity-management.js index 6b09a195..6b774ae3 100644 --- a/scripts/pit/its/cc-identity-management.js +++ b/scripts/pit/its/cc-identity-management.js @@ -41,33 +41,14 @@ const {log, err, args, createPage, closePage, takeScreenshot, waitForServerReady // When app is not running, localization button might not be enabled let pageApp = await createPage(arg.headless, arg.ignoreHTTPSErrors); await waitForServerReady(pageApp, url); - await takeScreenshot(pageApp, __filename, 'app-running'); + await takeScreenshot(pageApp, __filename, `app-${app}-running`); await closePage(pageApp); // Button is enabled after app is running, let's see log(`Enabling identity Management ...\n`); await page.getByRole('link', { name: 'Identity Management' }).click(); await takeScreenshot(page, __filename, 'identity-link-clicked'); - try { - await page.waitForTimeout(2000); - await page.getByRole('button', { name: 'Enable Identity Management' }).click(); - } catch (error) { - try { - await page.getByRole('link', { name: 'Settings' }).click(); - await page.waitForTimeout(2000); - await page.locator('vaadin-grid').getByText('bakery-cc', { exact: true }).click(); - await page.getByLabel('Identity Management').check(); - await page.getByRole('button', { name: 'Update' }).click(); - await page.locator('vaadin-select vaadin-input-container div').click(); - await page.getByRole('option', { name: app }).locator('div').nth(2).click(); - await page.getByRole('link', { name: 'Identity Management' }).click(); - } catch (error) { - err(`Retrying in 60 secs looking for enabled button : ${error}\n`); - await page.waitForTimeout(60000); - await page.reload(); - await page.getByRole('link', { name: 'Identity Management' }).click(); - await page.getByRole('button', { name: 'Enable Identity Management' }).click(); - } - } + await page.waitForTimeout(2000); + await page.getByRole('button', { name: 'Enable Identity Management' }).click(); await takeScreenshot(page, __filename, 'identity-enabled'); log(`Adding Role, Group and User ...\n`); diff --git a/scripts/pit/its/cc-install-apps.js b/scripts/pit/its/cc-install-apps.js index 7a1c5b34..6357e9c1 100644 --- a/scripts/pit/its/cc-install-apps.js +++ b/scripts/pit/its/cc-install-apps.js @@ -12,8 +12,6 @@ async function installApp(app, page) { const cert = [ domain, uri ].map(a => `${a}.pem`).filter( a => fs.existsSync(a))[0] console.log(`Installing App: ${app} URI: ${uri} Cert: ${cert}`); - await takeScreenshot(page, __filename, `page-loaded-${app}`); - await page.getByRole('listitem').filter({ hasText: 'Settings'}).click() await page.getByRole('button', {name: 'Deploy'}).click() await takeScreenshot(page, __filename, `form-opened-${app}`); @@ -40,11 +38,8 @@ async function installApp(app, page) { await page.locator('.detail-layout').getByRole('button', {name: 'Deploy'}).click(); } - await takeScreenshot(page, __filename, `form-clicked-${app}`); - await page.getByRole('listitem').filter({ hasText: 'Settings'}).click() - - await takeScreenshot(page, __filename, `application-created-${app}`); + await takeScreenshot(page, __filename, `form-saved-${app}`); await expect(page.locator('vaadin-grid').getByText(app, { exact: true })).toBeVisible(); await expect(await page.getByRole('listitem').filter({ hasText: 'Applications'}) diff --git a/scripts/pit/its/cc-localization.js b/scripts/pit/its/cc-localization.js index 376c1479..c81d2c7f 100644 --- a/scripts/pit/its/cc-localization.js +++ b/scripts/pit/its/cc-localization.js @@ -80,9 +80,11 @@ const { assert } = require('console'); assert(str.includes('app.title=Panaderia')); await fs.rmSync(downloadsDir, { recursive: true }); - log(`Testing that preview page: ${previewUrl} is up and running\n`); + log(`Starting preview server\n`); await page.getByRole('button', { name: 'Start preview' }).click(); await page.waitForTimeout(5000); + + log(`Testing that preview page: ${previewUrl} is up and running\n`); const pagePrev = await createPage(arg.headless, true /* preview pages do not have a valid certificate */); await waitForServerReady(pagePrev, previewUrl); await takeScreenshot(pagePrev, __filename, 'preview-ready'); diff --git a/scripts/pit/its/test-utils.js b/scripts/pit/its/test-utils.js index 7861d048..a4ac0ea1 100644 --- a/scripts/pit/its/test-utils.js +++ b/scripts/pit/its/test-utils.js @@ -22,6 +22,7 @@ function warn(...args) { } function err(...args) { process.stderr.write(`\x1b[0;31m${args}\x1b[0m`.split('\n')[0] + '\n'); + out(args); } const run = async (cmd) => (await promisify(exec)(cmd)).stdout; @@ -70,7 +71,7 @@ async function createPage(headless, ignoreHTTPSErrors) { const page = await context.newPage(); page.on('console', msg => { const text = `${msg.text()} - ${msg.location().url}`.replace(/\s+/g, ' '); - if (!/vaadinPush|favicon.ico/.test(text)) out("> CONSOLE:", text, '\n'); + if (!/vaadinPush|favicon.ico|Autofocus/.test(text)) out("> CONSOLE:", text, '\n'); }); page.on('pageerror', e => warn("> JSERROR:", ('' + e).replace(/\s+/g, ' '), '\n')); page.browser = browser; diff --git a/scripts/pit/lib/lib-ccenter.sh b/scripts/pit/lib/lib-ccenter.sh index c281c324..032708bb 100644 --- a/scripts/pit/lib/lib-ccenter.sh +++ b/scripts/pit/lib/lib-ccenter.sh @@ -175,7 +175,7 @@ setClusterContext() { runControlCenter() { CLUSTER=${CLUSTER:-$CC_CLUSTER} - checkCommands docker kubectl helm || return 1 + checkCommands docker kubectl helm unzip || return 1 checkDockerRunning || return 1 ## Start a new kind cluster if needed