Chromium Code Reviews| 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 |