static_cookie_policy_unittest.cc 3.0 KB

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