Skip to content

Commit 9d79406

Browse files
author
arthosofteq
authored
Merge pull request #1513 from RedisInsight/be/feature/3637-database-import-tests
all tests
2 parents d0d6f47 + 565c501 commit 9d79406

15 files changed

+1755
-68
lines changed

redisinsight/api/src/__mocks__/common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export const mockQueryBuilderExecute = jest.fn();
3232
export const mockCreateQueryBuilder = jest.fn(() => ({
3333
// where: jest.fn().mockReturnThis(),
3434
where: mockQueryBuilderWhere,
35+
orWhere: mockQueryBuilderWhere,
3536
update: jest.fn().mockReturnThis(),
3637
select: jest.fn().mockReturnThis(),
3738
set: jest.fn().mockReturnThis(),

redisinsight/api/src/__mocks__/database-import.ts

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
import { DatabaseImportResponse, DatabaseImportStatus } from 'src/modules/database-import/dto/database-import.response';
22
import { BadRequestException, ForbiddenException } from '@nestjs/common';
3-
import { mockDatabase } from 'src/__mocks__/databases';
3+
import { mockDatabase, mockSentinelDatabaseWithTlsAuth } from 'src/__mocks__/databases';
44
import { ValidationException } from 'src/common/exceptions';
5+
import { mockCaCertificate, mockClientCertificate } from 'src/__mocks__/certificates';
6+
import {
7+
InvalidCaCertificateBodyException, InvalidCertificateNameException,
8+
} from 'src/modules/database-import/exceptions';
59

6-
export const mockDatabasesToImportArray = new Array(10).fill(mockDatabase);
10+
export const mockDatabasesToImportArray = new Array(10).fill(mockSentinelDatabaseWithTlsAuth);
711

812
export const mockDatabaseImportFile = {
913
originalname: 'filename.json',
@@ -27,13 +31,28 @@ export const mockDatabaseImportResultFail = {
2731
errors: [new BadRequestException()],
2832
};
2933

34+
export const mockDatabaseImportResultPartial = {
35+
index: 0,
36+
status: DatabaseImportStatus.Partial,
37+
host: mockDatabase.host,
38+
port: mockDatabase.port,
39+
errors: [new InvalidCaCertificateBodyException()],
40+
};
41+
3042
export const mockDatabaseImportResponse = Object.assign(new DatabaseImportResponse(), {
3143
total: 10,
32-
success: (new Array(7).fill(mockDatabaseImportResultSuccess)).map((v, index) => ({
44+
success: (new Array(5).fill(mockDatabaseImportResultSuccess)).map((v, index) => ({
3345
...v,
46+
index: index + 5,
47+
})),
48+
partial: [
49+
[new InvalidCaCertificateBodyException(), new InvalidCertificateNameException()],
50+
[new InvalidCertificateNameException()],
51+
].map((errors, index) => ({
52+
...mockDatabaseImportResultPartial,
3453
index: index + 3,
54+
errors,
3555
})),
36-
partial: [],
3756
fail: [
3857
new ValidationException('Bad request'),
3958
new BadRequestException(),
@@ -45,8 +64,9 @@ export const mockDatabaseImportResponse = Object.assign(new DatabaseImportRespon
4564
})),
4665
});
4766

48-
export const mockDatabaseImportParseFailedAnalyticsPayload = {
49-
67+
export const mockDatabaseImportPartialAnalyticsPayload = {
68+
partially: mockDatabaseImportResponse.partial.length,
69+
errors: ['InvalidCaCertificateBodyException', 'InvalidCertificateNameException'],
5070
};
5171

5272
export const mockDatabaseImportFailedAnalyticsPayload = {
@@ -63,6 +83,7 @@ export const mockDatabaseImportAnalytics = jest.fn(() => ({
6383
sendImportFailed: jest.fn(),
6484
}));
6585

66-
export const mockCertificateImportService = jest.fn(() => {
67-
68-
});
86+
export const mockCertificateImportService = jest.fn(() => ({
87+
processCaCertificate: jest.fn().mockResolvedValue(mockCaCertificate),
88+
processClientCertificate: jest.fn().mockResolvedValue(mockClientCertificate),
89+
}));

redisinsight/api/src/modules/certificate/repositories/local.client-certificate.repository.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import {
1515
mockRepository,
1616
MockType,
1717
} from 'src/__mocks__';
18-
import { LocalCaCertificateRepository } from 'src/modules/certificate/repositories/local.ca-certificate.repository';
1918
import { EncryptionService } from 'src/modules/encryption/encryption.service';
2019
import { BadRequestException, NotFoundException } from '@nestjs/common';
2120
import ERROR_MESSAGES from 'src/constants/error-messages';

0 commit comments

Comments
 (0)