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

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

Issue 1005693005: Add unittests for the HostContentSettingsMap's provider for Supervised Users. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « no previous file | chrome/chrome_tests_unit.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/content_settings/content_settings_supervised_provider.h "
6
7 #include <string>
8
9 #include "base/memory/scoped_ptr.h"
10 #include "base/prefs/testing_pref_store.h"
11 #include "chrome/browser/content_settings/content_settings_mock_observer.h"
12 #include "chrome/browser/supervised_user/supervised_user_constants.h"
13 #include "chrome/browser/supervised_user/supervised_user_settings_service.h"
14 #include "components/content_settings/core/browser/content_settings_rule.h"
15 #include "components/content_settings/core/browser/content_settings_utils.h"
16 #include "testing/gtest/include/gtest/gtest.h"
17
18 using ::testing::_;
19
20 namespace content_settings {
21
22 class SupervisedUserProviderTest : public ::testing::Test {
23 public:
24 void SetUp() override;
25 void TearDown() override;
26
27 protected:
28 SupervisedUserSettingsService service_;
29 scoped_refptr<TestingPrefStore> pref_store_;
30 scoped_ptr<SupervisedProvider> provider_;
31 content_settings::MockObserver mock_observer_;
32 };
33
34 void SupervisedUserProviderTest::SetUp() {
35 pref_store_ = new TestingPrefStore();
36 pref_store_->NotifyInitializationCompleted();
37 service_.Init(pref_store_);
38 service_.SetActive(true);
39 provider_.reset(new SupervisedProvider(&service_));
40 provider_->AddObserver(&mock_observer_);
41 }
42
43 void SupervisedUserProviderTest::TearDown() {
44 provider_->RemoveObserver(&mock_observer_);
45 provider_->ShutdownOnUIThread();
46 service_.Shutdown();
47 }
48
49 TEST_F(SupervisedUserProviderTest, GeolocationTest) {
50 scoped_ptr<RuleIterator> rule_iterator(provider_->GetRuleIterator(
51 CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), false));
52 EXPECT_FALSE(rule_iterator->HasNext());
53 rule_iterator.reset();
54
55 // Disable the default geolocation setting.
56 EXPECT_CALL(mock_observer_, OnContentSettingChanged(
57 _, _, CONTENT_SETTINGS_TYPE_GEOLOCATION, ""));
58 service_.SetLocalSetting(
59 supervised_users::kGeolocationDisabled,
60 scoped_ptr<base::Value>(new base::FundamentalValue(true)));
61
62 rule_iterator.reset(provider_->GetRuleIterator(
63 CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), false));
64 ASSERT_TRUE(rule_iterator->HasNext());
65 Rule rule = rule_iterator->Next();
66 EXPECT_FALSE(rule_iterator->HasNext());
67
68 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.primary_pattern);
69 EXPECT_EQ(ContentSettingsPattern::Wildcard(), rule.secondary_pattern);
70 EXPECT_EQ(CONTENT_SETTING_BLOCK, ValueToContentSetting(rule.value.get()));
71 rule_iterator.reset();
72
73 // Re-enable the default geolocation setting.
74 EXPECT_CALL(mock_observer_, OnContentSettingChanged(
75 _, _, CONTENT_SETTINGS_TYPE_GEOLOCATION, ""));
76 service_.SetLocalSetting(
77 supervised_users::kGeolocationDisabled,
78 scoped_ptr<base::Value>(new base::FundamentalValue(false)));
79
80 rule_iterator.reset(provider_->GetRuleIterator(
81 CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), false));
82 EXPECT_FALSE(rule_iterator->HasNext());
83 }
84
85 TEST_F(SupervisedUserProviderTest, CameraMicTest) {
86 scoped_ptr<RuleIterator> rule_iterator(provider_->GetRuleIterator(
87 CONTENT_SETTINGS_TYPE_MEDIASTREAM, std::string(), false));
88 EXPECT_FALSE(rule_iterator->HasNext());
89 rule_iterator.reset();
90
91 // Disable the default camera and microphone setting.
92 EXPECT_CALL(mock_observer_, OnContentSettingChanged(
93 _, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM, ""));
94 service_.SetLocalSetting(
95 supervised_users::kCameraMicDisabled,
96 scoped_ptr<base::Value>(new base::FundamentalValue(true)));
97
98 rule_iterator.reset(provider_->GetRuleIterator(
99 CONTENT_SETTINGS_TYPE_MEDIASTREAM, std::string(), false));
100 ASSERT_TRUE(rule_iterator->HasNext());
101 Rule rule = rule_iterator->Next();
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_BLOCK, ValueToContentSetting(rule.value.get()));
107 rule_iterator.reset();
108
109 // Re-enable the default camera and microphone setting.
110 EXPECT_CALL(mock_observer_, OnContentSettingChanged(
111 _, _, CONTENT_SETTINGS_TYPE_MEDIASTREAM, ""));
112 service_.SetLocalSetting(
113 supervised_users::kCameraMicDisabled,
114 scoped_ptr<base::Value>(new base::FundamentalValue(false)));
115
116 rule_iterator.reset(provider_->GetRuleIterator(
117 CONTENT_SETTINGS_TYPE_MEDIASTREAM, std::string(), false));
118 EXPECT_FALSE(rule_iterator->HasNext());
119 }
120
121 } // namespace content_settings
OLDNEW
« no previous file with comments | « no previous file | chrome/chrome_tests_unit.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698