Skip to content

Commit ad7cde6

Browse files
committed
tests for import sertificates
1 parent 33a5553 commit ad7cde6

File tree

18 files changed

+255
-96
lines changed

18 files changed

+255
-96
lines changed

tests/e2e/common-actions/databases-actions.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { t } from 'testcafe';
2+
import * as fs from 'fs';
23
import { MyRedisDatabasePage } from '../pageObjects';
34

45
const myRedisDatabasePage = new MyRedisDatabasePage();
@@ -26,6 +27,14 @@ export class DatabasesActions {
2627
.click(myRedisDatabasePage.submitImportBtn)
2728
.expect(myRedisDatabasePage.importDialogTitle.textContent).eql('Import Results', `Databases from ${fileParameters.type} not imported`);
2829
}
30+
31+
/**
32+
* Parse json for importing databases
33+
* @param path The path to json file
34+
*/
35+
parseDbJsonByPath(path: string): any[] {
36+
return JSON.parse(fs.readFileSync(path, 'utf-8'));
37+
}
2938
}
3039

3140
/**
@@ -45,5 +54,6 @@ export type ImportDatabaseParameters = {
4554
userName?: string,
4655
password?: string,
4756
connectionType?: string,
48-
fileName?: string
57+
fileName?: string,
58+
parsedJson?: any
4959
};

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export async function addNewOSSClusterDatabaseApi(databaseParameters: OSSCluster
6262
export async function discoverSentinelDatabaseApi(databaseParameters: SentinelParameters, primaryGroupsNumber?: number): Promise<void> {
6363
let masters = databaseParameters.masters;
6464
if (primaryGroupsNumber) {
65-
masters = databaseParameters.masters.slice(0, primaryGroupsNumber);
65+
masters = databaseParameters.masters!.slice(0, primaryGroupsNumber);
6666
}
6767
const response = await request(endpoint).post('/redis-sentinel/databases')
6868
.send({
@@ -126,7 +126,7 @@ export async function getDatabaseByConnectionType(connectionType?: string): Prom
126126
export async function deleteAllDatabasesApi(): Promise<void> {
127127
const allDatabases = await getAllDatabases();
128128
if (allDatabases.length > 0) {
129-
const databaseIds = [];
129+
const databaseIds: string[] = [];
130130
for (let i = 0; i < allDatabases.length; i++) {
131131
const dbData = JSON.parse(JSON.stringify(allDatabases[i]));
132132
databaseIds.push(dbData.id);
@@ -183,8 +183,8 @@ export async function deleteOSSClusterDatabaseApi(databaseParameters: OSSCluster
183183
* @param databaseParameters The database parameters
184184
*/
185185
export async function deleteAllSentinelDatabasesApi(databaseParameters: SentinelParameters): Promise<void> {
186-
for (let i = 0; i < databaseParameters.name.length; i++) {
187-
const databaseId = await getDatabaseByName(databaseParameters.name[i]);
186+
for (let i = 0; i < databaseParameters.name!.length; i++) {
187+
const databaseId = await getDatabaseByName(databaseParameters.name![i]);
188188
const response = await request(endpoint).delete('/databases')
189189
.send({ 'ids': [`${databaseId}`] }).set('Accept', 'application/json');
190190
await t.expect(response.status).eql(200, 'Delete Sentinel database request failed');

tests/e2e/helpers/database.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ export async function acceptLicenseTermsAndAddSentinelDatabaseApi(databaseParame
158158
// Reload Page to see the database added through api
159159
await common.reloadPage();
160160
// Connect to DB
161-
await myRedisDatabasePage.clickOnDBByName(databaseParameters.name[1] ?? '');
161+
await myRedisDatabasePage.clickOnDBByName(databaseParameters.name![1] ?? '');
162162
}
163163

164164
/**
@@ -273,7 +273,7 @@ export async function clickOnEditDatabaseByName(databaseName: string): Promise<v
273273
* Delete database button by name
274274
* @param databaseName The name of the database
275275
*/
276-
export async function deleteDatabaseByNameApi(databaseName: string): Promise<void> {
276+
export async function deleteDatabaseByNameApi(databaseName: string): Promise<void> {
277277
const databaseId = await getDatabaseByName(databaseName);
278278
const databaseDeleteBtn = Selector(`[data-testid=delete-instance-${databaseId}-icon]`);
279279

tests/e2e/pageObjects/add-redis-database-page.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export class AddRedisDatabasePage {
4444
primaryGroupNameInput = Selector('[data-testid=primary-group]');
4545
masterGroupPassword = Selector('[data-testid=sentinel-master-password]');
4646
connectionType = Selector('[data-testid=connection-type]');
47+
sentinelForm = Selector('[data-testid=form]');
4748
//Links
4849
buildFromSource = Selector('a').withExactText('Build from source');
4950
buildFromDocker = Selector('a').withExactText('Docker');

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,24 +188,24 @@ export class MyRedisDatabasePage {
188188
* Verify database status is visible
189189
*/
190190
async verifyDatabaseStatusIsVisible(): Promise<void> {
191-
await t.expect(Selector("div").withAttribute("data-testid", /database-status-new-*/).visible)
192-
.ok("Database status is not visible");
191+
await t.expect(Selector('div').withAttribute('data-testid', /database-status-new-*/).visible)
192+
.ok('Database status is not visible');
193193
}
194194

195195
/**
196196
* Verify database status is not visible
197197
*/
198198
async verifyDatabaseStatusIsNotVisible(): Promise<void> {
199-
await t.expect(Selector("div").withAttribute("data-testid", /database-status-new-*/).visible)
200-
.notOk("Database status is still visible");
199+
await t.expect(Selector('div').withAttribute('data-testid', /database-status-new-*/).visible)
200+
.notOk('Database status is still visible');
201201
}
202202

203203
/**
204204
* Filter array with database objects by result field and return names
205205
* @param listOfDb Actual databases list
206206
* @param result The expected import result
207207
*/
208-
filterDatabaseListByResult(listOfDb: DatabasesForImport, result: string) {
208+
getDatabaseNamesFromListByResult(listOfDb: DatabasesForImport, result: string): string[] {
209209
return listOfDb.filter(element => element.result === result).map(item => item.name!);
210210
}
211211
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-----BEGIN CERTIFICATE-----
2+
mockedCACertificatePath
3+
-----END CERTIFICATE-----
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-----BEGIN CERTIFICATE-----
2+
mockedCACertificatePath
3+
-----END CERTIFICATE-----
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-----BEGIN CERTIFICATE-----
2+
mockedClientCrtPath
3+
-----END CERTIFICATE-----
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-----BEGIN PRIVATE KEY-----
2+
mockedPrivateKeyPath
3+
-----END PRIVATE KEY-----
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-----BEGIN CERTIFICATE-----
2+
mockedClientCrtPath
3+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)