diff --git a/e2e-tests/cypress.config.js b/e2e-tests/cypress.config.js index eb1e82c7e..ce6efca4f 100644 --- a/e2e-tests/cypress.config.js +++ b/e2e-tests/cypress.config.js @@ -1,5 +1,8 @@ const { defineConfig } = require('cypress'); +const killPort = require('kill-port'); const { clearDataWithBackup } = require('./e2eTestTools'); +const waitOn = require('wait-on'); +const { exec } = require('child_process'); module.exports = defineConfig({ e2e: { @@ -7,8 +10,19 @@ module.exports = defineConfig({ // implement node event listeners here on('before:spec', async details => { - clearDataWithBackup(); - // await axios.default.post('http://localhost:3000/connections/reload-connection-list', {}); + await clearDataWithBackup(); + + if (config.isInteractive) { + await killPort(3000); + serverProcess = exec('yarn start'); + await waitOn({ resources: ['http://localhost:3000'] }); + serverProcess.stdout.on('data', data => { + console.log(data.toString()); + }); + serverProcess.stderr.on('data', data => { + console.error(data.toString()); + }); + } }); }, }, diff --git a/e2e-tests/cypress/e2e/connect.cy.js b/e2e-tests/cypress/e2e/connect.cy.js index b03266038..f6db25863 100644 --- a/e2e-tests/cypress/e2e/connect.cy.js +++ b/e2e-tests/cypress/e2e/connect.cy.js @@ -5,13 +5,15 @@ describe('Initialization', () => { }); it('adds connection', () => { + const runOnCI = Cypress.env('runOnCI'); + cy.visit('http://localhost:3000'); // cy.get('[data-testid=ConnectionList_buttonNewConnection]').click(); cy.get('[data-testid=ConnectionDriverFields_connectionType]').select('MySQL'); cy.get('[data-testid=ConnectionDriverFields_user]').clear().type('root'); cy.get('[data-testid=ConnectionDriverFields_password]').clear().type('Pwd2020Db'); cy.get('[data-testid=ConnectionDriverFields_port]').clear().type('16004'); - if (process.env.CI) { + if (runOnCI) { cy.get('[data-testid=ConnectionDriverFields_server]').clear().type('mysql'); } cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-1'); diff --git a/e2e-tests/package.json b/e2e-tests/package.json index 8e3b6b655..0f5eff1b0 100644 --- a/e2e-tests/package.json +++ b/e2e-tests/package.json @@ -7,12 +7,13 @@ "axios": "^1.7.9", "cross-env": "^7.0.3", "cypress": "^13.16.1", + "kill-port": "^2.0.1", "start-server-and-test": "^2.0.8" }, "scripts": { "cy:open": "cypress open --config experimentalInteractiveRunEvents=true", "cy:run": "cypress run", - "cy:run:ci": "cross-env CI=true cypress run", + "cy:run:ci": "cypress run --env runOnCI=true", "start": "cd .. && node packer/build/bundle.js --listen-api --run-e2e-tests", "test:ci": "start-server-and-test start http://localhost:3000 cy:run:ci", "test": "start-server-and-test start http://localhost:3000 cy:run" diff --git a/e2e-tests/yarn.lock b/e2e-tests/yarn.lock index 4c8821e33..1a31e6637 100644 --- a/e2e-tests/yarn.lock +++ b/e2e-tests/yarn.lock @@ -653,6 +653,11 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-them-args@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/get-them-args/-/get-them-args-1.3.2.tgz#74a20ba8a4abece5ae199ad03f2bcc68fdfc9ba5" + integrity sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw== + getos@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" @@ -837,6 +842,14 @@ jsprim@^2.0.2: json-schema "0.4.0" verror "1.10.0" +kill-port@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/kill-port/-/kill-port-2.0.1.tgz#e5e18e2706b13d54320938be42cb7d40609b15cf" + integrity sha512-e0SVOV5jFo0mx8r7bS29maVWp17qGqLBZ5ricNSajON6//kmb7qqqNnml4twNE8Dtj97UQD+gNFOaipS/q1zzQ== + dependencies: + get-them-args "1.3.2" + shell-exec "1.0.2" + lazy-ass@1.6.0, lazy-ass@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" @@ -1094,6 +1107,11 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +shell-exec@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/shell-exec/-/shell-exec-1.0.2.tgz#2e9361b0fde1d73f476c4b6671fa17785f696756" + integrity sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg== + side-channel@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" diff --git a/packages/api/src/controllers/auth.js b/packages/api/src/controllers/auth.js index 187cc0130..509d4c9c1 100644 --- a/packages/api/src/controllers/auth.js +++ b/packages/api/src/controllers/auth.js @@ -43,7 +43,6 @@ function authMiddleware(req, res, next) { '/connections/dblogin-app', '/connections/dblogin-auth', '/connections/dblogin-auth-token', - '/connections/reload-connection-list', ]; // console.log('********************* getAuthProvider()', getAuthProvider());