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

Side by Side Diff: net/cookies/cookie_store_unittest.h

Issue 11339032: Account for server vs host clock skew in cookie expiration times. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Disable test on Android as there's no test server Created 8 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « net/cookies/cookie_options.h ('k') | net/url_request/url_request_http_job.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef NET_COOKIES_COOKIE_STORE_UNITTEST_H_ 5 #ifndef NET_COOKIES_COOKIE_STORE_UNITTEST_H_
6 #define NET_COOKIES_COOKIE_STORE_UNITTEST_H_ 6 #define NET_COOKIES_COOKIE_STORE_UNITTEST_H_
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/string_tokenizer.h" 10 #include "base/string_tokenizer.h"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 DCHECK(cs); 140 DCHECK(cs);
141 SetCookieCallback callback; 141 SetCookieCallback callback;
142 cs->SetCookieWithOptionsAsync( 142 cs->SetCookieWithOptionsAsync(
143 url, cookie_line, options, 143 url, cookie_line, options,
144 base::Bind(&SetCookieCallback::Run, base::Unretained(&callback))); 144 base::Bind(&SetCookieCallback::Run, base::Unretained(&callback)));
145 RunFor(kTimeout); 145 RunFor(kTimeout);
146 EXPECT_TRUE(callback.did_run()); 146 EXPECT_TRUE(callback.did_run());
147 return callback.result(); 147 return callback.result();
148 } 148 }
149 149
150 bool SetCookieWithServerTime(CookieStore* cs,
151 const GURL& url,
152 const std::string& cookie_line,
153 const base::Time& server_time) {
154 CookieOptions options;
155 if (!CookieStoreTestTraits::supports_http_only)
156 options.set_include_httponly();
157 options.set_server_time(server_time);
158 return SetCookieWithOptions(cs, url, cookie_line, options);
159 }
160
150 bool SetCookie(CookieStore* cs, 161 bool SetCookie(CookieStore* cs,
151 const GURL& url, 162 const GURL& url,
152 const std::string& cookie_line) { 163 const std::string& cookie_line) {
153 CookieOptions options; 164 CookieOptions options;
154 if (!CookieStoreTestTraits::supports_http_only) 165 if (!CookieStoreTestTraits::supports_http_only)
155 options.set_include_httponly(); 166 options.set_include_httponly();
156 return SetCookieWithOptions(cs, url, cookie_line, options); 167 return SetCookieWithOptions(cs, url, cookie_line, options);
157 } 168 }
158 169
159 void DeleteCookie(CookieStore* cs, 170 void DeleteCookie(CookieStore* cs,
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after
695 EXPECT_TRUE(this->SetCookie(cs, this->url_google_, 706 EXPECT_TRUE(this->SetCookie(cs, this->url_google_,
696 std::string(kValidCookieLine) + 707 std::string(kValidCookieLine) +
697 "; expires=Mon, 18-Apr-1977 22:50:13 GMT")); 708 "; expires=Mon, 18-Apr-1977 22:50:13 GMT"));
698 this->MatchCookieLines("", this->GetCookies(cs, this->url_google_)); 709 this->MatchCookieLines("", this->GetCookies(cs, this->url_google_));
699 710
700 // Create a persistent cookie. 711 // Create a persistent cookie.
701 EXPECT_TRUE(this->SetCookie(cs, this->url_google_, 712 EXPECT_TRUE(this->SetCookie(cs, this->url_google_,
702 std::string(kValidCookieLine) + 713 std::string(kValidCookieLine) +
703 "; expires=Mon, 18-Apr-22 22:50:13 GMT")); 714 "; expires=Mon, 18-Apr-22 22:50:13 GMT"));
704 this->MatchCookieLines("A=B", this->GetCookies(cs, this->url_google_)); 715 this->MatchCookieLines("A=B", this->GetCookies(cs, this->url_google_));
716 // Check that it is not deleted with significant enough clock skew.
717 base::Time server_time;
718 EXPECT_TRUE(base::Time::FromString("Sun, 17-Apr-1977 22:50:13 GMT",
719 &server_time));
720 EXPECT_TRUE(this->SetCookieWithServerTime(
721 cs, this->url_google_,
722 std::string(kValidCookieLine) +
723 "; expires=Mon, 18-Apr-1977 22:50:13 GMT",
724 server_time));
725 this->MatchCookieLines("A=B", this->GetCookies(cs, this->url_google_));
726
727 // Create a persistent cookie.
728 EXPECT_TRUE(this->SetCookie(cs, this->url_google_,
729 std::string(kValidCookieLine) +
730 "; expires=Mon, 18-Apr-22 22:50:13 GMT"));
731 this->MatchCookieLines("A=B", this->GetCookies(cs, this->url_google_));
705 // Delete it via Expires, with a unix epoch of 0. 732 // Delete it via Expires, with a unix epoch of 0.
706 EXPECT_TRUE(this->SetCookie(cs, this->url_google_, 733 EXPECT_TRUE(this->SetCookie(cs, this->url_google_,
707 std::string(kValidCookieLine) + 734 std::string(kValidCookieLine) +
708 "; expires=Thu, 1-Jan-1970 00:00:00 GMT")); 735 "; expires=Thu, 1-Jan-1970 00:00:00 GMT"));
709 this->MatchCookieLines("", this->GetCookies(cs, this->url_google_)); 736 this->MatchCookieLines("", this->GetCookies(cs, this->url_google_));
710 } 737 }
711 738
712 TYPED_TEST_P(CookieStoreTest, TestDeleteAllCreatedBetween) { 739 TYPED_TEST_P(CookieStoreTest, TestDeleteAllCreatedBetween) {
713 scoped_refptr<CookieStore> cs(this->GetCookieStore()); 740 scoped_refptr<CookieStore> cs(this->GetCookieStore());
714 const base::Time last_month = base::Time::Now() - 741 const base::Time last_month = base::Time::Now() -
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 } 1110 }
1084 1111
1085 REGISTER_TYPED_TEST_CASE_P(MultiThreadedCookieStoreTest, 1112 REGISTER_TYPED_TEST_CASE_P(MultiThreadedCookieStoreTest,
1086 ThreadCheckGetCookies, ThreadCheckGetCookiesWithOptions, 1113 ThreadCheckGetCookies, ThreadCheckGetCookiesWithOptions,
1087 ThreadCheckGetCookiesWithInfo, ThreadCheckSetCookieWithOptions, 1114 ThreadCheckGetCookiesWithInfo, ThreadCheckSetCookieWithOptions,
1088 ThreadCheckDeleteCookie, ThreadCheckDeleteSessionCookies); 1115 ThreadCheckDeleteCookie, ThreadCheckDeleteSessionCookies);
1089 1116
1090 } // namespace net 1117 } // namespace net
1091 1118
1092 #endif // NET_COOKIES_COOKIE_STORE_UNITTEST_H_ 1119 #endif // NET_COOKIES_COOKIE_STORE_UNITTEST_H_
OLDNEW
« no previous file with comments | « net/cookies/cookie_options.h ('k') | net/url_request/url_request_http_job.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698