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

Unified Diff: components/cronet/ios/test/cronet_http_test.mm

Issue 2617853002: [Cronet] Use CookieStoreIOS to sync cookies to system store. (Closed)
Patch Set: Address Andrei's comments. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/cronet/ios/cronet_environment.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/cronet/ios/test/cronet_http_test.mm
diff --git a/components/cronet/ios/test/cronet_http_test.mm b/components/cronet/ios/test/cronet_http_test.mm
index 21d0419e6c3ef5ffec62cc19b248071bc4d45db5..e1b1e723037b8b80b1fdf72b94b055ba14bc1c03 100644
--- a/components/cronet/ios/test/cronet_http_test.mm
+++ b/components/cronet/ios/test/cronet_http_test.mm
@@ -257,24 +257,69 @@ TEST_F(HttpTest, SetUserAgentIsExact) {
TEST_F(HttpTest, SetCookie) {
const char kCookieHeader[] = "Cookie";
- const char kCookieLine[] = "aaaa=bbb";
- NSURL* echoCookieUrl =
+ NSString* cookieName =
+ [NSString stringWithFormat:@"SetCookie-%@", [[NSUUID UUID] UUIDString]];
+ NSString* cookieValue = [[NSUUID UUID] UUIDString];
+ NSString* cookieLine =
+ [NSString stringWithFormat:@"%@=%@", cookieName, cookieValue];
+ NSHTTPCookieStorage* systemCookieStorage =
+ [NSHTTPCookieStorage sharedHTTPCookieStorage];
+ NSURL* cookieUrl =
net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL(kCookieHeader)));
- StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]);
+ // Verify that cookie is not set in system storage.
+ for (NSHTTPCookie* cookie in [systemCookieStorage cookiesForURL:cookieUrl]) {
+ EXPECT_FALSE([[cookie name] isEqualToString:cookieName]);
+ }
+
+ StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:cookieUrl]);
EXPECT_EQ(nil, [delegate_ error]);
EXPECT_EQ(nil, [delegate_ responseBody]);
- NSURL* setCookieUrl =
- net::NSURLWithGURL(GURL(TestServer::GetSetCookieURL(kCookieLine)));
+ NSURL* setCookieUrl = net::NSURLWithGURL(
+ GURL(TestServer::GetSetCookieURL(base::SysNSStringToUTF8(cookieLine))));
StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:setCookieUrl]);
EXPECT_EQ(nil, [delegate_ error]);
- EXPECT_TRUE([[delegate_ responseBody]
- containsString:base::SysUTF8ToNSString(kCookieLine)]);
+ EXPECT_TRUE([[delegate_ responseBody] containsString:cookieLine]);
+
+ StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:cookieUrl]);
+ EXPECT_EQ(nil, [delegate_ error]);
+ EXPECT_TRUE([[delegate_ responseBody] containsString:cookieLine]);
+
+ // Verify that cookie is set in system storage.
+ NSHTTPCookie* systemCookie = nil;
+ for (NSHTTPCookie* cookie in [systemCookieStorage cookiesForURL:cookieUrl]) {
+ if ([cookie.name isEqualToString:cookieName]) {
+ systemCookie = cookie;
+ break;
+ }
+ }
+ EXPECT_TRUE([[systemCookie value] isEqualToString:cookieValue]);
+ [systemCookieStorage deleteCookie:systemCookie];
+}
+
+TEST_F(HttpTest, SetSystemCookie) {
+ const char kCookieHeader[] = "Cookie";
+ NSString* cookieName = [NSString
+ stringWithFormat:@"SetSystemCookie-%@", [[NSUUID UUID] UUIDString]];
+ NSString* cookieValue = [[NSUUID UUID] UUIDString];
+ NSHTTPCookieStorage* systemCookieStorage =
+ [NSHTTPCookieStorage sharedHTTPCookieStorage];
+ NSURL* echoCookieUrl =
+ net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL(kCookieHeader)));
+ NSHTTPCookie* systemCookie = [NSHTTPCookie cookieWithProperties:@{
+ NSHTTPCookiePath : [echoCookieUrl path],
+ NSHTTPCookieName : cookieName,
+ NSHTTPCookieValue : cookieValue,
+ NSHTTPCookieDomain : [echoCookieUrl host],
+ }];
+ [systemCookieStorage setCookie:systemCookie];
StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]);
+ [systemCookieStorage deleteCookie:systemCookie];
EXPECT_EQ(nil, [delegate_ error]);
- EXPECT_TRUE([[delegate_ responseBody]
- containsString:base::SysUTF8ToNSString(kCookieLine)]);
+ // Verify that cookie set in system store was sent to the serever.
+ EXPECT_TRUE([[delegate_ responseBody] containsString:cookieName]);
+ EXPECT_TRUE([[delegate_ responseBody] containsString:cookieValue]);
}
TEST_F(HttpTest, FilterOutRequest) {
« no previous file with comments | « components/cronet/ios/cronet_environment.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698