static_cookie_policy_unittest.cc revision 72a454cd3513ac24fbdd0e0cb9ad70b86a99b801
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 3// found in the LICENSE file. 4 5#include "net/base/net_errors.h" 6#include "net/base/static_cookie_policy.h" 7#include "testing/gtest/include/gtest/gtest.h" 8#include "googleurl/src/gurl.h" 9 10class StaticCookiePolicyTest : public testing::Test { 11 public: 12 StaticCookiePolicyTest() 13 : url_google_("http://www.google.izzle"), 14 url_google_secure_("https://www.google.izzle"), 15 url_google_mail_("http://mail.google.izzle"), 16 url_google_analytics_("http://www.googleanalytics.izzle") { 17 } 18 void SetPolicyType(net::StaticCookiePolicy::Type type) { 19 policy_.set_type(type); 20 } 21 int CanGetCookies(const GURL& url, const GURL& first_party) { 22 return policy_.CanGetCookies(url, first_party, NULL); 23 } 24 int CanSetCookie(const GURL& url, const GURL& first_party) { 25 return policy_.CanSetCookie(url, first_party, std::string(), NULL); 26 } 27 protected: 28 net::StaticCookiePolicy policy_; 29 GURL url_google_; 30 GURL url_google_secure_; 31 GURL url_google_mail_; 32 GURL url_google_analytics_; 33}; 34 35TEST_F(StaticCookiePolicyTest, DefaultPolicyTest) { 36 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_)); 37 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_secure_)); 38 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_mail_)); 39 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_analytics_)); 40 EXPECT_EQ(net::OK, CanGetCookies(url_google_, GURL())); 41 42 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_)); 43 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_secure_)); 44 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_mail_)); 45 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_analytics_)); 46 EXPECT_EQ(net::OK, CanSetCookie(url_google_, GURL())); 47} 48 49TEST_F(StaticCookiePolicyTest, AllowAllCookiesTest) { 50 SetPolicyType(net::StaticCookiePolicy::ALLOW_ALL_COOKIES); 51 52 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_)); 53 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_secure_)); 54 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_mail_)); 55 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_analytics_)); 56 EXPECT_EQ(net::OK, CanGetCookies(url_google_, GURL())); 57 58 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_)); 59 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_secure_)); 60 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_mail_)); 61 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_analytics_)); 62 EXPECT_EQ(net::OK, CanSetCookie(url_google_, GURL())); 63} 64 65TEST_F(StaticCookiePolicyTest, BlockSettingThirdPartyCookiesTest) { 66 SetPolicyType(net::StaticCookiePolicy::BLOCK_SETTING_THIRD_PARTY_COOKIES); 67 68 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_)); 69 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_secure_)); 70 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_mail_)); 71 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_analytics_)); 72 EXPECT_EQ(net::OK, CanGetCookies(url_google_, GURL())); 73 74 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_)); 75 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_secure_)); 76 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_mail_)); 77 EXPECT_NE(net::OK, CanSetCookie(url_google_, url_google_analytics_)); 78 EXPECT_EQ(net::OK, CanSetCookie(url_google_, GURL())); 79} 80 81TEST_F(StaticCookiePolicyTest, BlockAllThirdPartyCookiesTest) { 82 SetPolicyType(net::StaticCookiePolicy::BLOCK_ALL_THIRD_PARTY_COOKIES); 83 84 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_)); 85 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_secure_)); 86 EXPECT_EQ(net::OK, CanGetCookies(url_google_, url_google_mail_)); 87 EXPECT_NE(net::OK, CanGetCookies(url_google_, url_google_analytics_)); 88 EXPECT_EQ(net::OK, CanGetCookies(url_google_, GURL())); 89 90 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_)); 91 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_secure_)); 92 EXPECT_EQ(net::OK, CanSetCookie(url_google_, url_google_mail_)); 93 EXPECT_NE(net::OK, CanSetCookie(url_google_, url_google_analytics_)); 94 EXPECT_EQ(net::OK, CanSetCookie(url_google_, GURL())); 95} 96 97TEST_F(StaticCookiePolicyTest, BlockAllCookiesTest) { 98 SetPolicyType(net::StaticCookiePolicy::BLOCK_ALL_COOKIES); 99 100 EXPECT_NE(net::OK, CanGetCookies(url_google_, url_google_)); 101 EXPECT_NE(net::OK, CanGetCookies(url_google_, url_google_secure_)); 102 EXPECT_NE(net::OK, CanGetCookies(url_google_, url_google_mail_)); 103 EXPECT_NE(net::OK, CanGetCookies(url_google_, url_google_analytics_)); 104 EXPECT_NE(net::OK, CanGetCookies(url_google_, GURL())); 105 106 EXPECT_NE(net::OK, CanSetCookie(url_google_, url_google_)); 107 EXPECT_NE(net::OK, CanSetCookie(url_google_, url_google_secure_)); 108 EXPECT_NE(net::OK, CanSetCookie(url_google_, url_google_mail_)); 109 EXPECT_NE(net::OK, CanSetCookie(url_google_, url_google_analytics_)); 110 EXPECT_NE(net::OK, CanSetCookie(url_google_, GURL())); 111} 112