xref: /aosp_15_r20/external/cronet/net/cookies/static_cookie_policy_unittest.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2011 The Chromium Authors
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/cookies/static_cookie_policy.h"
6 #include "net/base/net_errors.h"
7 #include "net/cookies/site_for_cookies.h"
8 #include "net/test/gtest_util.h"
9 #include "testing/gmock/include/gmock/gmock.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "url/gurl.h"
12 
13 using net::test::IsOk;
14 
15 namespace net {
16 
17 class StaticCookiePolicyTest : public testing::Test {
18  public:
StaticCookiePolicyTest()19   StaticCookiePolicyTest()
20       : url_google_("http://www.google.izzle"),
21         url_google_secure_("https://www.google.izzle"),
22         url_google_mail_("http://mail.google.izzle"),
23         url_google_analytics_("http://www.googleanalytics.izzle") {}
SetPolicyType(StaticCookiePolicy::Type type)24   void SetPolicyType(StaticCookiePolicy::Type type) { policy_.set_type(type); }
CanAccessCookies(const GURL & url,const GURL & first_party)25   int CanAccessCookies(const GURL& url, const GURL& first_party) {
26     return policy_.CanAccessCookies(url,
27                                     net::SiteForCookies::FromUrl(first_party));
28   }
29 
30  protected:
31   StaticCookiePolicy policy_;
32   GURL url_google_;
33   GURL url_google_secure_;
34   GURL url_google_mail_;
35   GURL url_google_analytics_;
36 };
37 
TEST_F(StaticCookiePolicyTest,DefaultPolicyTest)38 TEST_F(StaticCookiePolicyTest, DefaultPolicyTest) {
39   EXPECT_THAT(CanAccessCookies(url_google_, url_google_), IsOk());
40   EXPECT_THAT(CanAccessCookies(url_google_, url_google_secure_), IsOk());
41   EXPECT_THAT(CanAccessCookies(url_google_, url_google_mail_), IsOk());
42   EXPECT_THAT(CanAccessCookies(url_google_, url_google_analytics_), IsOk());
43   EXPECT_THAT(CanAccessCookies(url_google_, GURL()), IsOk());
44 }
45 
TEST_F(StaticCookiePolicyTest,AllowAllCookiesTest)46 TEST_F(StaticCookiePolicyTest, AllowAllCookiesTest) {
47   SetPolicyType(StaticCookiePolicy::ALLOW_ALL_COOKIES);
48 
49   EXPECT_THAT(CanAccessCookies(url_google_, url_google_), IsOk());
50   EXPECT_THAT(CanAccessCookies(url_google_, url_google_secure_), IsOk());
51   EXPECT_THAT(CanAccessCookies(url_google_, url_google_mail_), IsOk());
52   EXPECT_THAT(CanAccessCookies(url_google_, url_google_analytics_), IsOk());
53   EXPECT_THAT(CanAccessCookies(url_google_, GURL()), IsOk());
54 }
55 
TEST_F(StaticCookiePolicyTest,BlockAllThirdPartyCookiesTest)56 TEST_F(StaticCookiePolicyTest, BlockAllThirdPartyCookiesTest) {
57   SetPolicyType(StaticCookiePolicy::BLOCK_ALL_THIRD_PARTY_COOKIES);
58 
59   EXPECT_THAT(CanAccessCookies(url_google_, url_google_), IsOk());
60   EXPECT_THAT(CanAccessCookies(url_google_, url_google_mail_), IsOk());
61   EXPECT_NE(OK, CanAccessCookies(url_google_, url_google_secure_));
62   EXPECT_NE(OK, CanAccessCookies(url_google_secure_, url_google_));
63   EXPECT_NE(OK, CanAccessCookies(url_google_, url_google_analytics_));
64   EXPECT_NE(OK, CanAccessCookies(url_google_, GURL()));
65 }
66 
TEST_F(StaticCookiePolicyTest,BlockAllCookiesTest)67 TEST_F(StaticCookiePolicyTest, BlockAllCookiesTest) {
68   SetPolicyType(StaticCookiePolicy::BLOCK_ALL_COOKIES);
69 
70   EXPECT_NE(OK, CanAccessCookies(url_google_, url_google_));
71   EXPECT_NE(OK, CanAccessCookies(url_google_, url_google_secure_));
72   EXPECT_NE(OK, CanAccessCookies(url_google_, url_google_mail_));
73   EXPECT_NE(OK, CanAccessCookies(url_google_, url_google_analytics_));
74   EXPECT_NE(OK, CanAccessCookies(url_google_, GURL()));
75 }
76 
77 }  // namespace net
78