diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts index 348c4838154f18..5f9e0a08065c4a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts @@ -31,7 +31,6 @@ import { listMock } from '../../../../../lists/server/mocks'; import { getListClientMock } from '../../../../../lists/server/services/lists/list_client.mock'; import { getExceptionListClientMock } from '../../../../../lists/server/services/exception_lists/exception_list_client.mock'; import { getExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/exception_list_item_schema.mock'; -import { SingleBulkCreateResponse } from './single_bulk_create'; jest.mock('./rule_status_saved_objects_client'); jest.mock('./rule_status_service'); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/single_bulk_create.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/single_bulk_create.test.ts index 41c825ea4d9787..374b967d1e77f0 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/single_bulk_create.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/single_bulk_create.test.ts @@ -252,11 +252,11 @@ describe('singleBulkCreate', () => { expect(createdItemsCount).toEqual(1); }); - test('create successful bulk create when bulk create has multiple error statuses', async () => { + test('create failed bulk create when bulk create has multiple error statuses', async () => { const sampleParams = sampleRuleAlertParams(); const sampleSearchResult = sampleDocSearchResultsNoSortId; mockService.callCluster.mockResolvedValue(sampleBulkCreateErrorResult); - const { success, createdItemsCount } = await singleBulkCreate({ + const { success, createdItemsCount, errors } = await singleBulkCreate({ filteredEvents: sampleSearchResult(), ruleParams: sampleParams, services: mockService, @@ -275,9 +275,9 @@ describe('singleBulkCreate', () => { tags: ['some fake tag 1', 'some fake tag 2'], throttle: 'no_actions', }); - expect(mockLogger.error).toHaveBeenCalled(); - expect(success).toEqual(true); + expect(errors).toEqual(['[4]: internal server error']); + expect(success).toEqual(false); expect(createdItemsCount).toEqual(1); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/types.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/types.ts index 700a8fb5022d72..b101bc57547640 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/types.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/types.ts @@ -58,7 +58,7 @@ export interface SignalSource { } export interface BulkItem { - create: { + create?: { _index: string; _type?: string; _id: string; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts index dc09c6d5386fce..92d80d29775604 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts @@ -300,7 +300,7 @@ export const errorAggregator = ( ignoreStatusCodes: number[] ): BulkResponseErrorAggregation => { return response.items.reduce((accum, item) => { - if (item.create.error != null && !ignoreStatusCodes.includes(item.create.status)) { + if (item.create?.error != null && !ignoreStatusCodes.includes(item.create.status)) { if (accum[item.create.error.reason] == null) { accum[item.create.error.reason] = { count: 1,