@@ -77,6 +77,29 @@ describe('OriginRequestPolicy', () => {
7777 expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy6' , { originRequestPolicyName : 'My_Policy' } ) ) . not . toThrow ( ) ;
7878 } ) ;
7979
80+ test ( 'throws if prohibited headers are being passed' , ( ) => {
81+ const errorMessage = / y o u c a n n o t p a s s ` A u t h o r i z a t i o n ` o r ` A c c e p t - E n c o d i n g ` a s h e a d e r v a l u e s / ;
82+ expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy1' , { headerBehavior : OriginRequestHeaderBehavior . allowList ( 'Authorization' ) } ) ) . toThrow ( errorMessage ) ;
83+ expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy2' , { headerBehavior : OriginRequestHeaderBehavior . allowList ( 'Accept-Encoding' ) } ) ) . toThrow ( errorMessage ) ;
84+ expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy3' , { headerBehavior : OriginRequestHeaderBehavior . allowList ( 'authorization' ) } ) ) . toThrow ( errorMessage ) ;
85+ expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy4' , { headerBehavior : OriginRequestHeaderBehavior . allowList ( 'accept-encoding' ) } ) ) . toThrow ( errorMessage ) ;
86+ expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy5' , { headerBehavior : OriginRequestHeaderBehavior . allowList ( 'Foo' , 'Authorization' , 'Bar' ) } ) ) . toThrow ( errorMessage ) ;
87+ expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy6' , { headerBehavior : OriginRequestHeaderBehavior . allowList ( 'Foo' , 'Accept-Encoding' , 'Bar' ) } ) ) . toThrow ( errorMessage ) ;
88+
89+ expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy7' , { headerBehavior : OriginRequestHeaderBehavior . allowList ( 'Foo' , 'Bar' ) } ) ) . not . toThrow ( ) ;
90+ } ) ;
91+
92+ test ( 'throws if more than 10 OriginRequestHeaderBehavior headers are being passed' , ( ) => {
93+ const errorMessage = / M a x i m u m a l l o w e d h e a d e r s i n O r i g i n R e q u e s t P o l i c y i s 1 0 ; g o t ( .* ?) / ;
94+ expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy1' , {
95+ headerBehavior : OriginRequestHeaderBehavior . allowList ( 'Lorem' , 'ipsum' , 'dolor' , 'sit' , 'amet' , 'consectetur' , 'adipiscing' , 'elit' , 'sed' , 'do' , 'eiusmod' ) ,
96+ } ) ) . toThrow ( errorMessage ) ;
97+
98+ expect ( ( ) => new OriginRequestPolicy ( stack , 'OriginRequestPolicy2' , {
99+ headerBehavior : OriginRequestHeaderBehavior . allowList ( 'Lorem' , 'ipsum' , 'dolor' , 'sit' , 'amet' , 'consectetur' , 'adipiscing' , 'elit' , 'sed' , 'do' ) ,
100+ } ) ) . not . toThrow ( ) ;
101+ } ) ;
102+
80103 test ( 'does not throw if originRequestPolicyName is a token' , ( ) => {
81104 expect ( ( ) => new OriginRequestPolicy ( stack , 'CachePolicy' , {
82105 originRequestPolicyName : Aws . STACK_NAME ,
0 commit comments