OLD | NEW |
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/managed_mode.h" | 5 #include "chrome/browser/managed_mode/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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 ManagedModeTest() : message_loop_(MessageLoop::TYPE_UI), | 120 ManagedModeTest() : message_loop_(MessageLoop::TYPE_UI), |
121 ui_thread_(content::BrowserThread::UI, &message_loop_) { | 121 ui_thread_(content::BrowserThread::UI, &message_loop_) { |
122 } | 122 } |
123 | 123 |
124 scoped_refptr<MockCallback> CreateCallback() { | 124 scoped_refptr<MockCallback> CreateCallback() { |
125 return new StrictMock<MockCallback>(&managed_mode_); | 125 return new StrictMock<MockCallback>(&managed_mode_); |
126 } | 126 } |
127 | 127 |
128 base::Callback<void(bool)> CreateExpectedCallback(bool success) { | 128 base::Callback<void(bool)> CreateExpectedCallback(bool success) { |
129 scoped_refptr<MockCallback> callback = CreateCallback(); | 129 scoped_refptr<MockCallback> callback = CreateCallback(); |
130 EXPECT_CALL(*callback, DidEnterManagedMode(success)); | 130 EXPECT_CALL(*callback.get(), DidEnterManagedMode(success)); |
131 return base::Bind(&MockCallback::CheckManagedMode, callback); | 131 return base::Bind(&MockCallback::CheckManagedMode, callback); |
132 } | 132 } |
133 | 133 |
134 protected: | 134 protected: |
135 MessageLoop message_loop_; | 135 MessageLoop message_loop_; |
136 content::TestBrowserThread ui_thread_; | 136 content::TestBrowserThread ui_thread_; |
137 TestingProfile managed_mode_profile_; | 137 TestingProfile managed_mode_profile_; |
138 TestingProfile other_profile_; | 138 TestingProfile other_profile_; |
139 FakeManagedMode managed_mode_; | 139 FakeManagedMode managed_mode_; |
140 }; | 140 }; |
(...skipping 27 matching lines...) Expand all Loading... |
168 BrowserFixture other_browser(&managed_mode_, &other_profile_); | 168 BrowserFixture other_browser(&managed_mode_, &other_profile_); |
169 | 169 |
170 EXPECT_CALL(*other_browser.window(), Close()); | 170 EXPECT_CALL(*other_browser.window(), Close()); |
171 managed_mode_.EnterManagedModeForTesting( | 171 managed_mode_.EnterManagedModeForTesting( |
172 &managed_mode_profile_, | 172 &managed_mode_profile_, |
173 base::Bind(&MockCallback::CheckManagedMode, callback)); | 173 base::Bind(&MockCallback::CheckManagedMode, callback)); |
174 managed_mode_.EnterManagedModeForTesting( | 174 managed_mode_.EnterManagedModeForTesting( |
175 &managed_mode_profile_, | 175 &managed_mode_profile_, |
176 base::Bind(&MockCallback::CheckManagedMode, callback)); | 176 base::Bind(&MockCallback::CheckManagedMode, callback)); |
177 // The callbacks should run as soon as |other_browser| is closed. | 177 // The callbacks should run as soon as |other_browser| is closed. |
178 EXPECT_CALL(*callback, DidEnterManagedMode(true)).Times(2); | 178 EXPECT_CALL(*callback.get(), DidEnterManagedMode(true)).Times(2); |
179 } | 179 } |
180 | 180 |
181 TEST_F(ManagedModeTest, OpenNewBrowser) { | 181 TEST_F(ManagedModeTest, OpenNewBrowser) { |
182 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); | 182 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); |
183 BrowserFixture other_browser(&managed_mode_, &other_profile_); | 183 BrowserFixture other_browser(&managed_mode_, &other_profile_); |
184 | 184 |
185 scoped_refptr<MockCallback> callback = CreateCallback(); | 185 scoped_refptr<MockCallback> callback = CreateCallback(); |
186 EXPECT_CALL(*other_browser.window(), Close()); | 186 EXPECT_CALL(*other_browser.window(), Close()); |
187 managed_mode_.EnterManagedModeForTesting( | 187 managed_mode_.EnterManagedModeForTesting( |
188 &managed_mode_profile_, | 188 &managed_mode_profile_, |
189 base::Bind(&MockCallback::CheckManagedMode, callback)); | 189 base::Bind(&MockCallback::CheckManagedMode, callback)); |
190 | 190 |
191 // Opening another browser with the managed profile should not cancel entering | 191 // Opening another browser with the managed profile should not cancel entering |
192 // managed mode. | 192 // managed mode. |
193 BrowserFixture other_managed_mode_browser(&managed_mode_, | 193 BrowserFixture other_managed_mode_browser(&managed_mode_, |
194 &managed_mode_profile_); | 194 &managed_mode_profile_); |
195 | 195 |
196 // Opening another browser should cancel entering managed mode. | 196 // Opening another browser should cancel entering managed mode. |
197 EXPECT_CALL(*callback, DidEnterManagedMode(false)); | 197 EXPECT_CALL(*callback.get(), DidEnterManagedMode(false)); |
198 BrowserFixture yet_another_browser(&managed_mode_, &other_profile_); | 198 BrowserFixture yet_another_browser(&managed_mode_, &other_profile_); |
199 } | 199 } |
200 | 200 |
201 TEST_F(ManagedModeTest, DifferentProfile) { | 201 TEST_F(ManagedModeTest, DifferentProfile) { |
202 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); | 202 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); |
203 | 203 |
204 // Keep this before the other browser is constructed, so we verify its | 204 // Keep this before the other browser is constructed, so we verify its |
205 // expectations after the browser is destroyed. | 205 // expectations after the browser is destroyed. |
206 scoped_refptr<MockCallback> callback = CreateCallback(); | 206 scoped_refptr<MockCallback> callback = CreateCallback(); |
207 BrowserFixture other_browser(&managed_mode_, &other_profile_); | 207 BrowserFixture other_browser(&managed_mode_, &other_profile_); |
208 | 208 |
209 EXPECT_CALL(*other_browser.window(), Close()); | 209 EXPECT_CALL(*other_browser.window(), Close()); |
210 managed_mode_.EnterManagedModeForTesting( | 210 managed_mode_.EnterManagedModeForTesting( |
211 &managed_mode_profile_, | 211 &managed_mode_profile_, |
212 base::Bind(&MockCallback::CheckManagedMode, callback)); | 212 base::Bind(&MockCallback::CheckManagedMode, callback)); |
213 | 213 |
214 // Trying to enter managed mode with a different profile should fail | 214 // Trying to enter managed mode with a different profile should fail |
215 // immediately. | 215 // immediately. |
216 managed_mode_.EnterManagedModeForTesting(&other_profile_, | 216 managed_mode_.EnterManagedModeForTesting(&other_profile_, |
217 CreateExpectedCallback(false)); | 217 CreateExpectedCallback(false)); |
218 | 218 |
219 // The first request should still succeed as soon as the other browser is | 219 // The first request should still succeed as soon as the other browser is |
220 // closed. | 220 // closed. |
221 EXPECT_CALL(*callback, DidEnterManagedMode(true)); | 221 EXPECT_CALL(*callback.get(), DidEnterManagedMode(true)); |
222 } | 222 } |
223 | 223 |
224 TEST_F(ManagedModeTest, Cancelled) { | 224 TEST_F(ManagedModeTest, Cancelled) { |
225 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); | 225 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); |
226 BrowserFixture other_browser(&managed_mode_, &other_profile_); | 226 BrowserFixture other_browser(&managed_mode_, &other_profile_); |
227 | 227 |
228 // If the user cancelled entering managed mode, it should fail immediately. | 228 // If the user cancelled entering managed mode, it should fail immediately. |
229 managed_mode_.set_should_cancel_enter(true); | 229 managed_mode_.set_should_cancel_enter(true); |
230 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, | 230 managed_mode_.EnterManagedModeForTesting(&managed_mode_profile_, |
231 CreateExpectedCallback(false)); | 231 CreateExpectedCallback(false)); |
232 } | 232 } |
233 | 233 |
234 TEST_F(ManagedModeTest, ExtensionManagementPolicyProvider) { | 234 TEST_F(ManagedModeTest, ExtensionManagementPolicyProvider) { |
235 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); | 235 BrowserFixture managed_mode_browser(&managed_mode_, &managed_mode_profile_); |
236 | 236 |
237 EXPECT_TRUE(managed_mode_.UserMayLoad(NULL, NULL)); | 237 EXPECT_TRUE(managed_mode_.UserMayLoad(NULL, NULL)); |
238 EXPECT_TRUE(managed_mode_.UserMayModifySettings(NULL, NULL)); | 238 EXPECT_TRUE(managed_mode_.UserMayModifySettings(NULL, NULL)); |
239 | 239 |
240 managed_mode_.SetInManagedMode(&managed_mode_profile_); | 240 managed_mode_.SetInManagedMode(&managed_mode_profile_); |
241 EXPECT_FALSE(managed_mode_.UserMayLoad(NULL, NULL)); | 241 EXPECT_FALSE(managed_mode_.UserMayLoad(NULL, NULL)); |
242 EXPECT_FALSE(managed_mode_.UserMayModifySettings(NULL, NULL)); | 242 EXPECT_FALSE(managed_mode_.UserMayModifySettings(NULL, NULL)); |
243 | 243 |
244 #ifndef NDEBUG | 244 #ifndef NDEBUG |
245 EXPECT_FALSE(managed_mode_.GetDebugPolicyProviderName().empty()); | 245 EXPECT_FALSE(managed_mode_.GetDebugPolicyProviderName().empty()); |
246 #endif | 246 #endif |
247 } | 247 } |
OLD | NEW |