OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #import <Cronet/Cronet.h> | 5 #import <Cronet/Cronet.h> |
6 #import <Foundation/Foundation.h> | 6 #import <Foundation/Foundation.h> |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
251 [Cronet setRequestFilterBlock:nil]; | 251 [Cronet setRequestFilterBlock:nil]; |
252 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url]; | 252 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url]; |
253 StartDataTaskAndWaitForCompletion(task); | 253 StartDataTaskAndWaitForCompletion(task); |
254 EXPECT_EQ(nil, [delegate_ error]); | 254 EXPECT_EQ(nil, [delegate_ error]); |
255 EXPECT_STREQ(kUserAgent, [[delegate_ responseBody] UTF8String]); | 255 EXPECT_STREQ(kUserAgent, [[delegate_ responseBody] UTF8String]); |
256 } | 256 } |
257 | 257 |
258 TEST_F(HttpTest, SetCookie) { | 258 TEST_F(HttpTest, SetCookie) { |
259 const char kCookieHeader[] = "Cookie"; | 259 const char kCookieHeader[] = "Cookie"; |
260 const char kCookieLine[] = "aaaa=bbb"; | 260 const char kCookieLine[] = "aaaa=bbb"; |
261 NSURL* echoCookieUrl = | 261 NSHTTPCookieStorage* systemCookieStorage = |
262 [NSHTTPCookieStorage sharedHTTPCookieStorage]; | |
263 NSURL* cookieUrl = | |
262 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL(kCookieHeader))); | 264 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL(kCookieHeader))); |
263 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]); | 265 // Verify that cookie is not set in system storage. |
266 for (NSHTTPCookie* cookie in [systemCookieStorage cookiesForURL:cookieUrl]) { | |
267 EXPECT_FALSE([[cookie name] isEqualToString:@"aaaa"]); | |
268 } | |
269 | |
270 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:cookieUrl]); | |
264 EXPECT_EQ(nil, [delegate_ error]); | 271 EXPECT_EQ(nil, [delegate_ error]); |
265 EXPECT_EQ(nil, [delegate_ responseBody]); | 272 EXPECT_EQ(nil, [delegate_ responseBody]); |
266 | 273 |
267 NSURL* setCookieUrl = | 274 NSURL* setCookieUrl = |
268 net::NSURLWithGURL(GURL(TestServer::GetSetCookieURL(kCookieLine))); | 275 net::NSURLWithGURL(GURL(TestServer::GetSetCookieURL(kCookieLine))); |
269 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:setCookieUrl]); | 276 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:setCookieUrl]); |
270 EXPECT_EQ(nil, [delegate_ error]); | 277 EXPECT_EQ(nil, [delegate_ error]); |
271 EXPECT_TRUE([[delegate_ responseBody] | 278 EXPECT_TRUE([[delegate_ responseBody] |
272 containsString:base::SysUTF8ToNSString(kCookieLine)]); | 279 containsString:base::SysUTF8ToNSString(kCookieLine)]); |
273 | 280 |
274 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]); | 281 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:cookieUrl]); |
275 EXPECT_EQ(nil, [delegate_ error]); | 282 EXPECT_EQ(nil, [delegate_ error]); |
276 EXPECT_TRUE([[delegate_ responseBody] | 283 EXPECT_TRUE([[delegate_ responseBody] |
277 containsString:base::SysUTF8ToNSString(kCookieLine)]); | 284 containsString:base::SysUTF8ToNSString(kCookieLine)]); |
285 | |
286 // Verify that cookie is set in system storage. | |
287 NSHTTPCookie* systemCookie = nil; | |
288 for (NSHTTPCookie* cookie in [systemCookieStorage cookiesForURL:cookieUrl]) { | |
289 if ([cookie.name isEqualToString:@"aaaa"]) { | |
290 systemCookie = cookie; | |
291 break; | |
292 } | |
293 } | |
294 EXPECT_TRUE([[systemCookie value] isEqualToString:@"bbb"]); | |
295 [systemCookieStorage deleteCookie:systemCookie]; | |
296 } | |
297 | |
298 TEST_F(HttpTest, SetSystemCookie) { | |
299 const char kCookieHeader[] = "Cookie"; | |
300 NSHTTPCookieStorage* systemCookieStorage = | |
301 [NSHTTPCookieStorage sharedHTTPCookieStorage]; | |
302 NSURL* echoCookieUrl = | |
303 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL(kCookieHeader))); | |
304 NSHTTPCookie* systemCookie = [NSHTTPCookie cookieWithProperties:@{ | |
305 NSHTTPCookiePath : [echoCookieUrl path], | |
306 NSHTTPCookieName : @"cccc", | |
307 NSHTTPCookieValue : @"dddd", | |
308 NSHTTPCookieDomain : [echoCookieUrl host], | |
309 }]; | |
310 [systemCookieStorage setCookie:systemCookie]; | |
311 | |
312 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]); | |
313 EXPECT_EQ(nil, [delegate_ error]); | |
314 // Verify that cookie set in system store was sent to the serever. | |
315 EXPECT_TRUE([[delegate_ responseBody] isEqualToString:@"cccc=dddd"]); | |
kapishnikov
2017/01/06 16:23:17
I would use containsString here since the cookie h
mef
2017/01/06 17:58:59
Done.
| |
316 [systemCookieStorage deleteCookie:systemCookie]; | |
kapishnikov
2017/01/06 16:23:17
If the above 'EXPECTs' fail, the cookie is not goi
mef
2017/01/06 17:58:59
Done.
| |
278 } | 317 } |
279 | 318 |
280 TEST_F(HttpTest, FilterOutRequest) { | 319 TEST_F(HttpTest, FilterOutRequest) { |
281 NSURL* url = | 320 NSURL* url = |
282 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL("User-Agent"))); | 321 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL("User-Agent"))); |
283 __block BOOL block_used = NO; | 322 __block BOOL block_used = NO; |
284 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url]; | 323 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url]; |
285 [Cronet setRequestFilterBlock:^(NSURLRequest* request) { | 324 [Cronet setRequestFilterBlock:^(NSURLRequest* request) { |
286 block_used = YES; | 325 block_used = YES; |
287 EXPECT_EQ([request URL], url); | 326 EXPECT_EQ([request URL], url); |
288 return NO; | 327 return NO; |
289 }]; | 328 }]; |
290 StartDataTaskAndWaitForCompletion(task); | 329 StartDataTaskAndWaitForCompletion(task); |
291 EXPECT_TRUE(block_used); | 330 EXPECT_TRUE(block_used); |
292 EXPECT_EQ(nil, [delegate_ error]); | 331 EXPECT_EQ(nil, [delegate_ error]); |
293 EXPECT_FALSE([[delegate_ responseBody] | 332 EXPECT_FALSE([[delegate_ responseBody] |
294 containsString:base::SysUTF8ToNSString(kUserAgent)]); | 333 containsString:base::SysUTF8ToNSString(kUserAgent)]); |
295 EXPECT_TRUE([[delegate_ responseBody] containsString:@"CFNetwork"]); | 334 EXPECT_TRUE([[delegate_ responseBody] containsString:@"CFNetwork"]); |
296 } | 335 } |
297 | 336 |
298 } // namespace cronet | 337 } // namespace cronet |
OLD | NEW |