Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(299)

Side by Side Diff: LayoutTests/http/tests/fetch/script-tests/fetch-access-control-cookie.js

Issue 1267263003: Rename fetch layout tests. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 if (self.importScripts) {
2 importScripts('../resources/fetch-test-helpers.js');
3 importScripts('../resources/fetch-access-control-util.js');
4 }
5
6 // This test assumes TEST_TARGETS are executed in order and sequentially.
7 var TEST_TARGETS = [];
8
9 // cookieCheckX checks the cookies sent in the request.
10 // SetCookie=cookieX indicates to set cookies in the response.
11 // So a SetCookie=cookieX indication may affect the next cookieCheckX,
12 // but not the cookieCheckX in the same request.
13
14 // Test same-origin requests.
15 // The same set of requests are also in fetch-access-control-cookie-no-cors.js,
16 // with different mode (no-cors).
17 ['same-origin', 'cors'].forEach(function(mode) {
18 // At first, cookie is cookie=cookie1.
19 TEST_TARGETS.push(
20 // Set cookie=cookieA by credentials=same-origin.
21 [BASE_URL + 'mode=' + mode + '&credentials=same-origin&SetCookie=cookieA',
22 [fetchResolved, hasBody], [cookieCheck1]],
23
24 // Set cookie=cookieB by credentials=include.
25 [BASE_URL + 'mode=' + mode + '&credentials=include&SetCookie=cookieB',
26 [fetchResolved, hasBody], [cookieCheckA]],
27 // Check cookie.
28 [BASE_URL + 'mode=' + mode + '&credentials=same-origin',
29 [fetchResolved, hasBody], [cookieCheckB]],
30
31 // Try to set cookie=cookieC by credentials=omit, but
32 // cookie is not sent/updated if credentials flag is unset.
33 [BASE_URL + 'mode=' + mode + '&credentials=omit&SetCookie=cookieC',
34 [fetchResolved, hasBody], [cookieCheckNone]],
35
36 // Set-Cookie2 header is ignored.
37 [BASE_URL + 'mode=' + mode +
38 '&credentials=same-origin&SetCookie2=cookieC',
39 [fetchResolved, hasBody], [cookieCheckB]],
40
41 // Reset cookie to cookie1.
42 [BASE_URL + 'mode=' + mode + '&credentials=same-origin&SetCookie=cookie1',
43 [fetchResolved, hasBody], [cookieCheckB]]);
44 });
45
46 // Test cross-origin requests.
47
48 // URL to check current cookie.
49 var OTHER_CHECK_URL =
50 OTHER_BASE_URL +
51 'mode=cors&credentials=include&method=POST&ACAOrigin=' + BASE_ORIGIN +
52 '&ACACredentials=true&label=';
53
54 TEST_TARGETS.push(
55 // At first, cookie is cookie=cookie2.
56
57 // Tests for mode=cors.
58
59 // Set cookieA by a successful CORS.
60 [OTHER_BASE_URL + 'mode=cors&credentials=include&ACAOrigin=' + BASE_ORIGIN +
61 '&ACACredentials=true&SetCookie=cookieA',
62 [fetchResolved, hasBody, typeCors], [cookieCheck2]],
63 // Check that cookie is set.
64 [OTHER_CHECK_URL + 'otherCheck1', [fetchResolved], [cookieCheckA]],
65
66 // Set cookieB by a rejected CORS. Fetch is rejected, but cookie is set.
67 // Spec: https://fetch.spec.whatwg.org/
68 // Cookie is set in Step 13 of HTTP network or cache fetch
69 // (called from Step 3.5 of HTTP fetch),
70 // which is before CORS check in Step 3.6 of HTTP fetch.
71 [OTHER_BASE_URL + 'mode=cors&credentials=include&ACAOrigin=*&SetCookie=cookieB ',
72 [fetchRejected]],
73 [OTHER_CHECK_URL + 'otherCheck2', [fetchResolved], [cookieCheckB]],
74
75 // Set cookieC by a rejected CORS. Fetch is rejected, but cookie is set.
76 [OTHER_BASE_URL + 'mode=cors&credentials=include&ACAOrigin=' + BASE_ORIGIN +
77 '&SetCookie=cookieC',
78 [fetchRejected]],
79 [OTHER_CHECK_URL + 'otherCheck3', [fetchResolved], [cookieCheckC]],
80
81 // Set cookieA by a rejected CORS. Fetch is rejected, but cookie is set.
82 [OTHER_BASE_URL + 'mode=cors&credentials=include&ACAOrigin=*&ACACredentials=tr ue&SetCookie=cookieA',
83 [fetchRejected]],
84 [OTHER_CHECK_URL + 'otherCheck4', [fetchResolved], [cookieCheckA]],
85
86 // Try to set cookieB, but
87 // cookie is not sent/updated because credentials flag is not set.
88 [OTHER_BASE_URL + 'mode=cors&credentials=omit&ACAOrigin=' + BASE_ORIGIN +
89 '&ACACredentials=true&SetCookie=cookieB',
90 [fetchResolved, hasBody, typeCors], [cookieCheckNone]],
91 [OTHER_CHECK_URL + 'otherCheck5', [fetchResolved], [cookieCheckA]],
92
93 // Try to set cookieB, but
94 // cookie is not sent/updated because credentials flag is not set.
95 [OTHER_BASE_URL + 'mode=cors&credentials=same-origin&ACAOrigin=' +
96 BASE_ORIGIN + '&ACACredentials=true&SetCookie=cookieB',
97 [fetchResolved, hasBody, typeCors], [cookieCheckNone]],
98 [OTHER_CHECK_URL + 'otherCheck6', [fetchResolved], [cookieCheckA]],
99
100 // Tests for CORS preflight.
101
102 // Set cookieB by a successful CORS with CORS preflight.
103 [OTHER_BASE_URL + 'mode=cors&credentials=include&ACAOrigin=' + BASE_ORIGIN +
104 '&PACAOrigin=' + BASE_ORIGIN +
105 '&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethods=PUT&SetCook ie=cookieB&PreflightTest=200',
106 [fetchResolved, hasBody, typeCors], [cookieCheckA]],
107 [OTHER_CHECK_URL + 'otherCheck7', [fetchResolved], [cookieCheckB]],
108 // Set-Cookie2 should be ignored for CORS.
109 [OTHER_BASE_URL + 'mode=cors&credentials=include&ACAOrigin=' + BASE_ORIGIN +
110 '&PACAOrigin=' + BASE_ORIGIN +
111 '&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethods=PUT&SetCook ie2=cookieC&PreflightTest=200',
112 [fetchResolved, hasBody, typeCors], [cookieCheckB]],
113 [OTHER_CHECK_URL + 'otherCheck8', [fetchResolved], [cookieCheckB]],
114
115 // Test that no Cookie header is sent in CORS preflight.
116 // Test that Set-Cookie in CORS preflight is ignored.
117
118 // Set-Cookie=cookieC is sent in CORS preflight, but this should be ignored.
119 [OTHER_BASE_URL + 'mode=cors&credentials=include&ACAOrigin=' + BASE_ORIGIN +
120 '&PACAOrigin=' + BASE_ORIGIN +
121 '&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethods=PUT&PSetCoo kie=cookieC&PreflightTest=200',
122 [fetchResolved, hasBody, typeCors], [cookieCheckB]],
123 [OTHER_CHECK_URL + 'otherCheck9', [fetchResolved], [cookieCheckB]],
124
125 // Set-Cookie2=cookieC is sent in CORS preflight, but this should be ignored.
126 [OTHER_BASE_URL + 'mode=cors&credentials=include&ACAOrigin=' + BASE_ORIGIN +
127 '&PACAOrigin=' + BASE_ORIGIN +
128 '&ACACredentials=true&PACACredentials=true&method=PUT&PACAMethods=PUT&PSetCoo kie2=cookieC&PreflightTest=200',
129 [fetchResolved, hasBody, typeCors], [cookieCheckB]],
130 [OTHER_CHECK_URL + 'otherCheck10', [fetchResolved], [cookieCheckB]],
131
132 // Tests for mode=same-origin.
133 // Rejected as Network Error before entering basic fetch or HTTP fetch,
134 // so no cookies are set.
135
136 // Try to set cookieC.
137 [OTHER_BASE_URL + 'mode=same-origin&credentials=omit&SetCookie=cookieC',
138 [fetchRejected]],
139 [OTHER_CHECK_URL + 'otherCheck11', [fetchResolved], [cookieCheckB]],
140
141 // Try to set cookieC.
142 [OTHER_BASE_URL + 'mode=same-origin&credentials=include&SetCookie=cookieC',
143 [fetchRejected]],
144 [OTHER_CHECK_URL + 'otherCheck12', [fetchResolved], [cookieCheckB]],
145
146 // Try to set cookieC.
147 [OTHER_BASE_URL +
148 'mode=same-origin&credentials=same-origin&SetCookie=cookieC',
149 [fetchRejected]],
150 [OTHER_CHECK_URL + 'otherCheck13', [fetchResolved], [cookieCheckB]]
151 );
152
153 if (self.importScripts) {
154 executeTests(TEST_TARGETS);
155 done();
156 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698