diff --git a/e2e-tests/cypress.config.js b/e2e-tests/cypress.config.js index c335795d6..23c7379e2 100644 --- a/e2e-tests/cypress.config.js +++ b/e2e-tests/cypress.config.js @@ -40,6 +40,9 @@ module.exports = defineConfig({ case 'multi-sql': serverProcess = exec('yarn start:multi-sql'); break; + case 'cloud': + serverProcess = exec('yarn start:cloud'); + break; } await waitOn({ resources: ['http://localhost:3000'] }); diff --git a/e2e-tests/cypress/e2e/browse-data.cy.js b/e2e-tests/cypress/e2e/browse-data.cy.js index e45eda9ff..41c478d29 100644 --- a/e2e-tests/cypress/e2e/browse-data.cy.js +++ b/e2e-tests/cypress/e2e/browse-data.cy.js @@ -513,9 +513,4 @@ describe('Data browser data', () => { cy.testid('chart-canvas').should($c => expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/)); cy.themeshot('query-result-chart'); }); - - it.only('Private cloud', () => { - cy.testid('WidgetIconPanel_cloudAccount').click(); - cy.contains('Sign in with Google').click(); - }); }); diff --git a/e2e-tests/cypress/e2e/cloud.cy.js b/e2e-tests/cypress/e2e/cloud.cy.js new file mode 100644 index 000000000..21e772a07 --- /dev/null +++ b/e2e-tests/cypress/e2e/cloud.cy.js @@ -0,0 +1,34 @@ +Cypress.on('uncaught:exception', (err, runnable) => { + // if the error message matches the one about WorkerGlobalScope importScripts + if (err.message.includes("Failed to execute 'importScripts' on 'WorkerGlobalScope'")) { + // return false to let Cypress know we intentionally want to ignore this error + return false; + } + // otherwise let Cypress throw the error +}); + +beforeEach(() => { + cy.visit('http://localhost:3000'); + cy.viewport(1250, 900); +}); + +describe('Cloud tests', () => { + it('Private cloud', () => { + cy.testid('WidgetIconPanel_cloudAccount').click(); + + cy.origin('https://identity.dbgate.io', () => { + cy.contains('Sign in with GitHub').click(); + }); + + cy.origin('https://github.com', () => { + cy.get('#login_field').type('dbgatetest'); + cy.get('#password').type('Pwd2020Db'); + cy.get('input[type="submit"]').click(); + }); + + cy.contains('Testing Connections').rightclick(); + cy.contains('Administrate access').click(); + cy.contains('User email'); + cy.themeshot('administer-shared-folder'); + }); +}); diff --git a/e2e-tests/env/browse-data/.env b/e2e-tests/env/browse-data/.env index 94ae674db..0dbbcb066 100644 --- a/e2e-tests/env/browse-data/.env +++ b/e2e-tests/env/browse-data/.env @@ -1,6 +1,4 @@ CONNECTIONS=mysql,postgres,mongo,redis -ALLOW_DBGATE_PRIVATE_CLOUD=1 -REDIRECT_TO_DBGATE_CLOUD_LOGIN=1 LABEL_mysql=MySql-connection SERVER_mysql=localhost diff --git a/e2e-tests/env/cloud/.env b/e2e-tests/env/cloud/.env new file mode 100644 index 000000000..5088f5f73 --- /dev/null +++ b/e2e-tests/env/cloud/.env @@ -0,0 +1,2 @@ +ALLOW_DBGATE_PRIVATE_CLOUD=1 +REDIRECT_TO_DBGATE_CLOUD_LOGIN=1 diff --git a/e2e-tests/package.json b/e2e-tests/package.json index a40162814..5f32819d8 100644 --- a/e2e-tests/package.json +++ b/e2e-tests/package.json @@ -28,6 +28,7 @@ "start:browse-data": "node clearTestingData && cd .. && env-cmd -f e2e-tests/env/browse-data/.env node e2e-tests/init/browse-data.js && env-cmd -f e2e-tests/env/browse-data/.env node packer/build/bundle.js --listen-api --run-e2e-tests", "start:team": "node clearTestingData && cd .. && env-cmd -f e2e-tests/env/team/.env node e2e-tests/init/team.js && env-cmd -f e2e-tests/env/team/.env node packer/build/bundle.js --listen-api --run-e2e-tests", "start:multi-sql": "node clearTestingData && cd .. && env-cmd -f e2e-tests/env/multi-sql/.env node e2e-tests/init/multi-sql.js && env-cmd -f e2e-tests/env/multi-sql/.env node packer/build/bundle.js --listen-api --run-e2e-tests", + "start:cloud": "node clearTestingData && cd .. && env-cmd -f e2e-tests/env/cloud/.env node packer/build/bundle.js --listen-api --run-e2e-tests", "test:add-connection": "start-server-and-test start:add-connection http://localhost:3000 cy:run:add-connection", "test:portal": "start-server-and-test start:portal http://localhost:3000 cy:run:portal", @@ -35,8 +36,9 @@ "test:browse-data": "start-server-and-test start:browse-data http://localhost:3000 cy:run:browse-data", "test:team": "start-server-and-test start:team http://localhost:3000 cy:run:team", "test:multi-sql": "start-server-and-test start:multi-sql http://localhost:3000 cy:run:multi-sql", + "test:cloud": "start-server-and-test start:cloud http://localhost:3000 cy:run:cloud", - "test": "yarn test:add-connection && yarn test:portal && yarn test:oauth && yarn test:browse-data && yarn test:team && yarn test:multi-sql", + "test": "yarn test:add-connection && yarn test:portal && yarn test:oauth && yarn test:browse-data && yarn test:team && yarn test:multi-sql && yarn test:cloud", "test:ci": "yarn test" }, "dependencies": {}