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

Side by Side Diff: chrome/browser/managed_mode_unittest.cc

Issue 10542023: Disable modifying extensions when in managed mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Improve/fix InitImpl() Created 8 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/managed_mode.h" 5 #include "chrome/browser/managed_mode.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 18 matching lines...) Expand all
29 29
30 void set_should_cancel_enter(bool should_cancel_enter) { 30 void set_should_cancel_enter(bool should_cancel_enter) {
31 should_cancel_enter_ = should_cancel_enter; 31 should_cancel_enter_ = should_cancel_enter;
32 } 32 }
33 33
34 void EnterManagedModeForTesting(Profile* profile, 34 void EnterManagedModeForTesting(Profile* profile,
35 const base::Callback<void(bool)>& callback) { 35 const base::Callback<void(bool)>& callback) {
36 EnterManagedModeImpl(profile, callback); 36 EnterManagedModeImpl(profile, callback);
37 } 37 }
38 38
39 void ForceManagedModeForTesting(Profile* profile) {
40 SetInManagedMode(true, profile);
41 }
42
39 // ManagedMode overrides: 43 // ManagedMode overrides:
40 virtual bool IsInManagedModeImpl() OVERRIDE { 44 virtual bool IsInManagedModeImpl() const OVERRIDE {
41 return in_managed_mode_; 45 return in_managed_mode_;
42 } 46 }
43 47
44 virtual void SetInManagedMode(bool in_managed_mode) OVERRIDE { 48 virtual void SetInManagedMode(bool in_managed_mode,
49 Profile* newly_managed_profile) OVERRIDE {
50 if (in_managed_mode)
51 ASSERT_TRUE(newly_managed_profile);
52 managed_profile_ = newly_managed_profile;
45 in_managed_mode_ = in_managed_mode; 53 in_managed_mode_ = in_managed_mode;
46 } 54 }
47 55
48 virtual bool PlatformConfirmEnter() OVERRIDE { 56 virtual bool PlatformConfirmEnter() OVERRIDE {
49 return !should_cancel_enter_; 57 return !should_cancel_enter_;
50 } 58 }
51 59
52 virtual bool PlatformConfirmLeave() OVERRIDE { 60 virtual bool PlatformConfirmLeave() OVERRIDE {
53 return true; 61 return true;
54 } 62 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 FakeManagedMode* managed_mode_; 97 FakeManagedMode* managed_mode_;
90 }; 98 };
91 99
92 class MockCallback : public base::RefCountedThreadSafe<MockCallback> { 100 class MockCallback : public base::RefCountedThreadSafe<MockCallback> {
93 public: 101 public:
94 explicit MockCallback(FakeManagedMode* managed_mode) 102 explicit MockCallback(FakeManagedMode* managed_mode)
95 : managed_mode_(managed_mode) { 103 : managed_mode_(managed_mode) {
96 } 104 }
97 105
98 void CheckManagedMode(bool success) { 106 void CheckManagedMode(bool success) {
99 EXPECT_EQ(managed_mode_->IsInManagedModeImpl(), success); 107 EXPECT_EQ(success, managed_mode_->IsInManagedModeImpl());
100 DidEnterManagedMode(success); 108 DidEnterManagedMode(success);
101 } 109 }
102 110
103 MOCK_METHOD1(DidEnterManagedMode, void(bool)); 111 MOCK_METHOD1(DidEnterManagedMode, void(bool));
104 112
105 protected: 113 protected:
106 virtual ~MockCallback() {} 114 virtual ~MockCallback() {}
107 115
108 private: 116 private:
109 friend class base::RefCountedThreadSafe<MockCallback>; 117 friend class base::RefCountedThreadSafe<MockCallback>;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 // If there are no browsers belonging to a different profile, entering should 152 // If there are no browsers belonging to a different profile, entering should
145 // immediately succeed. 153 // immediately succeed.
146 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, 154 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_,
147 CreateExpectedCallback(true)); 155 CreateExpectedCallback(true));
148 } 156 }
149 157
150 TEST_F(ManagedModeTest, AlreadyInManagedMode) { 158 TEST_F(ManagedModeTest, AlreadyInManagedMode) {
151 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); 159 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
152 BrowserFixture other_browser(&managed_mode_, &other_profile_); 160 BrowserFixture other_browser(&managed_mode_, &other_profile_);
153 161
154 // If we're already in managed mode, entering should immediately succeed. 162 // If we're already in managed mode in this profile, entering should
155 managed_mode_.SetInManagedMode(true); 163 // immediately succeed.
164 managed_mode_.ForceManagedModeForTesting(&managed_mode_profile_);
156 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, 165 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_,
157 CreateExpectedCallback(true)); 166 CreateExpectedCallback(true));
158 } 167 }
159 168
160 TEST_F(ManagedModeTest, QueueRequests) { 169 TEST_F(ManagedModeTest, QueueRequests) {
161 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); 170 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
162 171
163 // Keep this before the other browser is constructed, so we verify its 172 // Keep this before the other browser is constructed, so we verify its
164 // expectations after the browser is destroyed. 173 // expectations after the browser is destroyed.
165 scoped_refptr<MockCallback> callback = CreateCallback(); 174 scoped_refptr<MockCallback> callback = CreateCallback();
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 230
222 TEST_F(ManagedModeTest, Cancelled) { 231 TEST_F(ManagedModeTest, Cancelled) {
223 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); 232 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
224 BrowserFixture other_browser(&managed_mode_, &other_profile_); 233 BrowserFixture other_browser(&managed_mode_, &other_profile_);
225 234
226 // If the user cancelled entering managed mode, it should fail immediately. 235 // If the user cancelled entering managed mode, it should fail immediately.
227 managed_mode_.set_should_cancel_enter(true); 236 managed_mode_.set_should_cancel_enter(true);
228 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, 237 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_,
229 CreateExpectedCallback(false)); 238 CreateExpectedCallback(false));
230 } 239 }
240
241 TEST_F(ManagedModeTest, ExtensionManagementPolicyProvider) {
242 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
243
244 EXPECT_TRUE(managed_mode_.UserMayLoad(NULL, NULL));
245 EXPECT_TRUE(managed_mode_.UserMayModifySettings(NULL, NULL));
246
247 managed_mode_.ForceManagedModeForTesting(&managed_mode_profile_);
248 EXPECT_FALSE(managed_mode_.UserMayLoad(NULL, NULL));
249 EXPECT_FALSE(managed_mode_.UserMayModifySettings(NULL, NULL));
250
251 EXPECT_FALSE(managed_mode_.GetDebugPolicyProviderName().empty());
252 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698