55
66import { loggerMock } from '@osd/logging/target/mocks' ;
77import { SavedObjectsPermissionControl } from './client' ;
8- import { httpServerMock , savedObjectsClientMock } from '../../../../core/server/mocks' ;
8+ import {
9+ httpServerMock ,
10+ httpServiceMock ,
11+ savedObjectsClientMock ,
12+ } from '../../../../core/server/mocks' ;
13+ import * as utilsExports from '../utils' ;
914
10- describe ( 'workspace utils' , ( ) => {
15+ describe ( 'PermissionControl' , ( ) => {
16+ jest . spyOn ( utilsExports , 'getPrincipalsFromRequest' ) . mockImplementation ( ( ) => ( {
17+ users : [ 'bar' ] ,
18+ } ) ) ;
19+ const mockAuth = httpServiceMock . createAuth ( ) ;
1120 it ( 'should return principals when calling getPrincipalsOfObjects' , async ( ) => {
1221 const permissionControlClient = new SavedObjectsPermissionControl ( loggerMock . create ( ) ) ;
1322 const getScopedClient = jest . fn ( ) ;
@@ -27,7 +36,7 @@ describe('workspace utils', () => {
2736 } ) ;
2837 return clientMock ;
2938 } ) ;
30- permissionControlClient . setup ( getScopedClient ) ;
39+ permissionControlClient . setup ( getScopedClient , mockAuth ) ;
3140 const result = await permissionControlClient . getPrincipalsOfObjects (
3241 httpServerMock . createOpenSearchDashboardsRequest ( ) ,
3342 [ ]
@@ -50,7 +59,7 @@ describe('workspace utils', () => {
5059 getScopedClient . mockImplementation ( ( request ) => {
5160 return clientMock ;
5261 } ) ;
53- permissionControlClient . setup ( getScopedClient ) ;
62+ permissionControlClient . setup ( getScopedClient , mockAuth ) ;
5463 clientMock . bulkGet . mockResolvedValue ( {
5564 saved_objects : [ ] ,
5665 } ) ;
@@ -69,7 +78,7 @@ describe('workspace utils', () => {
6978 getScopedClient . mockImplementation ( ( request ) => {
7079 return clientMock ;
7180 } ) ;
72- permissionControlClient . setup ( getScopedClient ) ;
81+ permissionControlClient . setup ( getScopedClient , mockAuth ) ;
7382
7483 clientMock . bulkGet . mockResolvedValue ( {
7584 saved_objects : [
@@ -102,7 +111,7 @@ describe('workspace utils', () => {
102111 getScopedClient . mockImplementation ( ( request ) => {
103112 return clientMock ;
104113 } ) ;
105- permissionControlClient . setup ( getScopedClient ) ;
114+ permissionControlClient . setup ( getScopedClient , mockAuth ) ;
106115
107116 clientMock . bulkGet . mockResolvedValue ( {
108117 saved_objects : [
@@ -126,19 +135,23 @@ describe('workspace utils', () => {
126135 ] ,
127136 } ) ;
128137 const batchValidateResult = await permissionControlClient . batchValidate (
129- httpServerMock . createOpenSearchDashboardsRequest ( {
130- auth : {
131- credentials : {
132- authInfo : {
133- user_name : 'bar' ,
134- } ,
135- } ,
136- } as any ,
137- } ) ,
138+ httpServerMock . createOpenSearchDashboardsRequest ( ) ,
138139 [ ] ,
139140 [ 'read' ]
140141 ) ;
141142 expect ( batchValidateResult . success ) . toEqual ( true ) ;
142143 expect ( batchValidateResult . result ) . toEqual ( true ) ;
143144 } ) ;
145+
146+ describe ( 'getPrincipalsFromRequest' , ( ) => {
147+ const permissionControlClient = new SavedObjectsPermissionControl ( loggerMock . create ( ) ) ;
148+ const getScopedClient = jest . fn ( ) ;
149+ permissionControlClient . setup ( getScopedClient , mockAuth ) ;
150+
151+ it ( 'should return normally when calling getPrincipalsFromRequest' , ( ) => {
152+ const mockRequest = httpServerMock . createOpenSearchDashboardsRequest ( ) ;
153+ const result = permissionControlClient . getPrincipalsFromRequest ( mockRequest ) ;
154+ expect ( result . users ) . toEqual ( [ 'bar' ] ) ;
155+ } ) ;
156+ } ) ;
144157} ) ;
0 commit comments