Skip to content

Commit

Permalink
Bubbles up errors from the create signals index to the front end rath…
Browse files Browse the repository at this point in the history
…er than ask users to look in log files
  • Loading branch information
FrankHassanabad committed Sep 16, 2020
1 parent 59cb2ac commit efea5be
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ export interface SignalSource {
}

export interface BulkItem {
create: {
create?: {
_index: string;
_type?: string;
_id: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ export const errorAggregator = (
ignoreStatusCodes: number[]
): BulkResponseErrorAggregation => {
return response.items.reduce<BulkResponseErrorAggregation>((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,
Expand Down

0 comments on commit efea5be

Please sign in to comment.