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

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: Bernhard's comments 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 19 matching lines...) Expand all
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 // ManagedMode overrides: 39 // ManagedMode overrides:
40 virtual bool IsInManagedModeImpl() OVERRIDE { 40 virtual bool IsInManagedModeImpl() const OVERRIDE {
41 return in_managed_mode_; 41 return in_managed_mode_;
42 } 42 }
43 43
44 virtual void SetInManagedMode(bool in_managed_mode) OVERRIDE { 44 virtual void SetInManagedMode(Profile* newly_managed_profile) OVERRIDE {
45 in_managed_mode_ = in_managed_mode; 45 if (newly_managed_profile)
46 DCHECK(!managed_profile_ || managed_profile_ == newly_managed_profile);
Bernhard Bauer 2012/06/19 13:01:04 Could you ASSERT instead of DCHECK so that we fail
Pam (message me for reviews) 2012/06/19 20:37:46 Doh. Of course.
47 managed_profile_ = newly_managed_profile;
48 in_managed_mode_ = (newly_managed_profile != NULL);
46 } 49 }
47 50
48 virtual bool PlatformConfirmEnter() OVERRIDE { 51 virtual bool PlatformConfirmEnter() OVERRIDE {
49 return !should_cancel_enter_; 52 return !should_cancel_enter_;
50 } 53 }
51 54
52 virtual bool PlatformConfirmLeave() OVERRIDE { 55 virtual bool PlatformConfirmLeave() OVERRIDE {
53 return true; 56 return true;
54 } 57 }
55 58
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 FakeManagedMode* managed_mode_; 92 FakeManagedMode* managed_mode_;
90 }; 93 };
91 94
92 class MockCallback : public base::RefCountedThreadSafe<MockCallback> { 95 class MockCallback : public base::RefCountedThreadSafe<MockCallback> {
93 public: 96 public:
94 explicit MockCallback(FakeManagedMode* managed_mode) 97 explicit MockCallback(FakeManagedMode* managed_mode)
95 : managed_mode_(managed_mode) { 98 : managed_mode_(managed_mode) {
96 } 99 }
97 100
98 void CheckManagedMode(bool success) { 101 void CheckManagedMode(bool success) {
99 EXPECT_EQ(managed_mode_->IsInManagedModeImpl(), success); 102 EXPECT_EQ(success, managed_mode_->IsInManagedModeImpl());
100 DidEnterManagedMode(success); 103 DidEnterManagedMode(success);
101 } 104 }
102 105
103 MOCK_METHOD1(DidEnterManagedMode, void(bool)); 106 MOCK_METHOD1(DidEnterManagedMode, void(bool));
104 107
105 protected: 108 protected:
106 virtual ~MockCallback() {} 109 virtual ~MockCallback() {}
107 110
108 private: 111 private:
109 friend class base::RefCountedThreadSafe<MockCallback>; 112 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 147 // If there are no browsers belonging to a different profile, entering should
145 // immediately succeed. 148 // immediately succeed.
146 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, 149 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_,
147 CreateExpectedCallback(true)); 150 CreateExpectedCallback(true));
148 } 151 }
149 152
150 TEST_F(ManagedModeTest, AlreadyInManagedMode) { 153 TEST_F(ManagedModeTest, AlreadyInManagedMode) {
151 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); 154 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
152 BrowserFixture other_browser(&managed_mode_, &other_profile_); 155 BrowserFixture other_browser(&managed_mode_, &other_profile_);
153 156
154 // If we're already in managed mode, entering should immediately succeed. 157 // If we're already in managed mode in this profile, entering should
155 managed_mode_.SetInManagedMode(true); 158 // immediately succeed.
159 managed_mode_.SetInManagedMode(&managed_mode_profile_);
156 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, 160 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_,
157 CreateExpectedCallback(true)); 161 CreateExpectedCallback(true));
158 } 162 }
159 163
160 TEST_F(ManagedModeTest, QueueRequests) { 164 TEST_F(ManagedModeTest, QueueRequests) {
161 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); 165 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
162 166
163 // Keep this before the other browser is constructed, so we verify its 167 // Keep this before the other browser is constructed, so we verify its
164 // expectations after the browser is destroyed. 168 // expectations after the browser is destroyed.
165 scoped_refptr<MockCallback> callback = CreateCallback(); 169 scoped_refptr<MockCallback> callback = CreateCallback();
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 225
222 TEST_F(ManagedModeTest, Cancelled) { 226 TEST_F(ManagedModeTest, Cancelled) {
223 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); 227 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
224 BrowserFixture other_browser(&managed_mode_, &other_profile_); 228 BrowserFixture other_browser(&managed_mode_, &other_profile_);
225 229
226 // If the user cancelled entering managed mode, it should fail immediately. 230 // If the user cancelled entering managed mode, it should fail immediately.
227 managed_mode_.set_should_cancel_enter(true); 231 managed_mode_.set_should_cancel_enter(true);
228 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, 232 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_,
229 CreateExpectedCallback(false)); 233 CreateExpectedCallback(false));
230 } 234 }
235
236 TEST_F(ManagedModeTest, ExtensionManagementPolicyProvider) {
237 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_);
238
239 EXPECT_TRUE(managed_mode_.UserMayLoad(NULL, NULL));
240 EXPECT_TRUE(managed_mode_.UserMayModifySettings(NULL, NULL));
241
242 managed_mode_.SetInManagedMode(&managed_mode_profile_);
243 EXPECT_FALSE(managed_mode_.UserMayLoad(NULL, NULL));
244 EXPECT_FALSE(managed_mode_.UserMayModifySettings(NULL, NULL));
245
246 #ifndef NDEBUG
247 EXPECT_FALSE(managed_mode_.GetDebugPolicyProviderName().empty());
248 #endif
249 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698