@@ -25,96 +25,108 @@ afterAll(async () => {
2525 await cleanup ( ) ;
2626} ) ;
2727
28- test ( 'Modify Request Header' , async ( ) =>
29- runTest ( [ 'chrome_v3' , 'firefox_v2' , 'firefox_v3' ] , async browser => {
30- const key = String ( Math . random ( ) ) . replace ( '.' , '' ) ;
31-
32- const { remove } = await saveRule ( browser . popup , {
33- name : 'test modify request header' ,
34- ruleType : 'modifySendHeader' ,
35- pattern : '^' + testServer ,
36- matchType : 'regexp' ,
37- isFunction : false ,
38- enable : true ,
39- action : {
40- name : 'X-Test-Header' ,
41- value : key ,
42- } ,
43- } ) ;
44-
45- const header = await getHeader ( browser . browser ) ;
46-
47- expect ( header [ 'X_TEST_HEADER' ] ) . toBe ( key ) ;
48-
49- await remove ( ) ;
50- } ) ) ;
51-
52- test ( 'Disable rule' , async ( ) =>
53- runTest ( [ 'chrome_v3' , 'firefox_v2' , 'firefox_v3' ] , async browser => {
54- const key = String ( Math . random ( ) ) . replace ( '.' , '' ) ;
55-
56- const { remove } = await saveRule ( browser . popup , {
57- name : 'test disable rule' ,
58- ruleType : 'modifySendHeader' ,
59- pattern : '^' + testServer ,
60- matchType : 'regexp' ,
61- isFunction : false ,
62- enable : false ,
63- action : {
64- name : 'X-Test-Header' ,
65- value : key ,
66- } ,
67- } ) ;
68-
69- const header = await getHeader ( browser . browser ) ;
70-
71- expect ( header [ 'X_TEST_HEADER' ] ) . toBeUndefined ( ) ;
72-
73- await remove ( ) ;
74- } ) ) ;
75-
76- test ( 'Remove Response Header' , async ( ) =>
77- runTest ( [ 'chrome_v3' , 'firefox_v2' , 'firefox_v3' ] , async browser => {
78- const { remove } = await saveRule ( browser . popup , {
79- name : 'test remove request header' ,
80- ruleType : 'modifyReceiveHeader' ,
81- pattern : '^' + testServer ,
82- matchType : 'regexp' ,
83- isFunction : false ,
84- enable : true ,
85- action : {
86- name : 'content-security-policy' ,
87- value : '_header_editor_remove_' ,
88- } ,
89- } ) ;
90-
91- const value = await getPageValue ( browser . browser , 'csp.php' ) ;
92-
93- expect ( value ) . toBe ( 'Executed' ) ;
94-
95- await remove ( ) ;
96- } ) ) ;
97-
98- test ( 'Modify Response Header' , async ( ) =>
99- runTest ( [ 'chrome_v3' , 'firefox_v2' , 'firefox_v3' ] , async browser => {
100- const key = String ( Math . random ( ) ) . replace ( '.' , '' ) ;
101-
102- const { remove } = await saveRule ( browser . popup , {
103- name : 'test modify request header' ,
104- ruleType : 'modifyReceiveHeader' ,
105- pattern : '^' + testServer ,
106- matchType : 'regexp' ,
107- isFunction : false ,
108- enable : true ,
109- action : {
110- name : 'content-security-policy' ,
111- value : `script-src 'self' 'nonce-${ key } '` ,
112- } ,
113- } ) ;
114-
115- const value = await getPageValue ( browser . browser , 'csp.php?nonce=' + key ) ;
116-
117- expect ( value ) . toBe ( key ) ;
118-
119- await remove ( ) ;
120- } ) ) ;
28+ test . each ( [ [ 'chrome_v3' ] , [ 'firefox_v2' ] , [ 'firefox_v3' ] ] ) (
29+ '[%s] - Modify Request Header' ,
30+ async browserKey =>
31+ runTest ( browserKey , async browser => {
32+ const key = String ( Math . random ( ) ) . replace ( '.' , '' ) ;
33+
34+ const { remove } = await saveRule ( browser . popup , {
35+ name : 'test modify request header' ,
36+ ruleType : 'modifySendHeader' ,
37+ pattern : '^' + testServer ,
38+ matchType : 'regexp' ,
39+ isFunction : false ,
40+ enable : true ,
41+ action : {
42+ name : 'X-Test-Header' ,
43+ value : key ,
44+ } ,
45+ } ) ;
46+
47+ const header = await getHeader ( browser . browser ) ;
48+
49+ expect ( header [ 'X_TEST_HEADER' ] ) . toBe ( key ) ;
50+
51+ await remove ( ) ;
52+ } ) ,
53+ ) ;
54+
55+ test . each ( [ [ 'chrome_v3' ] , [ 'firefox_v2' ] , [ 'firefox_v3' ] ] ) (
56+ '[%s] - Disable rule' ,
57+ async browserKey =>
58+ runTest ( browserKey , async browser => {
59+ const key = String ( Math . random ( ) ) . replace ( '.' , '' ) ;
60+
61+ const { remove } = await saveRule ( browser . popup , {
62+ name : 'test disable rule' ,
63+ ruleType : 'modifySendHeader' ,
64+ pattern : '^' + testServer ,
65+ matchType : 'regexp' ,
66+ isFunction : false ,
67+ enable : false ,
68+ action : {
69+ name : 'X-Test-Header' ,
70+ value : key ,
71+ } ,
72+ } ) ;
73+
74+ const header = await getHeader ( browser . browser ) ;
75+
76+ expect ( header [ 'X_TEST_HEADER' ] ) . toBeUndefined ( ) ;
77+
78+ await remove ( ) ;
79+ } ) ,
80+ ) ;
81+
82+ test . each ( [ [ 'chrome_v3' ] , [ 'firefox_v2' ] , [ 'firefox_v3' ] ] ) (
83+ '[%s] - Remove Response Header' ,
84+ async browserKey =>
85+ runTest ( browserKey , async browser => {
86+ const { remove } = await saveRule ( browser . popup , {
87+ name : 'test remove request header' ,
88+ ruleType : 'modifyReceiveHeader' ,
89+ pattern : '^' + testServer ,
90+ matchType : 'regexp' ,
91+ isFunction : false ,
92+ enable : true ,
93+ action : {
94+ name : 'content-security-policy' ,
95+ value : '_header_editor_remove_' ,
96+ } ,
97+ } ) ;
98+
99+ const value = await getPageValue ( browser . browser , 'csp.php' ) ;
100+
101+ expect ( value ) . toBe ( 'Executed' ) ;
102+
103+ await remove ( ) ;
104+ } ) ,
105+ ) ;
106+
107+ test . each ( [ [ 'chrome_v3' ] , [ 'firefox_v2' ] , [ 'firefox_v3' ] ] ) (
108+ '[%s] - Modify Response Header' ,
109+ async browserKey =>
110+ runTest ( browserKey , async browser => {
111+ const key = String ( Math . random ( ) ) . replace ( '.' , '' ) ;
112+
113+ const { remove } = await saveRule ( browser . popup , {
114+ name : 'test modify request header' ,
115+ ruleType : 'modifyReceiveHeader' ,
116+ pattern : '^' + testServer ,
117+ matchType : 'regexp' ,
118+ isFunction : false ,
119+ enable : true ,
120+ action : {
121+ name : 'content-security-policy' ,
122+ value : `script-src 'self' 'nonce-${ key } '` ,
123+ } ,
124+ } ) ;
125+
126+ const value = await getPageValue ( browser . browser , 'csp.php?nonce=' + key ) ;
127+
128+ expect ( value ) . toBe ( key ) ;
129+
130+ await remove ( ) ;
131+ } ) ,
132+ ) ;
0 commit comments