From c432ff5245f1ca52e9732898379e5dcd80bb5ed6 Mon Sep 17 00:00:00 2001 From: Timshel Date: Thu, 17 Apr 2025 15:54:34 +0200 Subject: [PATCH] Playwright upgrade and conf improvement --- playwright/package-lock.json | 88 ++++++++++++++-------------- playwright/package.json | 12 ++-- playwright/playwright.config.ts | 8 ++- playwright/tests/setups/sso-setup.ts | 1 - 4 files changed, 57 insertions(+), 52 deletions(-) diff --git a/playwright/package-lock.json b/playwright/package-lock.json index 3e5d313c..ab05d130 100644 --- a/playwright/package-lock.json +++ b/playwright/package-lock.json @@ -9,14 +9,14 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "mysql2": "^3.12.0", - "otpauth": "^9.3.6", - "pg": "^8.13.1" + "mysql2": "^3.14.0", + "otpauth": "^9.4.0", + "pg": "^8.14.1" }, "devDependencies": { - "@playwright/test": "^1.49.1", - "dotenv": "^16.4.7", - "dotenv-expand": "^11.0.7", + "@playwright/test": "^1.51.1", + "dotenv": "^16.5.0", + "dotenv-expand": "^12.0.2", "maildev": "github:timshel/maildev#3.0.4" } }, @@ -144,9 +144,9 @@ } }, "node_modules/@noble/hashes": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", - "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz", + "integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==", "engines": { "node": "^14.21.3 || >=16" }, @@ -155,12 +155,12 @@ } }, "node_modules/@playwright/test": { - "version": "1.50.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.50.1.tgz", - "integrity": "sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ==", + "version": "1.51.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.51.1.tgz", + "integrity": "sha512-nM+kEaTSAoVlXmMPH10017vn3FSiFqr/bh4fKg9vmAdMfd9SDqRZNvPSiAHADc/itWak+qPvMPZQOPwCBW7k7Q==", "dev": true, "dependencies": { - "playwright": "1.50.1" + "playwright": "1.51.1" }, "bin": { "playwright": "cli.js" @@ -635,9 +635,9 @@ } }, "node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", "dev": true, "engines": { "node": ">=12" @@ -647,9 +647,9 @@ } }, "node_modules/dotenv-expand": { - "version": "11.0.7", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", - "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.2.tgz", + "integrity": "sha512-lXpXz2ZE1cea1gL4sz2Ipj8y4PiVjytYr3Ij0SWoms1PGxIv7m2CRKuRuCRtHdVuvM/hNJPMxt5PbhboNC4dPQ==", "dev": true, "dependencies": { "dotenv": "^16.4.5" @@ -1484,9 +1484,9 @@ "dev": true }, "node_modules/mysql2": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.12.0.tgz", - "integrity": "sha512-C8fWhVysZoH63tJbX8d10IAoYCyXy4fdRFz2Ihrt9jtPILYynFEKUUzpp1U7qxzDc3tMbotvaBH+sl6bFnGZiw==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.14.0.tgz", + "integrity": "sha512-8eMhmG6gt/hRkU1G+8KlGOdQi2w+CgtNoD1ksXZq9gQfkfDsX4LHaBwTe1SY0Imx//t2iZA03DFnyYKPinxSRw==", "dependencies": { "aws-ssl-profiles": "^1.1.1", "denque": "^2.1.0", @@ -1588,11 +1588,11 @@ } }, "node_modules/otpauth": { - "version": "9.3.6", - "resolved": "https://registry.npmjs.org/otpauth/-/otpauth-9.3.6.tgz", - "integrity": "sha512-eIcCvuEvcAAPHxUKC9Q4uCe0Fh/yRc5jv9z+f/kvyIF2LPrhgAOuLB7J9CssGYhND/BL8M9hlHBTFmffpoQlMQ==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/otpauth/-/otpauth-9.4.0.tgz", + "integrity": "sha512-fHIfzIG5RqCkK9cmV8WU+dPQr9/ebR5QOwGZn2JAr1RQF+lmAuLL2YdtdqvmBjNmgJlYk3KZ4a0XokaEhg1Jsw==", "dependencies": { - "@noble/hashes": "1.6.1" + "@noble/hashes": "1.7.1" }, "funding": { "url": "https://github.com/hectorm/otpauth?sponsor=1" @@ -1648,13 +1648,13 @@ } }, "node_modules/pg": { - "version": "8.13.2", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.13.2.tgz", - "integrity": "sha512-L5QkPvTjVWWHbLaFjCkOSplpb2uCiRYbg0IJ2okCy5ClYfWlSgDDnvdR6dyw3EWAH2AfS4j8E61QFI7gLfTtlw==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.14.1.tgz", + "integrity": "sha512-0TdbqfjwIun9Fm/r89oB7RFQ0bLgduAhiIqIXOsyKoiC/L54DbuAAzIEN/9Op0f1Po9X7iCPXGoa/Ah+2aI8Xw==", "dependencies": { "pg-connection-string": "^2.7.0", - "pg-pool": "^3.7.1", - "pg-protocol": "^1.7.1", + "pg-pool": "^3.8.0", + "pg-protocol": "^1.8.0", "pg-types": "^2.1.0", "pgpass": "1.x" }, @@ -1693,17 +1693,17 @@ } }, "node_modules/pg-pool": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.7.1.tgz", - "integrity": "sha512-xIOsFoh7Vdhojas6q3596mXFsR8nwBQBXX5JiV7p9buEVAGqYL4yFzclON5P9vFrpu1u7Zwl2oriyDa89n0wbw==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.8.0.tgz", + "integrity": "sha512-VBw3jiVm6ZOdLBTIcXLNdSotb6Iy3uOCwDGFAksZCXmi10nyRvnP2v3jl4d+IsLYRyXf6o9hIm/ZtUzlByNUdw==", "peerDependencies": { "pg": ">=8.0" } }, "node_modules/pg-protocol": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.7.1.tgz", - "integrity": "sha512-gjTHWGYWsEgy9MsY0Gp6ZJxV24IjDqdpTW7Eh0x+WfJLFsm/TJx1MzL6T0D88mBvkpxotCQ6TwW6N+Kko7lhgQ==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.8.0.tgz", + "integrity": "sha512-jvuYlEkL03NRvOoyoRktBK7+qU5kOvlAwvmrH8sr3wbLrOdVWsRxQfz8mMy9sZFsqJ1hEWNfdWKI4SAmoL+j7g==" }, "node_modules/pg-types": { "version": "2.2.0", @@ -1729,12 +1729,12 @@ } }, "node_modules/playwright": { - "version": "1.50.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.50.1.tgz", - "integrity": "sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw==", + "version": "1.51.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.51.1.tgz", + "integrity": "sha512-kkx+MB2KQRkyxjYPc3a0wLZZoDczmppyGJIvQ43l+aZihkaVvmu/21kiyaHeHjiFxjxNNFnUncKmcGIyOojsaw==", "dev": true, "dependencies": { - "playwright-core": "1.50.1" + "playwright-core": "1.51.1" }, "bin": { "playwright": "cli.js" @@ -1747,9 +1747,9 @@ } }, "node_modules/playwright-core": { - "version": "1.50.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.50.1.tgz", - "integrity": "sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ==", + "version": "1.51.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.51.1.tgz", + "integrity": "sha512-/crRMj8+j/Nq5s8QcvegseuyeZPxpQCZb6HNk3Sos3BlZyAknRjoyJPFWkpNn8v0+P3WiwqFF8P+zQo4eqiNuw==", "dev": true, "bin": { "playwright-core": "cli.js" diff --git a/playwright/package.json b/playwright/package.json index e3e7c7e8..e014accc 100644 --- a/playwright/package.json +++ b/playwright/package.json @@ -8,14 +8,14 @@ "author": "", "license": "ISC", "devDependencies": { - "@playwright/test": "^1.49.1", - "dotenv": "^16.4.7", - "dotenv-expand": "^11.0.7", + "@playwright/test": "^1.51.1", + "dotenv": "^16.5.0", + "dotenv-expand": "^12.0.2", "maildev": "github:timshel/maildev#3.0.4" }, "dependencies": { - "mysql2": "^3.12.0", - "otpauth": "^9.3.6", - "pg": "^8.13.1" + "mysql2": "^3.14.0", + "otpauth": "^9.4.0", + "pg": "^8.14.1" } } diff --git a/playwright/playwright.config.ts b/playwright/playwright.config.ts index 2d9a8223..ff7f5001 100644 --- a/playwright/playwright.config.ts +++ b/playwright/playwright.config.ts @@ -22,7 +22,13 @@ export default defineConfig({ /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: 'html', - timeout: 20 * 1000, + + /* Long global timeout for complex tests + * But short action/nav/expect timeouts to fail on specific step (raise locally if not enough). + */ + timeout: 120 * 1000, + actionTimeout: 10 * 1000, + navigationTimeout: 10 * 1000, expect: { timeout: 10 * 1000 }, /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ diff --git a/playwright/tests/setups/sso-setup.ts b/playwright/tests/setups/sso-setup.ts index 0d25140e..2ac92c0b 100644 --- a/playwright/tests/setups/sso-setup.ts +++ b/playwright/tests/setups/sso-setup.ts @@ -11,7 +11,6 @@ test.beforeAll('Setup', async () => { }); test('Keycloak is up', async ({ page }) => { - test.setTimeout(60000); await utils.waitFor(process.env.SSO_AUTHORITY, page.context().browser()); // Dummy authority is created at the end of the setup await utils.waitFor(process.env.DUMMY_AUTHORITY, page.context().browser());