diff --git a/x-pack/legacy/plugins/siem/server/lib/detection_engine/routes/utils.test.ts b/x-pack/legacy/plugins/siem/server/lib/detection_engine/routes/utils.test.ts index 3e3ccfe5babef..2699f687c5106 100644 --- a/x-pack/legacy/plugins/siem/server/lib/detection_engine/routes/utils.test.ts +++ b/x-pack/legacy/plugins/siem/server/lib/detection_engine/routes/utils.test.ts @@ -11,6 +11,7 @@ import { transformBulkError, BulkError, createSuccessObject, + getIndex, ImportSuccessError, createImportErrorObject, transformImportError, @@ -292,4 +293,36 @@ describe('utils', () => { expect(transformed).toEqual(expected); }); }); + + describe('getIndex', () => { + it('appends the space ID to the configured index if spaces are enabled', () => { + const mockGet = jest.fn(); + const mockGetSpaceId = jest.fn(); + const config = jest.fn(() => ({ get: mockGet, has: jest.fn() })); + const server = { plugins: { spaces: { getSpaceId: mockGetSpaceId } }, config }; + + mockGet.mockReturnValue('mockSignalsIndex'); + mockGetSpaceId.mockReturnValue('myspace'); + // @ts-ignore-next-line TODO these dependencies are simplified on + // https://github.com/elastic/kibana/pull/56814. We're currently mocking + // out what we need. + const index = getIndex(null, server); + + expect(index).toEqual('mockSignalsIndex-myspace'); + }); + + it('appends the default space ID to the configured index if spaces are disabled', () => { + const mockGet = jest.fn(); + const config = jest.fn(() => ({ get: mockGet, has: jest.fn() })); + const server = { plugins: {}, config }; + + mockGet.mockReturnValue('mockSignalsIndex'); + // @ts-ignore-next-line TODO these dependencies are simplified on + // https://github.com/elastic/kibana/pull/56814. We're currently mocking + // out what we need. + const index = getIndex(null, server); + + expect(index).toEqual('mockSignalsIndex-default'); + }); + }); }); diff --git a/x-pack/legacy/plugins/siem/server/lib/detection_engine/routes/utils.ts b/x-pack/legacy/plugins/siem/server/lib/detection_engine/routes/utils.ts index af78f60f16ae4..20871e5309c30 100644 --- a/x-pack/legacy/plugins/siem/server/lib/detection_engine/routes/utils.ts +++ b/x-pack/legacy/plugins/siem/server/lib/detection_engine/routes/utils.ts @@ -178,7 +178,7 @@ export const getIndex = ( request: RequestFacade | Omit, server: ServerFacade ): string => { - const spaceId = server.plugins.spaces.getSpaceId(request); + const spaceId = server.plugins.spaces?.getSpaceId?.(request) ?? 'default'; const signalsIndex = server.config().get(`xpack.${APP_ID}.${SIGNALS_INDEX_KEY}`); return `${signalsIndex}-${spaceId}`; };