55
66import { updateWorkspaceState } from '../../../../core/server/utils' ;
77import { SavedObject } from '../../../../core/public' ;
8- import { httpServerMock , savedObjectsClientMock , coreMock } from '../../../../core/server/mocks' ;
8+ import {
9+ httpServerMock ,
10+ savedObjectsClientMock ,
11+ coreMock ,
12+ loggingSystemMock ,
13+ } from '../../../../core/server/mocks' ;
914import { WorkspaceIdConsumerWrapper } from './workspace_id_consumer_wrapper' ;
1015import { workspaceClientMock } from '../workspace_client.mock' ;
1116import { SavedObjectsErrorHelpers } from '../../../../core/server' ;
1217
1318describe ( 'WorkspaceIdConsumerWrapper' , ( ) => {
1419 const requestHandlerContext = coreMock . createRequestHandlerContext ( ) ;
20+ const loggingService = loggingSystemMock . create ( ) ;
21+ const logger = loggingService . get ( ) ;
1522 const mockedWorkspaceClient = workspaceClientMock . create ( ) ;
16- const wrapperInstance = new WorkspaceIdConsumerWrapper ( mockedWorkspaceClient ) ;
23+ const wrapperInstance = new WorkspaceIdConsumerWrapper ( mockedWorkspaceClient , logger ) ;
1724 const mockedClient = savedObjectsClientMock . create ( ) ;
1825 const workspaceEnabledMockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
1926 updateWorkspaceState ( workspaceEnabledMockRequest , {
@@ -77,7 +84,10 @@ describe('WorkspaceIdConsumerWrapper', () => {
7784 } ) ;
7885
7986 it ( `Should throw error when passing in invalid workspaces` , async ( ) => {
80- const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper ( mockedWorkspaceClient ) ;
87+ const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper (
88+ mockedWorkspaceClient ,
89+ logger
90+ ) ;
8191 const mockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
8292 updateWorkspaceState ( mockRequest , { } ) ;
8393 const mockedWrapperClient = workspaceIdConsumerWrapper . wrapperFactory ( {
@@ -209,7 +219,10 @@ describe('WorkspaceIdConsumerWrapper', () => {
209219 } ) ;
210220
211221 it ( `Should pass a empty workspace array` , async ( ) => {
212- const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper ( mockedWorkspaceClient ) ;
222+ const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper (
223+ mockedWorkspaceClient ,
224+ logger
225+ ) ;
213226 const mockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
214227 updateWorkspaceState ( mockRequest , { } ) ;
215228 const mockedWrapperClient = workspaceIdConsumerWrapper . wrapperFactory ( {
@@ -226,7 +239,10 @@ describe('WorkspaceIdConsumerWrapper', () => {
226239 } ) ;
227240
228241 it ( `Should throw error when passing in invalid workspaces` , async ( ) => {
229- const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper ( mockedWorkspaceClient ) ;
242+ const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper (
243+ mockedWorkspaceClient ,
244+ logger
245+ ) ;
230246 const mockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
231247 updateWorkspaceState ( mockRequest , { } ) ;
232248 const mockedWrapperClient = workspaceIdConsumerWrapper . wrapperFactory ( {
@@ -243,6 +259,32 @@ describe('WorkspaceIdConsumerWrapper', () => {
243259 expect ( mockedWorkspaceClient . get ) . toBeCalledTimes ( 0 ) ;
244260 expect ( mockedWorkspaceClient . list ) . toBeCalledTimes ( 1 ) ;
245261 } ) ;
262+
263+ it ( `Should not throw error when passing in '*'` , async ( ) => {
264+ const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper (
265+ mockedWorkspaceClient ,
266+ logger
267+ ) ;
268+ const mockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
269+ updateWorkspaceState ( mockRequest , { } ) ;
270+ const mockedWrapperClient = workspaceIdConsumerWrapper . wrapperFactory ( {
271+ client : mockedClient ,
272+ typeRegistry : requestHandlerContext . savedObjects . typeRegistry ,
273+ request : mockRequest ,
274+ } ) ;
275+ await mockedWrapperClient . find ( {
276+ type : [ 'dashboard' , 'visualization' ] ,
277+ workspaces : [ '*' ] ,
278+ } ) ;
279+ expect ( mockedClient . find ) . toBeCalledWith ( {
280+ type : [ 'dashboard' , 'visualization' ] ,
281+ } ) ;
282+ expect ( logger . warn ) . toHaveBeenCalledWith (
283+ expect . stringContaining (
284+ 'DEPRECATED: Using workspace="*" is deprecated and will be removed in future release.'
285+ )
286+ ) ;
287+ } ) ;
246288 } ) ;
247289
248290 describe ( 'get' , ( ) => {
@@ -309,7 +351,10 @@ describe('WorkspaceIdConsumerWrapper', () => {
309351 } ) ;
310352
311353 it ( `Should get object when there is no workspace in options/request` , async ( ) => {
312- const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper ( mockedWorkspaceClient ) ;
354+ const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper (
355+ mockedWorkspaceClient ,
356+ logger
357+ ) ;
313358 const mockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
314359 updateWorkspaceState ( mockRequest , { } ) ;
315360 const mockedWrapperClient = workspaceIdConsumerWrapper . wrapperFactory ( {
@@ -366,7 +411,10 @@ describe('WorkspaceIdConsumerWrapper', () => {
366411 } ) ;
367412
368413 it ( `Should get data source when user is data source admin` , async ( ) => {
369- const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper ( mockedWorkspaceClient ) ;
414+ const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper (
415+ mockedWorkspaceClient ,
416+ logger
417+ ) ;
370418 const mockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
371419 updateWorkspaceState ( mockRequest , { isDataSourceAdmin : true , requestWorkspaceId : 'foo' } ) ;
372420 const mockedWrapperClient = workspaceIdConsumerWrapper . wrapperFactory ( {
@@ -626,7 +674,10 @@ describe('WorkspaceIdConsumerWrapper', () => {
626674 } ) ;
627675
628676 it ( `Should bulkGet objects when there is no workspace in options/request` , async ( ) => {
629- const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper ( mockedWorkspaceClient ) ;
677+ const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper (
678+ mockedWorkspaceClient ,
679+ logger
680+ ) ;
630681 const mockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
631682 updateWorkspaceState ( mockRequest , { } ) ;
632683 const mockedWrapperClient = workspaceIdConsumerWrapper . wrapperFactory ( {
@@ -656,7 +707,10 @@ describe('WorkspaceIdConsumerWrapper', () => {
656707 } ) ;
657708
658709 it ( `Should bulkGet data source when user is data source admin` , async ( ) => {
659- const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper ( mockedWorkspaceClient ) ;
710+ const workspaceIdConsumerWrapper = new WorkspaceIdConsumerWrapper (
711+ mockedWorkspaceClient ,
712+ logger
713+ ) ;
660714 const mockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
661715 updateWorkspaceState ( mockRequest , { isDataSourceAdmin : true , requestWorkspaceId : 'foo' } ) ;
662716 const mockedWrapperClient = workspaceIdConsumerWrapper . wrapperFactory ( {
0 commit comments