@@ -540,6 +540,54 @@ describe('RESTController', () => {
540
540
CoreManager . set ( 'SERVER_AUTH_TOKEN' , null ) ;
541
541
} ) ;
542
542
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
+
543
591
it ( 'reports upload/download progress of the AJAX request when callback is provided' , done => {
544
592
const xhr = mockXHR ( [ { status : 200 , response : { success : true } } ] , {
545
593
progress : {
0 commit comments