Skip to content

Commit 17cddda

Browse files
committed
Fix types in schema tests
1 parent 9ca181f commit 17cddda

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.mocks.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import type {
1010
EqlResponseSchema,
1111
MachineLearningResponseSchema,
1212
QueryResponseSchema,
13+
SavedQueryResponseSchema,
1314
ThreatMatchResponseSchema,
1415
} from '../request';
1516
import { getListArrayMock } from '../types/lists.mock';
@@ -73,6 +74,18 @@ export const getRulesSchemaMock = (anchorDate: string = ANCHOR_DATE): QueryRespo
7374
filters: undefined,
7475
saved_id: undefined,
7576
});
77+
export const getSavedQuerySchemaMock = (
78+
anchorDate: string = ANCHOR_DATE
79+
): SavedQueryResponseSchema => ({
80+
...getResponseBaseParams(anchorDate),
81+
query: 'user.name: root or user.name: admin',
82+
type: 'saved_query',
83+
saved_id: 'save id 123',
84+
language: 'kuery',
85+
index: undefined,
86+
data_view_id: undefined,
87+
filters: undefined,
88+
});
7689

7790
export const getRulesMlSchemaMock = (
7891
anchorDate: string = ANCHOR_DATE

x-pack/plugins/security_solution/common/detection_engine/schemas/response/rules_schema.test.ts

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { exactCheck, foldLeftRight, getPaths } from '@kbn/securitysolution-io-ts
1212
import {
1313
getRulesSchemaMock,
1414
getRulesMlSchemaMock,
15+
getSavedQuerySchemaMock,
1516
getThreatMatchingSchemaMock,
1617
getRulesEqlSchemaMock,
1718
} from './rules_schema.mocks';
@@ -69,25 +70,20 @@ describe('rules_schema', () => {
6970
});
7071

7172
test('it should validate a type of "saved_query" with a "saved_id" dependent', () => {
72-
const payload: FullResponseSchema & { saved_id?: string } = getRulesSchemaMock();
73-
payload.type = 'saved_query';
74-
payload.saved_id = 'save id 123';
73+
const payload = getSavedQuerySchemaMock();
7574

7675
const decoded = fullResponseSchema.decode(payload);
7776
const checked = exactCheck(payload, decoded);
7877
const message = pipe(checked, foldLeftRight);
79-
const expected: FullResponseSchema & { saved_id?: string } = getRulesSchemaMock();
80-
81-
expected.type = 'saved_query';
82-
expected.saved_id = 'save id 123';
78+
const expected = getSavedQuerySchemaMock();
8379

8480
expect(getPaths(left(message.errors))).toEqual([]);
8581
expect(message.schema).toEqual(expected);
8682
});
8783

8884
test('it should NOT validate a type of "saved_query" without a "saved_id" dependent', () => {
89-
const payload: FullResponseSchema & { saved_id?: string } = getRulesSchemaMock();
90-
payload.type = 'saved_query';
85+
const payload: FullResponseSchema & { saved_id?: string } = getSavedQuerySchemaMock();
86+
// @ts-expect-error
9187
delete payload.saved_id;
9288

9389
const decoded = fullResponseSchema.decode(payload);
@@ -102,9 +98,7 @@ describe('rules_schema', () => {
10298

10399
test('it should NOT validate a type of "saved_query" when it has extra data', () => {
104100
const payload: FullResponseSchema & { saved_id?: string; invalid_extra_data?: string } =
105-
getRulesSchemaMock();
106-
payload.type = 'saved_query';
107-
payload.saved_id = 'save id 123';
101+
getSavedQuerySchemaMock();
108102
payload.invalid_extra_data = 'invalid_extra_data';
109103

110104
const decoded = fullResponseSchema.decode(payload);
@@ -189,19 +183,15 @@ describe('rules_schema', () => {
189183

190184
test('it should validate a type of "saved_query" with "data_view_id" defined', () => {
191185
const payload: FullResponseSchema & { saved_id?: string; data_view_id?: string } =
192-
getRulesSchemaMock();
193-
payload.type = 'saved_query';
194-
payload.saved_id = 'save id 123';
186+
getSavedQuerySchemaMock();
195187
payload.data_view_id = 'logs-*';
196188

197189
const decoded = fullResponseSchema.decode(payload);
198190
const checked = exactCheck(payload, decoded);
199191
const message = pipe(checked, foldLeftRight);
200192
const expected: FullResponseSchema & { saved_id?: string; data_view_id?: string } =
201-
getRulesSchemaMock();
193+
getSavedQuerySchemaMock();
202194

203-
expected.type = 'saved_query';
204-
expected.saved_id = 'save id 123';
205195
expected.data_view_id = 'logs-*';
206196

207197
expect(getPaths(left(message.errors))).toEqual([]);

0 commit comments

Comments
 (0)