Skip to content

Commit cbe39ec

Browse files
committed
Update tests
1 parent 62b1a2c commit cbe39ec

5 files changed

Lines changed: 38 additions & 9 deletions

File tree

x-pack/plugins/ingest_manager/common/mocks.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* you may not use this file except in compliance with the Elastic License.
55
*/
66

7-
import { NewPackageConfig } from './types/models/package_config';
7+
import { NewPackageConfig, PackageConfig } from './types/models/package_config';
88

99
export const createNewPackageConfigMock = () => {
1010
return {
@@ -22,3 +22,22 @@ export const createNewPackageConfigMock = () => {
2222
inputs: [],
2323
} as NewPackageConfig;
2424
};
25+
26+
export const createPackageConfigMock = () => {
27+
const newPackageConfig = createNewPackageConfigMock();
28+
return {
29+
...newPackageConfig,
30+
id: 'c6d16e42-c32d-4dce-8a88-113cfe276ad1',
31+
version: 'abcd',
32+
revision: 1,
33+
updated_at: '2020-06-25T16:03:38.159292',
34+
updated_by: 'kibana',
35+
created_at: '2020-06-25T16:03:38.159292',
36+
created_by: 'kibana',
37+
inputs: [
38+
{
39+
config: {},
40+
},
41+
],
42+
} as PackageConfig;
43+
};

x-pack/plugins/security_solution/server/endpoint/ingest_integration.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ describe('ingest_integration tests ', () => {
2424
expect(newPolicyConfig.inputs[0]!.config!.artifact_manifest.value).toEqual({
2525
artifacts: {
2626
'endpoint-exceptionlist-linux-v1': {
27-
compression_algorithm: 'none',
27+
compression_algorithm: 'zlib',
2828
decoded_sha256: '1a8295e6ccb93022c6f5ceb8997b29f2912389b3b38f52a8f5a2ff7b0154b1bc',
2929
decoded_size: 287,
30-
encoded_sha256: '1a8295e6ccb93022c6f5ceb8997b29f2912389b3b38f52a8f5a2ff7b0154b1bc',
31-
encoded_size: 287,
30+
encoded_sha256: 'c3dec543df1177561ab2aa74a37997ea3c1d748d532a597884f5a5c16670d56c',
31+
encoded_size: 133,
3232
encryption_algorithm: 'none',
3333
relative_url:
3434
'/api/endpoint/artifacts/download/endpoint-exceptionlist-linux-v1/1a8295e6ccb93022c6f5ceb8997b29f2912389b3b38f52a8f5a2ff7b0154b1bc',

x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.mock.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import { savedObjectsClientMock, loggingSystemMock } from 'src/core/server/mocks';
88
import { Logger } from 'src/core/server';
9+
import { createPackageConfigMock } from '../../../../../../ingest_manager/common/mocks';
910
import { PackageConfigServiceInterface } from '../../../../../../ingest_manager/server';
1011
import { createPackageConfigServiceMock } from '../../../../../../ingest_manager/server/mocks';
1112
import { getFoundExceptionListItemSchemaMock } from '../../../../../../lists/common/schemas/response/found_exception_list_item_schema.mock';
@@ -45,8 +46,6 @@ export class ManifestManagerMock extends ManifestManager {
4546
protected getManifestClient = jest
4647
.fn()
4748
.mockReturnValue(getManifestClientMock(this.savedObjectsClient));
48-
49-
public syncArtifacts = jest.fn().mockResolvedValue([]);
5049
}
5150

5251
export const getManifestManagerMock = (opts?: {
@@ -63,6 +62,10 @@ export const getManifestManagerMock = (opts?: {
6362
if (opts?.packageConfigService !== undefined) {
6463
packageConfigService = opts.packageConfigService;
6564
}
65+
packageConfigService.list = jest.fn().mockResolvedValue({
66+
total: 1,
67+
items: [createPackageConfigMock()],
68+
});
6669

6770
let savedObjectsClient = savedObjectsClientMock.create();
6871
if (opts?.savedObjectsClient !== undefined) {

x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@
66

77
import { inflateSync } from 'zlib';
88
import { savedObjectsClientMock } from 'src/core/server/mocks';
9+
import { createPackageConfigServiceMock } from '../../../../../../ingest_manager/server/mocks';
910
import {
1011
ArtifactConstants,
1112
ManifestConstants,
1213
Manifest,
1314
ExceptionsCache,
1415
} from '../../../lib/artifacts';
15-
import { getPackageConfigServiceMock, getManifestManagerMock } from './manifest_manager.mock';
16+
import { getManifestManagerMock } from './manifest_manager.mock';
1617

1718
describe('manifest_manager', () => {
1819
describe('ManifestManager sanity checks', () => {
@@ -73,15 +74,15 @@ describe('manifest_manager', () => {
7374
});
7475

7576
test('ManifestManager can dispatch manifest', async () => {
76-
const packageConfigService = getPackageConfigServiceMock();
77+
const packageConfigService = createPackageConfigServiceMock();
7778
const manifestManager = getManifestManagerMock({ packageConfigService });
7879
const snapshot = await manifestManager.getSnapshot();
7980
const dispatched = await manifestManager.dispatch(snapshot!.manifest);
8081
expect(dispatched).toEqual([]);
8182
const entries = snapshot!.manifest.getEntries();
8283
const artifact = Object.values(entries)[0].getArtifact();
8384
expect(
84-
packageConfigService.update.mock.calls[0][2].inputs[0].config.artifact_manifest.value
85+
packageConfigService.update.mock.calls[0][2].inputs[0].config!.artifact_manifest.value
8586
).toEqual({
8687
manifest_version: ManifestConstants.INITIAL_VERSION,
8788
schema_version: 'v1',

x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ export class ManifestManager {
106106
const errors: Error[] = [];
107107
for (const diff of snapshot.diffs) {
108108
const artifact = snapshot.manifest.getArtifact(diff.id);
109+
if (artifact === undefined) {
110+
throw new Error(
111+
`Corrupted manifest detected. Diff contained artifact ${diff.id} not in manifest.`
112+
);
113+
}
114+
109115
const compressedArtifact = await compressExceptionList(Buffer.from(artifact.body, 'base64'));
110116
artifact.body = compressedArtifact.toString('base64');
111117
artifact.encodedSize = compressedArtifact.byteLength;

0 commit comments

Comments
 (0)