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

Side by Side Diff: chrome/browser/content_settings/content_settings_supervised_provider_unittest.cc

Issue 2628883008: Add a supervised user setting to allow all cookies. (Closed)
Patch Set: . Created 3 years, 11 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
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 "chrome/browser/content_settings/content_settings_supervised_provider.h " 5 #include "chrome/browser/content_settings/content_settings_supervised_provider.h "
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/ptr_util.h"
10 #include "chrome/browser/content_settings/content_settings_mock_observer.h" 11 #include "chrome/browser/content_settings/content_settings_mock_observer.h"
11 #include "chrome/browser/supervised_user/supervised_user_constants.h" 12 #include "chrome/browser/supervised_user/supervised_user_constants.h"
12 #include "chrome/browser/supervised_user/supervised_user_settings_service.h" 13 #include "chrome/browser/supervised_user/supervised_user_settings_service.h"
13 #include "components/content_settings/core/browser/content_settings_rule.h" 14 #include "components/content_settings/core/browser/content_settings_rule.h"
14 #include "components/content_settings/core/browser/content_settings_utils.h" 15 #include "components/content_settings/core/browser/content_settings_utils.h"
15 #include "components/prefs/testing_pref_store.h" 16 #include "components/prefs/testing_pref_store.h"
16 #include "testing/gtest/include/gtest/gtest.h" 17 #include "testing/gtest/include/gtest/gtest.h"
17 18
18 using ::testing::_; 19 using ::testing::_;
19 20
(...skipping 11 matching lines...) Expand all
31 scoped_refptr<TestingPrefStore> pref_store_; 32 scoped_refptr<TestingPrefStore> pref_store_;
32 std::unique_ptr<SupervisedProvider> provider_; 33 std::unique_ptr<SupervisedProvider> provider_;
33 content_settings::MockObserver mock_observer_; 34 content_settings::MockObserver mock_observer_;
34 }; 35 };
35 36
36 void SupervisedUserProviderTest::SetUp() { 37 void SupervisedUserProviderTest::SetUp() {
37 pref_store_ = new TestingPrefStore(); 38 pref_store_ = new TestingPrefStore();
38 pref_store_->NotifyInitializationCompleted(); 39 pref_store_->NotifyInitializationCompleted();
39 service_.Init(pref_store_); 40 service_.Init(pref_store_);
40 service_.SetActive(true); 41 service_.SetActive(true);
41 provider_.reset(new SupervisedProvider(&service_)); 42 provider_ = base::MakeUnique<SupervisedProvider>(&service_);
42 provider_->AddObserver(&mock_observer_); 43 provider_->AddObserver(&mock_observer_);
43 } 44 }
44 45
45 void SupervisedUserProviderTest::TearDown() { 46 void SupervisedUserProviderTest::TearDown() {
46 provider_->RemoveObserver(&mock_observer_); 47 provider_->RemoveObserver(&mock_observer_);
47 provider_->ShutdownOnUIThread(); 48 provider_->ShutdownOnUIThread();
48 service_.Shutdown(); 49 service_.Shutdown();
49 } 50 }
50 51
51 TEST_F(SupervisedUserProviderTest, GeolocationTest) { 52 TEST_F(SupervisedUserProviderTest, GeolocationTest) {
52 std::unique_ptr<RuleIterator> rule_iterator(provider_->GetRuleIterator( 53 std::unique_ptr<RuleIterator> rule_iterator = provider_->GetRuleIterator(
53 CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), false)); 54 CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), false);
54 EXPECT_FALSE(rule_iterator->HasNext()); 55 EXPECT_FALSE(rule_iterator);
55 rule_iterator.reset();
56 56
57 // Disable the default geolocation setting. 57 // Disable the default geolocation setting.
58 EXPECT_CALL(mock_observer_, OnContentSettingChanged( 58 EXPECT_CALL(mock_observer_,
59 _, _, CONTENT_SETTINGS_TYPE_GEOLOCATION, "")); 59 OnContentSettingChanged(_, _, CONTENT_SETTINGS_TYPE_GEOLOCATION,
60 service_.SetLocalSetting( 60 std::string()));
61 supervised_users::kGeolocationDisabled, 61 service_.SetLocalSetting(supervised_users::kGeolocationDisabled,
62 std::unique_ptr<base::Value>(new base::FundamentalValue(true))); 62 base::MakeUnique<base::FundamentalValue>(true));
63 63
64 rule_iterator = provider_->GetRuleIterator(CONTENT_SETTINGS_TYPE_GEOLOCATION, 64 rule_iterator = provider_->GetRuleIterator(CONTENT_SETTINGS_TYPE_GEOLOCATION,
65 std::string(), false); 65 std::string(), false);
66 ASSERT_TRUE(rule_iterator->HasNext()); 66 ASSERT_TRUE(rule_iterator->HasNext());
67 Rule rule = rule_iterator->Next(); 67 Rule rule = rule_iterator->Next();
68 EXPECT_FALSE(rule_iterator->HasNext()); 68 EXPECT_FALSE(rule_iterator->HasNext());
69 69
70 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.primary_pattern); 70 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.primary_pattern);
71 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.secondary_pattern); 71 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.secondary_pattern);
72 EXPECT_EQ(CONTENT_SETTING_BLOCK, ValueToContentSetting(rule.value.get())); 72 EXPECT_EQ(CONTENT_SETTING_BLOCK, ValueToContentSetting(rule.value.get()));
73 rule_iterator.reset();
74 73
75 // Re-enable the default geolocation setting. 74 // Re-enable the default geolocation setting.
76 EXPECT_CALL(mock_observer_, OnContentSettingChanged( 75 EXPECT_CALL(mock_observer_,
77 _, _, CONTENT_SETTINGS_TYPE_GEOLOCATION, "")); 76 OnContentSettingChanged(_, _, CONTENT_SETTINGS_TYPE_GEOLOCATION,
78 service_.SetLocalSetting( 77 std::string()));
79 supervised_users::kGeolocationDisabled, 78 service_.SetLocalSetting(supervised_users::kGeolocationDisabled,
80 std::unique_ptr<base::Value>(new base::FundamentalValue(false))); 79 base::MakeUnique<base::FundamentalValue>(false));
81 80
82 rule_iterator = provider_->GetRuleIterator(CONTENT_SETTINGS_TYPE_GEOLOCATION, 81 rule_iterator = provider_->GetRuleIterator(CONTENT_SETTINGS_TYPE_GEOLOCATION,
83 std::string(), false); 82 std::string(), false);
83 EXPECT_FALSE(rule_iterator);
84 }
85
86 TEST_F(SupervisedUserProviderTest, CookiesTest) {
87 std::unique_ptr<RuleIterator> rule_iterator = provider_->GetRuleIterator(
88 CONTENT_SETTINGS_TYPE_COOKIES, std::string(), false);
89 EXPECT_FALSE(rule_iterator);
90
91 // Allow cookies everywhere.
92 EXPECT_CALL(mock_observer_,
93 OnContentSettingChanged(_, _, CONTENT_SETTINGS_TYPE_COOKIES,
94 std::string()));
95 service_.SetLocalSetting(supervised_users::kCookiesAlwaysAllowed,
96 base::MakeUnique<base::FundamentalValue>(true));
97
98 rule_iterator = provider_->GetRuleIterator(CONTENT_SETTINGS_TYPE_COOKIES,
99 std::string(), false);
100 ASSERT_TRUE(rule_iterator->HasNext());
101 Rule rule = rule_iterator->Next();
84 EXPECT_FALSE(rule_iterator->HasNext()); 102 EXPECT_FALSE(rule_iterator->HasNext());
103
104 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.primary_pattern);
105 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.secondary_pattern);
106 EXPECT_EQ(CONTENT_SETTING_ALLOW, ValueToContentSetting(rule.value.get()));
107
108 // Re-enable the default cookie setting.
109 EXPECT_CALL(mock_observer_,
110 OnContentSettingChanged(_, _, CONTENT_SETTINGS_TYPE_COOKIES,
111 std::string()));
112 service_.SetLocalSetting(supervised_users::kCookiesAlwaysAllowed,
113 base::MakeUnique<base::FundamentalValue>(false));
114
115 rule_iterator = provider_->GetRuleIterator(CONTENT_SETTINGS_TYPE_COOKIES,
116 std::string(), false);
117 EXPECT_FALSE(rule_iterator);
85 } 118 }
86 119
87 TEST_F(SupervisedUserProviderTest, CameraMicTest) { 120 TEST_F(SupervisedUserProviderTest, CameraMicTest) {
88 std::unique_ptr<RuleIterator> rule_iterator(provider_->GetRuleIterator( 121 std::unique_ptr<RuleIterator> rule_iterator = provider_->GetRuleIterator(
89 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, std::string(), false)); 122 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, std::string(), false);
90 EXPECT_FALSE(rule_iterator->HasNext()); 123 EXPECT_FALSE(rule_iterator);
91 rule_iterator.reset();
92 rule_iterator = provider_->GetRuleIterator( 124 rule_iterator = provider_->GetRuleIterator(
93 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, std::string(), false); 125 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, std::string(), false);
94 EXPECT_FALSE(rule_iterator->HasNext()); 126 EXPECT_FALSE(rule_iterator);
95 rule_iterator.reset();
96 127
97 // Disable the default camera and microphone setting. 128 // Disable the default camera and microphone setting.
129 EXPECT_CALL(
130 mock_observer_,
131 OnContentSettingChanged(_, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
132 std::string()));
98 EXPECT_CALL(mock_observer_, 133 EXPECT_CALL(mock_observer_,
99 OnContentSettingChanged( 134 OnContentSettingChanged(
100 _, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, "")); 135 _, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, std::string()));
101 EXPECT_CALL( 136 service_.SetLocalSetting(supervised_users::kCameraMicDisabled,
102 mock_observer_, 137 base::MakeUnique<base::FundamentalValue>(true));
103 OnContentSettingChanged(_, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, ""));
104 service_.SetLocalSetting(
105 supervised_users::kCameraMicDisabled,
106 std::unique_ptr<base::Value>(new base::FundamentalValue(true)));
107 138
108 rule_iterator = provider_->GetRuleIterator( 139 rule_iterator = provider_->GetRuleIterator(
109 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, std::string(), false); 140 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, std::string(), false);
110 ASSERT_TRUE(rule_iterator->HasNext()); 141 ASSERT_TRUE(rule_iterator->HasNext());
111 Rule rule = rule_iterator->Next(); 142 Rule rule = rule_iterator->Next();
112 EXPECT_FALSE(rule_iterator->HasNext()); 143 EXPECT_FALSE(rule_iterator->HasNext());
113 144
114 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.primary_pattern); 145 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.primary_pattern);
115 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.secondary_pattern); 146 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.secondary_pattern);
116 EXPECT_EQ(CONTENT_SETTING_BLOCK, ValueToContentSetting(rule.value.get())); 147 EXPECT_EQ(CONTENT_SETTING_BLOCK, ValueToContentSetting(rule.value.get()));
117 rule_iterator.reset();
118 148
119 rule_iterator = provider_->GetRuleIterator( 149 rule_iterator = provider_->GetRuleIterator(
120 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, std::string(), false); 150 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, std::string(), false);
121 ASSERT_TRUE(rule_iterator->HasNext()); 151 ASSERT_TRUE(rule_iterator->HasNext());
122 rule = rule_iterator->Next(); 152 rule = rule_iterator->Next();
123 EXPECT_FALSE(rule_iterator->HasNext()); 153 EXPECT_FALSE(rule_iterator->HasNext());
124 154
125 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.primary_pattern); 155 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.primary_pattern);
126 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.secondary_pattern); 156 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.secondary_pattern);
127 EXPECT_EQ(CONTENT_SETTING_BLOCK, ValueToContentSetting(rule.value.get())); 157 EXPECT_EQ(CONTENT_SETTING_BLOCK, ValueToContentSetting(rule.value.get()));
128 rule_iterator.reset();
129 158
130 // Re-enable the default camera and microphone setting. 159 // Re-enable the default camera and microphone setting.
160 EXPECT_CALL(
161 mock_observer_,
162 OnContentSettingChanged(_, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
163 std::string()));
131 EXPECT_CALL(mock_observer_, 164 EXPECT_CALL(mock_observer_,
132 OnContentSettingChanged( 165 OnContentSettingChanged(
133 _, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, "")); 166 _, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, std::string()));
134 EXPECT_CALL( 167 service_.SetLocalSetting(supervised_users::kCameraMicDisabled,
135 mock_observer_, 168 base::MakeUnique<base::FundamentalValue>(false));
136 OnContentSettingChanged(_, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, ""));
137 service_.SetLocalSetting(
138 supervised_users::kCameraMicDisabled,
139 std::unique_ptr<base::Value>(new base::FundamentalValue(false)));
140 169
141 rule_iterator = provider_->GetRuleIterator( 170 rule_iterator = provider_->GetRuleIterator(
142 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, std::string(), false); 171 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, std::string(), false);
143 EXPECT_FALSE(rule_iterator->HasNext()); 172 EXPECT_FALSE(rule_iterator);
144 rule_iterator.reset(); 173
145 rule_iterator = provider_->GetRuleIterator( 174 rule_iterator = provider_->GetRuleIterator(
146 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, std::string(), false); 175 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, std::string(), false);
147 EXPECT_FALSE(rule_iterator->HasNext()); 176 EXPECT_FALSE(rule_iterator);
148 } 177 }
149 178
150 } // namespace content_settings 179 } // namespace content_settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698