| 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) {
|
|
|