OLD | NEW |
| (Empty) |
1 if (self.importScripts) { | |
2 importScripts('../resources/fetch-test-helpers.js'); | |
3 importScripts('../resources/fetch-access-control-util.js'); | |
4 } | |
5 | |
6 var TEST_TARGETS = [ | |
7 // Auth check | |
8 [BASE_URL + 'Auth&mode=same-origin&credentials=omit', | |
9 [fetchResolved, hasBody], [checkJsonpError]], | |
10 [BASE_URL + 'Auth&mode=same-origin&credentials=include', | |
11 [fetchResolved, hasBody], [authCheck1]], | |
12 [BASE_URL + 'Auth&mode=same-origin&credentials=same-origin', | |
13 [fetchResolved, hasBody], [authCheck1]], | |
14 | |
15 [BASE_URL + 'Auth&mode=cors&credentials=omit', | |
16 [fetchResolved, hasBody], [checkJsonpError]], | |
17 [BASE_URL + 'Auth&mode=cors&credentials=include', | |
18 [fetchResolved, hasBody], [authCheck1]], | |
19 [BASE_URL + 'Auth&mode=cors&credentials=same-origin', | |
20 [fetchResolved, hasBody], [authCheck1]], | |
21 | |
22 [OTHER_BASE_URL + 'Auth&mode=same-origin&credentials=omit', | |
23 [fetchRejected]], | |
24 [OTHER_BASE_URL + 'Auth&mode=same-origin&credentials=include', | |
25 [fetchRejected]], | |
26 [OTHER_BASE_URL + 'Auth&mode=same-origin&credentials=same-origin', | |
27 [fetchRejected]], | |
28 | |
29 // CORS check tests | |
30 // Spec: https://fetch.spec.whatwg.org/#concept-cors-check | |
31 | |
32 // If origin is null or failure, return failure. | |
33 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=omit', | |
34 [fetchRejected]], | |
35 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include', | |
36 [fetchRejected]], | |
37 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=same-origin', | |
38 [fetchRejected]], | |
39 | |
40 // If credentials mode is not include, | |
41 // success if ACAOrigin is * or request's origin, or failure otherwise. | |
42 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=omit&ACAOrigin=*', | |
43 [fetchResolved, hasBody], [checkJsonpError]], | |
44 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=omit&ACAOrigin=' + | |
45 BASE_ORIGIN, | |
46 [fetchResolved, hasBody], [checkJsonpError]], | |
47 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=omit&ACAOrigin=http://www.exampl
e.com', | |
48 [fetchRejected]], | |
49 | |
50 // If credentials mode is include, | |
51 // success if ACAOrigin is request's origin and ACACredentials=true, | |
52 // or failure otherwise. | |
53 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=*', | |
54 [fetchRejected]], | |
55 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=' + | |
56 BASE_ORIGIN, | |
57 [fetchRejected]], | |
58 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=http://www.exa
mple.com', | |
59 [fetchRejected]], | |
60 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=*&ACACredentia
ls=true', | |
61 [fetchRejected]], | |
62 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=' + | |
63 BASE_ORIGIN + '&ACACredentials=true', | |
64 [fetchResolved, hasBody, typeCors], [authCheck2]], | |
65 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=http://www.exa
mple.com&ACACredentials=true', | |
66 [fetchRejected]], | |
67 | |
68 // Test that Access-Control-Allow-Credentials is case-sensitive. | |
69 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=' + | |
70 BASE_ORIGIN + '&ACACredentials=True', | |
71 [fetchRejected]], | |
72 | |
73 // If credentials mode is not include, | |
74 // success if ACAOrigin is * or request's origin, or failure otherwise. | |
75 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=same-origin&ACAOrigin=*', | |
76 [fetchResolved, hasBody], [checkJsonpError]], | |
77 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=same-origin&ACAOrigin=' + | |
78 BASE_ORIGIN, | |
79 [fetchResolved, hasBody], [checkJsonpError]], | |
80 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=same-origin&ACAOrigin=http://www
.example.com', | |
81 [fetchRejected]], | |
82 | |
83 // Credential check with CORS preflight. | |
84 | |
85 // Resolved because Authentication is not applied to CORS preflight. | |
86 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=omit&ACAOrigin=*&PACAOrigin=*&me
thod=PUT&PACAMethods=PUT&PreflightTest=200', | |
87 [fetchResolved, hasBody], [checkJsonpError]], | |
88 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=same-origin&ACAOrigin=*&PACAOrig
in=*&method=PUT&PACAMethods=PUT&PreflightTest=200', | |
89 [fetchResolved, hasBody], [checkJsonpError]], | |
90 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=' + | |
91 BASE_ORIGIN + '&PACAOrigin=' + BASE_ORIGIN + | |
92 '&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethods=PUT&Preflig
htTest=200', | |
93 [fetchResolved, hasBody, typeCors], [authCheck2]], | |
94 | |
95 // Rejected because CORS preflight response returns 401. | |
96 [OTHER_BASE_URL + 'PAuth&mode=cors&credentials=omit&ACAOrigin=*&PACAOrigin=*&m
ethod=PUT&PACAMethods=PUT&PreflightTest=200', | |
97 [fetchRejected]], | |
98 [OTHER_BASE_URL + 'PAuth&mode=cors&credentials=same-origin&ACAOrigin=*&pACAOri
gin=*&method=PUT&PACAMethods=PUT&PreflightTest=200', | |
99 [fetchRejected]], | |
100 [OTHER_BASE_URL + 'PAuth&mode=cors&credentials=include&ACAOrigin=' + | |
101 BASE_ORIGIN + '&PACAOrigin=' + BASE_ORIGIN + | |
102 '&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethods=PUT&Preflig
htTest=200', | |
103 [fetchRejected]], | |
104 | |
105 // Check that Access-Control-Allow-Origin/Access-Control-Allow-Credentials | |
106 // headers are checked in both CORS preflight and main fetch. | |
107 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=' + | |
108 BASE_ORIGIN + | |
109 '&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethods=PUT&Preflig
htTest=200', | |
110 [fetchRejected]], | |
111 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&PACAOrigin=' + | |
112 BASE_ORIGIN + | |
113 '&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethods=PUT&Preflig
htTest=200', | |
114 [fetchRejected]], | |
115 [OTHER_BASE_URL + | |
116 'Auth&mode=cors&credentials=include&ACAOrigin=*&PACAOrigin=' + BASE_ORIGIN + | |
117 '&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethods=PUT&Preflig
htTest=200', | |
118 [fetchRejected]], | |
119 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=' + | |
120 BASE_ORIGIN + | |
121 '&PACAOrigin=*&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethod
s=PUT&PreflightTest=200', | |
122 [fetchRejected]], | |
123 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=' + | |
124 BASE_ORIGIN + '&PACAOrigin=' + BASE_ORIGIN + | |
125 '&ACACredentials=true&method=PUT&PACAMethods=PUT&PreflightTest=200', | |
126 [fetchRejected]], | |
127 [OTHER_BASE_URL + 'Auth&mode=cors&credentials=include&ACAOrigin=' + | |
128 BASE_ORIGIN + '&PACAOrigin=' + BASE_ORIGIN + | |
129 '&PACACredentials=true&method=PUT&PACAMethods=PUT&PreflightTest=200', | |
130 [fetchRejected]], | |
131 ]; | |
132 | |
133 if (self.importScripts) { | |
134 executeTests(TEST_TARGETS); | |
135 done(); | |
136 } | |
OLD | NEW |