const path = require('path'); beforeEach(() => { cy.visit('http://localhost:3000'); cy.viewport(1200, 900); }); describe('Add connection', () => { it('successfully loads', () => { cy.contains('Database not selected'); }); it('adds connection', () => { // cy.get('[data-testid=ConnectionList_buttonNewConnection]').click(); cy.get('[data-testid=ConnectionDriverFields_connectionType]').select('MySQL'); cy.themeshot('new-connection'); 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'); cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-1'); // test connection cy.testid('ConnectionTab_buttonTest').click(); cy.contains('Connected:'); cy.testid('ConnectionTab_tabSshTunnel').click(); cy.testid('ConnectionTab_tabControlContent').themeshot('connection-sshtunnel-window', { padding: 50 }); cy.testid('ConnectionTab_tabSsl').click(); cy.testid('ConnectionTab_tabControlContent').themeshot('connection-ssl-window', { padding: 50 }); // save and connect cy.get('[data-testid=ConnectionTab_buttonSave]').click(); cy.get('[data-testid=ConnectionTab_buttonConnect]').click(); cy.contains('performance_schema'); }); it('SSH connection - user + password', () => { cy.contains('Connections'); // cy.realPress('F1'); // cy.realType('Close all'); // cy.realPress('Enter'); 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('root'); cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-ssh-1'); cy.get('[data-testid=ConnectionTab_tabSshTunnel]').click(); cy.get('[data-testid=ConnectionSshTunnelFields_useSshTunnel]').check(); cy.get('[data-testid=ConnectionSshTunnelFields_sshLogin]').clear().type('root'); cy.get('[data-testid=ConnectionSshTunnelFields_sshPassword]').clear().type('root'); cy.get('[data-testid=ConnectionSshTunnelFields_sshPort]').clear().type('16012'); cy.get('[data-testid=ConnectionTab_buttonSave]').click(); cy.get('[data-testid=ConnectionTab_buttonConnect]').click(); cy.contains('performance_schema'); }); it('SSH connection - keyfile', () => { cy.contains('Connections'); // cy.realPress('F1'); // cy.realType('Close all'); // cy.realPress('Enter'); 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('root'); cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-ssh-2'); cy.get('[data-testid=ConnectionTab_tabSshTunnel]').click(); cy.get('[data-testid=ConnectionSshTunnelFields_useSshTunnel]').check(); cy.get('[data-testid=ConnectionSshTunnelFields_sshMode]').select('Key file'); cy.get('[data-testid=ConnectionSshTunnelFields_sshLogin]').clear(); cy.get('[data-testid=ConnectionSshTunnelFields_sshLogin]').type('root'); cy.get('[data-testid=ConnectionSshTunnelFields_sshKeyfile]') .clear() .type(path.join(Cypress.config('fileServerFolder'), 'cypress', 'e2e', 'mykey')); cy.get('[data-testid=ConnectionSshTunnelFields_sshPort]').clear().type('16008'); cy.get('[data-testid=ConnectionTab_buttonSave]').click(); cy.get('[data-testid=ConnectionTab_buttonConnect]').click(); cy.contains('performance_schema'); }); it('ask password - mysql', () => { 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'); cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-2'); cy.testid('ConnectionDriverFields_passwordMode').select('askPassword'); // test connection cy.get('[data-testid=ConnectionTab_buttonTest]').click(); cy.testid('DatabaseLoginModal_password').clear().type('Pwd2020Db'); cy.testid('DatabaseLoginModal_connect').click(); cy.contains('Connected:'); cy.get('[data-testid=ConnectionTab_buttonSave]').click(); cy.get('[data-testid=ConnectionTab_buttonConnect]').click(); // again type DB password - not saved cy.testid('DatabaseLoginModal_password').clear().type('Pwd2020Db'); cy.testid('DatabaseLoginModal_connect').click(); cy.contains('performance_schema'); }); it('export connections', () => { cy.testid('WidgetIconPanel_menu').click(); cy.contains('Tools').click(); cy.contains('Export connections').click(); cy.themeshot('export-connections'); }); });