Skip to content

Commit f2eafac

Browse files
authored
Merge pull request #1616 from RedisInsight/e2e/feature/RI-3932_import-ssh-parameters
E2e/feature/ri 3932 import ssh parameters
2 parents 96f6d9e + 26ed257 commit f2eafac

File tree

12 files changed

+427
-71
lines changed

12 files changed

+427
-71
lines changed

tests/e2e/docker.web.docker-compose.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ services:
1313
- .redisinsight-v2:/root/.redisinsight-v2
1414
- .ritmp:/tmp
1515
- ./test-data/certs:/root/certs
16+
- ./test-data/ssh:/root/ssh
1617
env_file:
1718
- ./.env
1819
entrypoint: [
@@ -42,4 +43,5 @@ services:
4243
- .redisinsight-v2:/root/.redisinsight-v2
4344
- .ritmp:/tmp
4445
- ./test-data/certs:/root/certs
46+
- ./test-data/ssh:/root/ssh
4547

tests/e2e/helpers/api/api-database.ts

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -89,18 +89,21 @@ export async function getAllDatabases(): Promise<string[]> {
8989
* Get database through api using database name
9090
* @param databaseName The database name
9191
*/
92-
export async function getDatabaseByName(databaseName?: string): Promise<string> {
92+
export async function getDatabaseIdByName(databaseName?: string): Promise<string> {
9393
if (!databaseName) {
9494
throw new Error('Error: Missing databaseName');
9595
}
96+
let databaseId: any;
9697
const allDataBases = await getAllDatabases();
97-
let response: object = {};
98-
response = await asyncFilter(allDataBases, async(item: databaseParameters) => {
98+
const response = await asyncFilter(allDataBases, async (item: databaseParameters) => {
9999
await doAsyncStuff();
100-
return await item.name === databaseName;
100+
return item.name === databaseName;
101101
});
102102

103-
return await response[0].id;
103+
if (response.length !== 0) {
104+
databaseId = await response[0].id;
105+
};
106+
return databaseId;
104107
}
105108

106109
/**
@@ -145,7 +148,7 @@ export async function deleteAllDatabasesApi(): Promise<void> {
145148
* @param databaseParameters The database parameters
146149
*/
147150
export async function deleteStandaloneDatabaseApi(databaseParameters: AddNewDatabaseParameters): Promise<void> {
148-
const databaseId = await getDatabaseByName(databaseParameters.databaseName);
151+
const databaseId = await getDatabaseIdByName(databaseParameters.databaseName);
149152
await request(endpoint).delete('/databases')
150153
.send({ 'ids': [`${databaseId}`] })
151154
.set('Accept', 'application/json')
@@ -158,11 +161,13 @@ export async function deleteStandaloneDatabaseApi(databaseParameters: AddNewData
158161
*/
159162
export async function deleteStandaloneDatabasesByNamesApi(databaseNames: string[]): Promise<void> {
160163
databaseNames.forEach(async databaseName => {
161-
const databaseId = await getDatabaseByName(databaseName);
162-
await request(endpoint).delete('/databases')
163-
.send({ 'ids': [`${databaseId}`] })
164-
.set('Accept', 'application/json')
165-
.expect(200);
164+
const databaseId = await getDatabaseIdByName(databaseName);
165+
if (databaseId) {
166+
await request(endpoint).delete('/databases')
167+
.send({ 'ids': [`${databaseId}`] })
168+
.set('Accept', 'application/json')
169+
.expect(200);
170+
}
166171
});
167172
}
168173

@@ -171,7 +176,7 @@ export async function deleteStandaloneDatabasesByNamesApi(databaseNames: string[
171176
* @param databaseParameters The database parameters
172177
*/
173178
export async function deleteOSSClusterDatabaseApi(databaseParameters: OSSClusterParameters): Promise<void> {
174-
const databaseId = await getDatabaseByName(databaseParameters.ossClusterDatabaseName);
179+
const databaseId = await getDatabaseIdByName(databaseParameters.ossClusterDatabaseName);
175180
const response = await request(endpoint).delete('/databases')
176181
.send({ 'ids': [`${databaseId}`] }).set('Accept', 'application/json');
177182

@@ -184,7 +189,7 @@ export async function deleteOSSClusterDatabaseApi(databaseParameters: OSSCluster
184189
*/
185190
export async function deleteAllSentinelDatabasesApi(databaseParameters: SentinelParameters): Promise<void> {
186191
for (let i = 0; i < databaseParameters.name!.length; i++) {
187-
const databaseId = await getDatabaseByName(databaseParameters.name![i]);
192+
const databaseId = await getDatabaseIdByName(databaseParameters.name![i]);
188193
const response = await request(endpoint).delete('/databases')
189194
.send({ 'ids': [`${databaseId}`] }).set('Accept', 'application/json');
190195
await t.expect(response.status).eql(200, 'Delete Sentinel database request failed');
@@ -218,7 +223,7 @@ export async function deleteStandaloneDatabasesApi(databasesParameters: AddNewDa
218223
* @param databaseParameters The database parameters
219224
*/
220225
export async function getClusterNodesApi(databaseParameters: OSSClusterParameters): Promise<string[]> {
221-
const databaseId = await getDatabaseByName(databaseParameters.ossClusterDatabaseName);
226+
const databaseId = await getDatabaseIdByName(databaseParameters.ossClusterDatabaseName);
222227
const response = await request(endpoint)
223228
.get(`/databases/${databaseId}/cluster-details`)
224229
.set('Accept', 'application/json')

tests/e2e/helpers/api/api-keys.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
SortedSetKeyParameters,
1010
StreamKeyParameters
1111
} from '../../pageObjects/browser-page';
12-
import { getDatabaseByName } from './api-database';
12+
import { getDatabaseIdByName } from './api-database';
1313

1414
const common = new Common();
1515
const endpoint = common.getEndpoint();
@@ -20,7 +20,7 @@ const endpoint = common.getEndpoint();
2020
* @param databaseParameters The database parameters
2121
*/
2222
export async function addHashKeyApi(keyParameters: HashKeyParameters, databaseParameters: AddNewDatabaseParameters): Promise<void> {
23-
const databaseId = await getDatabaseByName(databaseParameters.databaseName);
23+
const databaseId = await getDatabaseIdByName(databaseParameters.databaseName);
2424
const response = await request(endpoint).post(`/databases/${databaseId}/hash?encoding=buffer`)
2525
.send({
2626
'keyName': keyParameters.keyName,
@@ -37,7 +37,7 @@ export async function addHashKeyApi(keyParameters: HashKeyParameters, databasePa
3737
* @param databaseParameters The database parameters
3838
*/
3939
export async function addStreamKeyApi(keyParameters: StreamKeyParameters, databaseParameters: AddNewDatabaseParameters): Promise<void> {
40-
const databaseId = await getDatabaseByName(databaseParameters.databaseName);
40+
const databaseId = await getDatabaseIdByName(databaseParameters.databaseName);
4141
const response = await request(endpoint).post(`/databases/${databaseId}/streams?encoding=buffer`)
4242
.send({
4343
'keyName': keyParameters.keyName,
@@ -54,7 +54,7 @@ export async function addStreamKeyApi(keyParameters: StreamKeyParameters, databa
5454
* @param databaseParameters The database parameters
5555
*/
5656
export async function addSetKeyApi(keyParameters: SetKeyParameters, databaseParameters: AddNewDatabaseParameters): Promise<void> {
57-
const databaseId = await getDatabaseByName(databaseParameters.databaseName);
57+
const databaseId = await getDatabaseIdByName(databaseParameters.databaseName);
5858
const response = await request(endpoint).post(`/databases/${databaseId}/set?encoding=buffer`)
5959
.send({
6060
'keyName': keyParameters.keyName,
@@ -71,7 +71,7 @@ export async function addSetKeyApi(keyParameters: SetKeyParameters, databasePara
7171
* @param databaseParameters The database parameters
7272
*/
7373
export async function addSortedSetKeyApi(keyParameters: SortedSetKeyParameters, databaseParameters: AddNewDatabaseParameters): Promise<void> {
74-
const databaseId = await getDatabaseByName(databaseParameters.databaseName);
74+
const databaseId = await getDatabaseIdByName(databaseParameters.databaseName);
7575
const response = await request(endpoint).post(`/databases/${databaseId}/zSet?encoding=buffer`)
7676
.send({
7777
'keyName': keyParameters.keyName,
@@ -88,7 +88,7 @@ export async function addSortedSetKeyApi(keyParameters: SortedSetKeyParameters,
8888
* @param databaseParameters The database parameters
8989
*/
9090
export async function addListKeyApi(keyParameters: ListKeyParameters, databaseParameters: AddNewDatabaseParameters): Promise<void> {
91-
const databaseId = await getDatabaseByName(databaseParameters.databaseName);
91+
const databaseId = await getDatabaseIdByName(databaseParameters.databaseName);
9292
const response = await request(endpoint).post(`/databases/${databaseId}/list?encoding=buffer`)
9393
.send({
9494
'keyName': keyParameters.keyName,
@@ -105,7 +105,7 @@ export async function addListKeyApi(keyParameters: ListKeyParameters, databasePa
105105
* @param databaseParameters The database parameters
106106
*/
107107
export async function searchKeyByNameApi(keyName: string, databaseParameters: AddNewDatabaseParameters): Promise<string[]> {
108-
const databaseId = await getDatabaseByName(databaseParameters.databaseName);
108+
const databaseId = await getDatabaseIdByName(databaseParameters.databaseName);
109109
const response = await request(endpoint).get(`/databases/${databaseId}/keys?cursor=0&count=5000&match=${keyName}`)
110110
.set('Accept', 'application/json').expect(200);
111111

@@ -118,7 +118,7 @@ export async function searchKeyByNameApi(keyName: string, databaseParameters: Ad
118118
* @param databaseParameters The database parameters
119119
*/
120120
export async function deleteKeyByNameApi(keyName: string, databaseParameters: AddNewDatabaseParameters): Promise<void> {
121-
const databaseId = await getDatabaseByName(databaseParameters.databaseName);
121+
const databaseId = await getDatabaseIdByName(databaseParameters.databaseName);
122122
const isKeyExist = await searchKeyByNameApi(keyName, databaseParameters);
123123
if (isKeyExist.length > 0) {
124124
const response = await request(endpoint).delete(`/databases/${databaseId}/keys`)
@@ -135,7 +135,7 @@ export async function deleteKeyByNameApi(keyName: string, databaseParameters: Ad
135135
* @param databaseParameters The database parameters
136136
*/
137137
export async function deleteKeysApi(keyNames: string[], databaseParameters: AddNewDatabaseParameters): Promise<void> {
138-
const databaseId = await getDatabaseByName(databaseParameters.databaseName);
138+
const databaseId = await getDatabaseIdByName(databaseParameters.databaseName);
139139
const response = await request(endpoint).delete(`/databases/${databaseId}/keys`)
140140
.send({ 'keyNames': keyNames })
141141
.set('Accept', 'application/json');

tests/e2e/helpers/database.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
UserAgreementPage,
1010
CliPage
1111
} from '../pageObjects';
12-
import { addNewStandaloneDatabaseApi, discoverSentinelDatabaseApi, getDatabaseByName } from './api/api-database';
12+
import { addNewStandaloneDatabaseApi, discoverSentinelDatabaseApi, getDatabaseIdByName } from './api/api-database';
1313
import { Common } from './common';
1414

1515
const myRedisDatabasePage = new MyRedisDatabasePage();
@@ -283,7 +283,7 @@ export async function acceptTermsAddDatabaseOrConnectToRedisStack(databaseParame
283283
* @param databaseName The name of the database
284284
*/
285285
export async function clickOnEditDatabaseByName(databaseName: string): Promise<void> {
286-
const databaseId = await getDatabaseByName(databaseName);
286+
const databaseId = await getDatabaseIdByName(databaseName);
287287
const databaseEditBtn = Selector(`[data-testid=edit-instance-${databaseId}]`);
288288

289289
await t.expect(databaseEditBtn.exists).ok(`"${databaseName}" database not displayed`);
@@ -295,7 +295,7 @@ export async function clickOnEditDatabaseByName(databaseName: string): Promise<v
295295
* @param databaseName The name of the database
296296
*/
297297
export async function deleteDatabaseByNameApi(databaseName: string): Promise<void> {
298-
const databaseId = await getDatabaseByName(databaseName);
298+
const databaseId = await getDatabaseIdByName(databaseName);
299299
const databaseDeleteBtn = Selector(`[data-testid=delete-instance-${databaseId}-icon]`);
300300

301301
await t.expect(databaseDeleteBtn.exists).ok(`"${databaseName}" database not displayed`);

tests/e2e/local.web.docker-compose.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ services:
1111
- ./plugins:/usr/src/app/plugins
1212
- .redisinsight-v2:/root/.redisinsight-v2
1313
- ./test-data/certs:/root/certs
14+
- ./test-data/ssh:/root/ssh
1415
env_file:
1516
- ./.env
1617
environment:
@@ -43,5 +44,6 @@ services:
4344
volumes:
4445
- .redisinsight-v2:/root/.redisinsight-v2
4546
- ./test-data/certs:/root/certs
47+
- ./test-data/ssh:/root/ssh
4648
ports:
4749
- 5000:5000

tests/e2e/pageObjects/my-redis-databases-page.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export class MyRedisDatabasePage {
6767
failedImportMessage = Selector('[data-testid=result-failed]');
6868
successImportMessage = Selector('[data-testid=result-success]');
6969
importDialogTitle = Selector('[data-testid=import-dbs-dialog-title]');
70+
importResult = Selector('[data-testid^=table-result-]');
7071
// DIALOG
7172
importDbDialog = Selector('[data-testid=import-dbs-dialog]');
7273
successResultsAccordion = Selector('[data-testid^=success-results-]');

0 commit comments

Comments
 (0)