@@ -540,6 +540,54 @@ describe('RESTController', () => {
540540 CoreManager . set ( 'SERVER_AUTH_TOKEN' , null ) ;
541541 } ) ;
542542
543+ it ( 'sends auth header when auth header option is provided' , async ( ) => {
544+ const credentialsHeader = header => 'Authorization' === header [ 0 ] ;
545+ const xhr = {
546+ setRequestHeader : jest . fn ( ) ,
547+ open : jest . fn ( ) ,
548+ send : jest . fn ( ) ,
549+ } ;
550+ RESTController . _setXHR ( function ( ) {
551+ return xhr ;
552+ } ) ;
553+ RESTController . request (
554+ 'GET' ,
555+ 'classes/MyObject' ,
556+ { } ,
557+ { authorizationHeader : 'Bearer some_random_token' }
558+ ) ;
559+ await flushPromises ( ) ;
560+ expect ( xhr . setRequestHeader . mock . calls . filter ( credentialsHeader ) ) . toEqual ( [
561+ [ 'Authorization' , 'Bearer some_random_token' ] ,
562+ ] ) ;
563+ } ) ;
564+
565+ it ( 'auth header option overrides CoreManager auth header' , async ( ) => {
566+ CoreManager . set ( 'SERVER_AUTH_TYPE' , 'Bearer' ) ;
567+ CoreManager . set ( 'SERVER_AUTH_TOKEN' , 'some_random_token' ) ;
568+ const credentialsHeader = header => 'Authorization' === header [ 0 ] ;
569+ const xhr = {
570+ setRequestHeader : jest . fn ( ) ,
571+ open : jest . fn ( ) ,
572+ send : jest . fn ( ) ,
573+ } ;
574+ RESTController . _setXHR ( function ( ) {
575+ return xhr ;
576+ } ) ;
577+ RESTController . request (
578+ 'GET' ,
579+ 'classes/MyObject' ,
580+ { } ,
581+ { authorizationHeader : 'Bearer some_other_random_token' }
582+ ) ;
583+ await flushPromises ( ) ;
584+ expect ( xhr . setRequestHeader . mock . calls . filter ( credentialsHeader ) ) . toEqual ( [
585+ [ 'Authorization' , 'Bearer some_other_random_token' ] ,
586+ ] ) ;
587+ CoreManager . set ( 'SERVER_AUTH_TYPE' , null ) ;
588+ CoreManager . set ( 'SERVER_AUTH_TOKEN' , null ) ;
589+ } ) ;
590+
543591 it ( 'reports upload/download progress of the AJAX request when callback is provided' , done => {
544592 const xhr = mockXHR ( [ { status : 200 , response : { success : true } } ] , {
545593 progress : {
0 commit comments