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

Side by Side Diff: net/base/cookie_monster_unittest.cc

Issue 6804032: Add TLS-SRP (RFC 5054) support Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: use system srp and mpi libs, not local copies Created 9 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include <time.h> 5 #include <time.h>
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 19 matching lines...) Expand all
30 class CookieMonsterTest : public testing::Test { }; 30 class CookieMonsterTest : public testing::Test { };
31 31
32 // Helper for DeleteAllForHost test; repopulates CM with same layout 32 // Helper for DeleteAllForHost test; repopulates CM with same layout
33 // each time. 33 // each time.
34 const char* kTopLevelDomainPlus1 = "http://www.harvard.edu"; 34 const char* kTopLevelDomainPlus1 = "http://www.harvard.edu";
35 const char* kTopLevelDomainPlus2 = "http://www.math.harvard.edu"; 35 const char* kTopLevelDomainPlus2 = "http://www.math.harvard.edu";
36 const char* kTopLevelDomainPlus2Secure = "https://www.math.harvard.edu"; 36 const char* kTopLevelDomainPlus2Secure = "https://www.math.harvard.edu";
37 const char* kTopLevelDomainPlus3 = 37 const char* kTopLevelDomainPlus3 =
38 "http://www.bourbaki.math.harvard.edu"; 38 "http://www.bourbaki.math.harvard.edu";
39 const char* kOtherDomain = "http://www.mit.edu"; 39 const char* kOtherDomain = "http://www.mit.edu";
40 const char* kHTTPSVDomain = "httpsv://stanford.edu";
40 41
41 void PopulateCmForDeleteAllForHost(scoped_refptr<net::CookieMonster> cm) { 42 void PopulateCmForDeleteAllForHost(scoped_refptr<net::CookieMonster> cm) {
42 GURL url_top_level_domain_plus_1(kTopLevelDomainPlus1); 43 GURL url_top_level_domain_plus_1(kTopLevelDomainPlus1);
43 GURL url_top_level_domain_plus_2(kTopLevelDomainPlus2); 44 GURL url_top_level_domain_plus_2(kTopLevelDomainPlus2);
44 GURL url_top_level_domain_plus_2_secure(kTopLevelDomainPlus2Secure); 45 GURL url_top_level_domain_plus_2_secure(kTopLevelDomainPlus2Secure);
45 GURL url_top_level_domain_plus_3(kTopLevelDomainPlus3); 46 GURL url_top_level_domain_plus_3(kTopLevelDomainPlus3);
46 GURL url_other(kOtherDomain); 47 GURL url_other(kOtherDomain);
48 GURL url_httpsv(kHTTPSVDomain);
47 49
48 cm->DeleteAll(true); 50 cm->DeleteAll(true);
49 51
50 // Static population for probe: 52 // Static population for probe:
51 // * Three levels of domain cookie (.b.a, .c.b.a, .d.c.b.a) 53 // * Three levels of domain cookie (.b.a, .c.b.a, .d.c.b.a)
52 // * Three levels of host cookie (w.b.a, w.c.b.a, w.d.c.b.a) 54 // * Three levels of host cookie (w.b.a, w.c.b.a, w.d.c.b.a)
53 // * http_only cookie (w.c.b.a) 55 // * http_only cookie (w.c.b.a)
54 // * Two secure cookies (.c.b.a, w.c.b.a) 56 // * Two secure cookies (.c.b.a, w.c.b.a)
55 // * Two domain path cookies (.c.b.a/dir1, .c.b.a/dir1/dir2) 57 // * Two domain path cookies (.c.b.a/dir1, .c.b.a/dir1/dir2)
56 // * Two host path cookies (w.c.b.a/dir1, w.c.b.a/dir1/dir2) 58 // * Two host path cookies (w.c.b.a/dir1, w.c.b.a/dir1/dir2)
(...skipping 26 matching lines...) Expand all
83 "httpo_check", "X", "", "/", 85 "httpo_check", "X", "", "/",
84 base::Time(), false, true)); 86 base::Time(), false, true));
85 87
86 // Secure cookies 88 // Secure cookies
87 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2_secure, 89 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2_secure,
88 "sec_dom", "X", ".math.harvard.edu", 90 "sec_dom", "X", ".math.harvard.edu",
89 "/", base::Time(), true, false)); 91 "/", base::Time(), true, false));
90 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2_secure, 92 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2_secure,
91 "sec_host", "X", "", "/", 93 "sec_host", "X", "", "/",
92 base::Time(), true, false)); 94 base::Time(), true, false));
95 EXPECT_TRUE(cm->SetCookieWithDetails(url_httpsv,
96 "httpsv_host", "X", "", "/",
97 base::Time(), true, false));
93 98
94 // Domain path cookies 99 // Domain path cookies
95 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2, 100 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2,
96 "dom_path_1", "X", 101 "dom_path_1", "X",
97 ".math.harvard.edu", "/dir1", 102 ".math.harvard.edu", "/dir1",
98 base::Time(), false, false)); 103 base::Time(), false, false));
99 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2, 104 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2,
100 "dom_path_2", "X", 105 "dom_path_2", "X",
101 ".math.harvard.edu", "/dir1/dir2", 106 ".math.harvard.edu", "/dir1/dir2",
102 base::Time(), false, false)); 107 base::Time(), false, false));
103 108
104 // Host path cookies 109 // Host path cookies
105 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2, 110 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2,
106 "host_path_1", "X", 111 "host_path_1", "X",
107 "", "/dir1", 112 "", "/dir1",
108 base::Time(), false, false)); 113 base::Time(), false, false));
109 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2, 114 EXPECT_TRUE(cm->SetCookieWithDetails(url_top_level_domain_plus_2,
110 "host_path_2", "X", 115 "host_path_2", "X",
111 "", "/dir1/dir2", 116 "", "/dir1/dir2",
112 base::Time(), false, false)); 117 base::Time(), false, false));
113 118
114 EXPECT_EQ(13U, cm->GetAllCookies().size()); 119 EXPECT_EQ(14U, cm->GetAllCookies().size());
115 } 120 }
116 121
117 } // namespace 122 } // namespace
118 123
119 TEST(ParsedCookieTest, TestBasic) { 124 TEST(ParsedCookieTest, TestBasic) {
120 net::CookieMonster::ParsedCookie pc("a=b"); 125 net::CookieMonster::ParsedCookie pc("a=b");
121 EXPECT_TRUE(pc.IsValid()); 126 EXPECT_TRUE(pc.IsValid());
122 EXPECT_FALSE(pc.IsSecure()); 127 EXPECT_FALSE(pc.IsSecure());
123 EXPECT_EQ("a", pc.Name()); 128 EXPECT_EQ("a", pc.Name());
124 EXPECT_EQ("b", pc.Value()); 129 EXPECT_EQ("b", pc.Value());
(...skipping 1559 matching lines...) Expand 10 before | Expand all | Expand 10 after
1684 cm->GetCookies(GURL(kTopLevelDomainPlus3))); 1689 cm->GetCookies(GURL(kTopLevelDomainPlus3)));
1685 EXPECT_EQ("dom_1=X; dom_2=X; host_2=X; sec_dom=X; sec_host=X", 1690 EXPECT_EQ("dom_1=X; dom_2=X; host_2=X; sec_dom=X; sec_host=X",
1686 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure))); 1691 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure)));
1687 EXPECT_EQ("dom_1=X; host_1=X", cm->GetCookies(GURL(kTopLevelDomainPlus1))); 1692 EXPECT_EQ("dom_1=X; host_1=X", cm->GetCookies(GURL(kTopLevelDomainPlus1)));
1688 EXPECT_EQ("dom_path_2=X; host_path_2=X; dom_path_1=X; host_path_1=X; " 1693 EXPECT_EQ("dom_path_2=X; host_path_2=X; dom_path_1=X; host_path_1=X; "
1689 "dom_1=X; dom_2=X; host_2=X; sec_dom=X; sec_host=X", 1694 "dom_1=X; dom_2=X; host_2=X; sec_dom=X; sec_host=X",
1690 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure + 1695 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure +
1691 std::string("/dir1/dir2/xxx")))); 1696 std::string("/dir1/dir2/xxx"))));
1692 1697
1693 EXPECT_EQ(5, cm->DeleteAllForHost(GURL(kTopLevelDomainPlus2))); 1698 EXPECT_EQ(5, cm->DeleteAllForHost(GURL(kTopLevelDomainPlus2)));
1694 EXPECT_EQ(8U, cm->GetAllCookies().size()); 1699 EXPECT_EQ(9U, cm->GetAllCookies().size());
1695 1700
1696 EXPECT_EQ("dom_1=X; dom_2=X; dom_3=X; host_3=X", 1701 EXPECT_EQ("dom_1=X; dom_2=X; dom_3=X; host_3=X",
1697 cm->GetCookies(GURL(kTopLevelDomainPlus3))); 1702 cm->GetCookies(GURL(kTopLevelDomainPlus3)));
1698 EXPECT_EQ("dom_1=X; dom_2=X; sec_dom=X", 1703 EXPECT_EQ("dom_1=X; dom_2=X; sec_dom=X",
1699 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure))); 1704 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure)));
1700 EXPECT_EQ("dom_1=X; host_1=X", cm->GetCookies(GURL(kTopLevelDomainPlus1))); 1705 EXPECT_EQ("dom_1=X; host_1=X", cm->GetCookies(GURL(kTopLevelDomainPlus1)));
1701 EXPECT_EQ("dom_path_2=X; dom_path_1=X; dom_1=X; dom_2=X; sec_dom=X", 1706 EXPECT_EQ("dom_path_2=X; dom_path_1=X; dom_1=X; dom_2=X; sec_dom=X",
1702 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure + 1707 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure +
1703 std::string("/dir1/dir2/xxx")))); 1708 std::string("/dir1/dir2/xxx"))));
1704 1709
1705 PopulateCmForDeleteAllForHost(cm); 1710 PopulateCmForDeleteAllForHost(cm);
1706 EXPECT_EQ(5, cm->DeleteAllForHost(GURL(kTopLevelDomainPlus2Secure))); 1711 EXPECT_EQ(5, cm->DeleteAllForHost(GURL(kTopLevelDomainPlus2Secure)));
1707 EXPECT_EQ(8U, cm->GetAllCookies().size()); 1712 EXPECT_EQ(9U, cm->GetAllCookies().size());
1708 1713
1709 EXPECT_EQ("dom_1=X; dom_2=X; dom_3=X; host_3=X", 1714 EXPECT_EQ("dom_1=X; dom_2=X; dom_3=X; host_3=X",
1710 cm->GetCookies(GURL(kTopLevelDomainPlus3))); 1715 cm->GetCookies(GURL(kTopLevelDomainPlus3)));
1711 EXPECT_EQ("dom_1=X; dom_2=X; sec_dom=X", 1716 EXPECT_EQ("dom_1=X; dom_2=X; sec_dom=X",
1712 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure))); 1717 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure)));
1713 EXPECT_EQ("dom_1=X; host_1=X", cm->GetCookies(GURL(kTopLevelDomainPlus1))); 1718 EXPECT_EQ("dom_1=X; host_1=X", cm->GetCookies(GURL(kTopLevelDomainPlus1)));
1714 EXPECT_EQ("dom_path_2=X; dom_path_1=X; dom_1=X; dom_2=X; sec_dom=X", 1719 EXPECT_EQ("dom_path_2=X; dom_path_1=X; dom_1=X; dom_2=X; sec_dom=X",
1715 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure + 1720 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure +
1716 std::string("/dir1/dir2/xxx")))); 1721 std::string("/dir1/dir2/xxx"))));
1717 1722
1718 PopulateCmForDeleteAllForHost(cm); 1723 PopulateCmForDeleteAllForHost(cm);
1719 EXPECT_EQ(5, cm->DeleteAllForHost(GURL(kTopLevelDomainPlus2Secure + 1724 EXPECT_EQ(5, cm->DeleteAllForHost(GURL(kTopLevelDomainPlus2Secure +
1720 std::string("/dir1/xxx")))); 1725 std::string("/dir1/xxx"))));
1721 EXPECT_EQ(8U, cm->GetAllCookies().size()); 1726 EXPECT_EQ(9U, cm->GetAllCookies().size());
1722 1727
1723 EXPECT_EQ("dom_1=X; dom_2=X; dom_3=X; host_3=X", 1728 EXPECT_EQ("dom_1=X; dom_2=X; dom_3=X; host_3=X",
1724 cm->GetCookies(GURL(kTopLevelDomainPlus3))); 1729 cm->GetCookies(GURL(kTopLevelDomainPlus3)));
1725 EXPECT_EQ("dom_1=X; dom_2=X; sec_dom=X", 1730 EXPECT_EQ("dom_1=X; dom_2=X; sec_dom=X",
1726 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure))); 1731 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure)));
1727 EXPECT_EQ("dom_1=X; host_1=X", cm->GetCookies(GURL(kTopLevelDomainPlus1))); 1732 EXPECT_EQ("dom_1=X; host_1=X", cm->GetCookies(GURL(kTopLevelDomainPlus1)));
1728 EXPECT_EQ("dom_path_2=X; dom_path_1=X; dom_1=X; dom_2=X; sec_dom=X", 1733 EXPECT_EQ("dom_path_2=X; dom_path_1=X; dom_1=X; dom_2=X; sec_dom=X",
1729 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure + 1734 cm->GetCookies(GURL(kTopLevelDomainPlus2Secure +
1730 std::string("/dir1/dir2/xxx")))); 1735 std::string("/dir1/dir2/xxx"))));
1731 1736
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
2168 2173
2169 ASSERT_EQ(2, counter->callback_count()); 2174 ASSERT_EQ(2, counter->callback_count());
2170 2175
2171 cm->FlushStore(NewRunnableMethod(counter.get(), &CallbackCounter::Callback)); 2176 cm->FlushStore(NewRunnableMethod(counter.get(), &CallbackCounter::Callback));
2172 MessageLoop::current()->RunAllPending(); 2177 MessageLoop::current()->RunAllPending();
2173 2178
2174 ASSERT_EQ(3, counter->callback_count()); 2179 ASSERT_EQ(3, counter->callback_count());
2175 } 2180 }
2176 2181
2177 } // namespace 2182 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698