mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 12:35:59 +00:00
123 lines
5.2 KiB
JavaScript
123 lines
5.2 KiB
JavaScript
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');
|
|
});
|
|
});
|