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

Side by Side Diff: components/cronet/ios/test/cronet_http_test.mm

Issue 2617853002: [Cronet] Use CookieStoreIOS to sync cookies to system store. (Closed)
Patch Set: Created 3 years, 11 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
OLDNEW
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
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 NSHTTPCookieStorage* systemCookieStorage =
262 [NSHTTPCookieStorage sharedHTTPCookieStorage];
263 NSURL* cookieUrl =
264 [NSURL URLWithString:base::SysUTF8ToNSString(
265 TestServer::GetEchoHeaderURL(kCookieHeader))];
266 // Verify that cookie is not set in system storage.
267 for (NSHTTPCookie* cookie in [systemCookieStorage cookiesForURL:cookieUrl]) {
268 EXPECT_FALSE([[cookie name] containsString:@"aaaa"]);
kapishnikov 2017/01/06 15:24:45 Since 'isEqual' (or better 'isEqualToString') is u
mef 2017/01/06 15:52:55 Done.
269 }
270
261 NSURL* echoCookieUrl = 271 NSURL* echoCookieUrl =
262 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL(kCookieHeader))); 272 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL(kCookieHeader)));
263 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]); 273 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]);
264 EXPECT_EQ(nil, [delegate_ error]); 274 EXPECT_EQ(nil, [delegate_ error]);
265 EXPECT_EQ(nil, [delegate_ responseBody]); 275 EXPECT_EQ(nil, [delegate_ responseBody]);
266 276
267 NSURL* setCookieUrl = 277 NSURL* setCookieUrl =
268 net::NSURLWithGURL(GURL(TestServer::GetSetCookieURL(kCookieLine))); 278 net::NSURLWithGURL(GURL(TestServer::GetSetCookieURL(kCookieLine)));
269 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:setCookieUrl]); 279 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:setCookieUrl]);
270 EXPECT_EQ(nil, [delegate_ error]); 280 EXPECT_EQ(nil, [delegate_ error]);
271 EXPECT_TRUE([[delegate_ responseBody] 281 EXPECT_TRUE([[delegate_ responseBody]
272 containsString:base::SysUTF8ToNSString(kCookieLine)]); 282 containsString:base::SysUTF8ToNSString(kCookieLine)]);
273 283
274 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]); 284 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]);
275 EXPECT_EQ(nil, [delegate_ error]); 285 EXPECT_EQ(nil, [delegate_ error]);
276 EXPECT_TRUE([[delegate_ responseBody] 286 EXPECT_TRUE([[delegate_ responseBody]
277 containsString:base::SysUTF8ToNSString(kCookieLine)]); 287 containsString:base::SysUTF8ToNSString(kCookieLine)]);
288
289 // Verify that cookie is set in system storage.
290 NSHTTPCookie* systemCookie = nil;
291 for (NSHTTPCookie* cookie in [systemCookieStorage cookiesForURL:cookieUrl]) {
292 if ([cookie.name isEqual:@"aaaa"]) {
kapishnikov 2017/01/06 15:24:45 isEqualToString should be a little faster.
mef 2017/01/06 15:52:55 Done.
293 systemCookie = cookie;
294 break;
295 }
296 }
297 EXPECT_TRUE([[systemCookie value] containsString:@"bbb"]);
kapishnikov 2017/01/06 15:24:45 Why don't use isEqualToString instead of containsS
mef 2017/01/06 15:52:55 Done.
298 [systemCookieStorage deleteCookie:systemCookie];
278 } 299 }
279 300
280 TEST_F(HttpTest, FilterOutRequest) { 301 TEST_F(HttpTest, FilterOutRequest) {
281 NSURL* url = 302 NSURL* url =
282 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL("User-Agent"))); 303 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL("User-Agent")));
283 __block BOOL block_used = NO; 304 __block BOOL block_used = NO;
284 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url]; 305 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url];
285 [Cronet setRequestFilterBlock:^(NSURLRequest* request) { 306 [Cronet setRequestFilterBlock:^(NSURLRequest* request) {
286 block_used = YES; 307 block_used = YES;
287 EXPECT_EQ([request URL], url); 308 EXPECT_EQ([request URL], url);
288 return NO; 309 return NO;
289 }]; 310 }];
290 StartDataTaskAndWaitForCompletion(task); 311 StartDataTaskAndWaitForCompletion(task);
291 EXPECT_TRUE(block_used); 312 EXPECT_TRUE(block_used);
292 EXPECT_EQ(nil, [delegate_ error]); 313 EXPECT_EQ(nil, [delegate_ error]);
293 EXPECT_FALSE([[delegate_ responseBody] 314 EXPECT_FALSE([[delegate_ responseBody]
294 containsString:base::SysUTF8ToNSString(kUserAgent)]); 315 containsString:base::SysUTF8ToNSString(kUserAgent)]);
295 EXPECT_TRUE([[delegate_ responseBody] containsString:@"CFNetwork"]); 316 EXPECT_TRUE([[delegate_ responseBody] containsString:@"CFNetwork"]);
296 } 317 }
297 318
298 } // namespace cronet 319 } // namespace cronet
OLDNEW
« components/cronet/ios/cronet_environment.mm ('K') | « components/cronet/ios/cronet_environment.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698