ssh connection test

This commit is contained in:
SPRINX0\prochazka
2025-01-02 14:00:18 +01:00
parent ceb6a88964
commit c1ceea084b
7 changed files with 46 additions and 38 deletions

View File

@@ -23,45 +23,36 @@ describe('Initialization', () => {
cy.contains('performance_schema');
});
// it('SSH connection', () => {
// const runOnCI = Cypress.env('runOnCI');
it('SSH connection', () => {
const runOnCI = Cypress.env('runOnCI');
// cy.get('body')
// .trigger('keydown', {
// key: 'F1',
// code: 'F1',
// which: 112,
// keyCode: 112,
// bubbles: true,
// })
// .trigger('keyup', {
// key: 'F1',
// code: 'F1',
// which: 112,
// keyCode: 112,
// bubbles: true,
// });
// cy.get('body').type('Close all');
// cy.get('body').type('{enter}');
cy.visit('http://localhost:3000');
cy.contains('Connections');
// 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('root');
cy.realPress("F1");
cy.realType("Close all");
cy.realPress("Enter");
// cy.get('[data-testid=ConnectionSshTunnelFields_sshLogin]').clear().type('root');
// cy.get('[data-testid=ConnectionSshTunnelFields_sshPassword]').clear().type('root');
// if (runOnCI) {
// cy.get('[data-testid=ConnectionSshTunnelFields_sshHost]').clear().type('mysql-ssh');
// } else {
// cy.get('[data-testid=ConnectionSshTunnelFields_sshPort]').clear().type('16006');
// }
// cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-ssh-1');
// cy.get('[data-testid=ConnectionTab_buttonSave]').click();
// cy.get('[data-testid=ConnectionTab_buttonConnect]').click();
// cy.contains('performance_schema');
// });
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');
if (runOnCI) {
cy.get('[data-testid=ConnectionSshTunnelFields_sshHost]').clear().type('mysql-ssh');
} else {
cy.get('[data-testid=ConnectionSshTunnelFields_sshPort]').clear().type('16006');
}
cy.get('[data-testid=ConnectionTab_buttonSave]').click();
cy.get('[data-testid=ConnectionTab_buttonConnect]').click();
cy.contains('performance_schema');
});
// it('import chinook DB', () => {
// cy.visit('http://localhost:3000');

View File

@@ -17,4 +17,6 @@
import './commands'
// Alternatively you can use CommonJS syntax:
// require('./commands')
// require('./commands')
import "cypress-real-events";

View File

@@ -7,6 +7,7 @@
"axios": "^1.7.9",
"cross-env": "^7.0.3",
"cypress": "^13.16.1",
"cypress-real-events": "^1.13.0",
"kill-port": "^2.0.1",
"start-server-and-test": "^2.0.8"
},

View File

@@ -350,6 +350,11 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
cypress-real-events@^1.13.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/cypress-real-events/-/cypress-real-events-1.13.0.tgz#6b7cd32dcac172db1493608f97a2576c7d0bd5af"
integrity sha512-LoejtK+dyZ1jaT8wGT5oASTPfsNV8/ClRp99ruN60oPj8cBJYod80iJDyNwfPAu4GCxTXOhhAv9FO65Hpwt6Hg==
cypress@^13.16.1:
version "13.16.1"
resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.16.1.tgz#82e776f6ad2037ccce6b6feabed768615c476258"

View File

@@ -7,6 +7,7 @@
slot?: number;
component?: any;
props?: any;
testid?: string;
}
export let tabs: TabDef[];
@@ -27,7 +28,7 @@
<div class="main" class:flex1>
<div class="tabs">
{#each _.compact(tabs) as tab, index}
<div class="tab-item" class:selected={value == index} on:click={() => (value = index)}>
<div class="tab-item" class:selected={value == index} on:click={() => (value = index)} data-testid={tab.testid}>
<span class="ml-2">
{tab.label}
</span>

View File

@@ -218,18 +218,22 @@
label: 'General',
component: ConnectionDriverFields,
props: { getDatabaseList, currentConnection },
testid: 'ConnectionTab_tabGeneral',
},
driver?.showConnectionTab('sshTunnel', $values) && {
label: 'SSH Tunnel',
component: ConnectionSshTunnelFields,
testid: 'ConnectionTab_tabSshTunnel',
},
driver?.showConnectionTab('ssl', $values) && {
label: 'SSL',
component: ConnectionSslFields,
testid: 'ConnectionTab_tabSsl',
},
{
label: 'Advanced',
component: ConnectionAdvancedDriverFields,
testid: 'ConnectionTab_tabAdvanced',
},
]}
/>

View File

@@ -100,5 +100,9 @@ jobs:
env:
ORACLE_PASSWORD: Pwd2020Db
mysql-ssh:
build: ../../e2e-tests/mysql-ssh
# cockroachdb:
# image: cockroachdb/cockroach