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

Side by Side Diff: chrome/browser/policy/cloud_policy_cache_unittest.cc

Issue 6520008: Device policy infrastructure (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 10 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/policy/cloud_policy_cache.h" 5 #include "chrome/browser/policy/cloud_policy_cache.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <string> 8 #include <string>
9 9
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 cached_policy.mutable_cloud_policy()->CopyFrom(policy); 75 cached_policy.mutable_cloud_policy()->CopyFrom(policy);
76 EXPECT_TRUE(cached_policy.SerializeToString(&data)); 76 EXPECT_TRUE(cached_policy.SerializeToString(&data));
77 int size = static_cast<int>(data.size()); 77 int size = static_cast<int>(data.size());
78 EXPECT_EQ(size, file_util::WriteFile(test_file(), data.c_str(), size)); 78 EXPECT_EQ(size, file_util::WriteFile(test_file(), data.c_str(), size));
79 } 79 }
80 80
81 FilePath test_file() { 81 FilePath test_file() {
82 return temp_dir_.path().AppendASCII("CloudPolicyCacheTest"); 82 return temp_dir_.path().AppendASCII("CloudPolicyCacheTest");
83 } 83 }
84 84
85 const PolicyMapType& mandatory_policy(const CloudPolicyCache& cache) {
86 return cache.mandatory_policy_;
87 }
88
89 const PolicyMapType& recommended_policy(const CloudPolicyCache& cache) {
90 return cache.recommended_policy_;
91 }
92
85 bool Equals(const PolicyMapType& a, const PolicyMapType& b) const { 93 bool Equals(const PolicyMapType& a, const PolicyMapType& b) const {
86 return CloudPolicyCache::Equals(a, b); 94 return CloudPolicyCache::Equals(a, b);
87 } 95 }
88 96
89 MessageLoop loop_; 97 MessageLoop loop_;
90 98
91 private: 99 private:
92 ScopedTempDir temp_dir_; 100 ScopedTempDir temp_dir_;
93 BrowserThread ui_thread_; 101 BrowserThread ui_thread_;
94 BrowserThread file_thread_; 102 BrowserThread file_thread_;
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 scoped_ptr<ListValue> decoded(DecodeStringList(string_list)); 183 scoped_ptr<ListValue> decoded(DecodeStringList(string_list));
176 ListValue expected; 184 ListValue expected;
177 expected.Append(Value::CreateStringValue("ponies")); 185 expected.Append(Value::CreateStringValue("ponies"));
178 expected.Append(Value::CreateStringValue("more ponies")); 186 expected.Append(Value::CreateStringValue("more ponies"));
179 EXPECT_TRUE(decoded->Equals(&expected)); 187 EXPECT_TRUE(decoded->Equals(&expected));
180 } 188 }
181 189
182 TEST_F(CloudPolicyCacheTest, Empty) { 190 TEST_F(CloudPolicyCacheTest, Empty) {
183 CloudPolicyCache cache(test_file()); 191 CloudPolicyCache cache(test_file());
184 PolicyMapType empty; 192 PolicyMapType empty;
185 EXPECT_TRUE(Equals(empty, *cache.GetMandatoryPolicy())); 193 EXPECT_TRUE(Equals(empty, mandatory_policy(cache)));
186 EXPECT_TRUE(Equals(empty, *cache.GetRecommendedPolicy())); 194 EXPECT_TRUE(Equals(empty, recommended_policy(cache)));
187 EXPECT_EQ(base::Time(), cache.last_policy_refresh_time()); 195 EXPECT_EQ(base::Time(), cache.last_policy_refresh_time());
188 } 196 }
189 197
190 TEST_F(CloudPolicyCacheTest, LoadNoFile) { 198 TEST_F(CloudPolicyCacheTest, LoadNoFile) {
191 CloudPolicyCache cache(test_file()); 199 CloudPolicyCache cache(test_file());
192 cache.LoadPolicyFromFile(); 200 cache.LoadFromFile();
193 PolicyMapType empty; 201 PolicyMapType empty;
194 EXPECT_TRUE(Equals(empty, *cache.GetMandatoryPolicy())); 202 EXPECT_TRUE(Equals(empty, mandatory_policy(cache)));
195 EXPECT_EQ(base::Time(), cache.last_policy_refresh_time()); 203 EXPECT_EQ(base::Time(), cache.last_policy_refresh_time());
196 } 204 }
197 205
198 TEST_F(CloudPolicyCacheTest, RejectFuture) { 206 TEST_F(CloudPolicyCacheTest, RejectFuture) {
199 scoped_ptr<em::CloudPolicyResponse> policy_response( 207 scoped_ptr<em::CloudPolicyResponse> policy_response(
200 CreateHomepagePolicy("", base::Time::NowFromSystemTime() + 208 CreateHomepagePolicy("", base::Time::NowFromSystemTime() +
201 base::TimeDelta::FromMinutes(5), 209 base::TimeDelta::FromMinutes(5),
202 em::PolicyOptions::MANDATORY)); 210 em::PolicyOptions::MANDATORY));
203 WritePolicy(*policy_response); 211 WritePolicy(*policy_response);
204 CloudPolicyCache cache(test_file()); 212 CloudPolicyCache cache(test_file());
205 cache.LoadPolicyFromFile(); 213 cache.LoadFromFile();
206 PolicyMapType empty; 214 PolicyMapType empty;
207 EXPECT_TRUE(Equals(empty, *cache.GetMandatoryPolicy())); 215 EXPECT_TRUE(Equals(empty, mandatory_policy(cache)));
208 EXPECT_EQ(base::Time(), cache.last_policy_refresh_time()); 216 EXPECT_EQ(base::Time(), cache.last_policy_refresh_time());
209 } 217 }
210 218
211 TEST_F(CloudPolicyCacheTest, LoadWithFile) { 219 TEST_F(CloudPolicyCacheTest, LoadWithFile) {
212 scoped_ptr<em::CloudPolicyResponse> policy_response( 220 scoped_ptr<em::CloudPolicyResponse> policy_response(
213 CreateHomepagePolicy("", base::Time::NowFromSystemTime(), 221 CreateHomepagePolicy("", base::Time::NowFromSystemTime(),
214 em::PolicyOptions::MANDATORY)); 222 em::PolicyOptions::MANDATORY));
215 WritePolicy(*policy_response); 223 WritePolicy(*policy_response);
216 CloudPolicyCache cache(test_file()); 224 CloudPolicyCache cache(test_file());
217 cache.LoadPolicyFromFile(); 225 cache.LoadFromFile();
218 PolicyMapType empty; 226 PolicyMapType empty;
219 EXPECT_TRUE(Equals(empty, *cache.GetMandatoryPolicy())); 227 EXPECT_TRUE(Equals(empty, mandatory_policy(cache)));
220 EXPECT_NE(base::Time(), cache.last_policy_refresh_time()); 228 EXPECT_NE(base::Time(), cache.last_policy_refresh_time());
221 EXPECT_GE(base::Time::Now(), cache.last_policy_refresh_time()); 229 EXPECT_GE(base::Time::Now(), cache.last_policy_refresh_time());
222 } 230 }
223 231
224 TEST_F(CloudPolicyCacheTest, LoadWithData) { 232 TEST_F(CloudPolicyCacheTest, LoadWithData) {
225 scoped_ptr<em::CloudPolicyResponse> policy( 233 scoped_ptr<em::CloudPolicyResponse> policy(
226 CreateHomepagePolicy("http://www.example.com", 234 CreateHomepagePolicy("http://www.example.com",
227 base::Time::NowFromSystemTime(), 235 base::Time::NowFromSystemTime(),
228 em::PolicyOptions::MANDATORY)); 236 em::PolicyOptions::MANDATORY));
229 WritePolicy(*policy); 237 WritePolicy(*policy);
230 CloudPolicyCache cache(test_file()); 238 CloudPolicyCache cache(test_file());
231 cache.LoadPolicyFromFile(); 239 cache.LoadFromFile();
232 PolicyMapType expected; 240 PolicyMapType expected;
233 expected.insert( 241 expected.insert(
234 std::make_pair(kPolicyHomepageLocation, 242 std::make_pair(kPolicyHomepageLocation,
235 Value::CreateStringValue("http://www.example.com"))); 243 Value::CreateStringValue("http://www.example.com")));
236 EXPECT_TRUE(Equals(expected, *cache.GetMandatoryPolicy())); 244 EXPECT_TRUE(Equals(expected, mandatory_policy(cache)));
237 } 245 }
238 246
239 TEST_F(CloudPolicyCacheTest, SetPolicy) { 247 TEST_F(CloudPolicyCacheTest, SetPolicy) {
240 CloudPolicyCache cache(test_file()); 248 CloudPolicyCache cache(test_file());
241 scoped_ptr<em::CloudPolicyResponse> policy( 249 scoped_ptr<em::CloudPolicyResponse> policy(
242 CreateHomepagePolicy("http://www.example.com", 250 CreateHomepagePolicy("http://www.example.com",
243 base::Time::NowFromSystemTime(), 251 base::Time::NowFromSystemTime(),
244 em::PolicyOptions::MANDATORY)); 252 em::PolicyOptions::MANDATORY));
245 EXPECT_TRUE(cache.SetPolicy(*policy)); 253 EXPECT_TRUE(cache.SetPolicy(*policy));
246 scoped_ptr<em::CloudPolicyResponse> policy2( 254 scoped_ptr<em::CloudPolicyResponse> policy2(
247 CreateHomepagePolicy("http://www.example.com", 255 CreateHomepagePolicy("http://www.example.com",
248 base::Time::NowFromSystemTime(), 256 base::Time::NowFromSystemTime(),
249 em::PolicyOptions::MANDATORY)); 257 em::PolicyOptions::MANDATORY));
250 EXPECT_FALSE(cache.SetPolicy(*policy2)); 258 EXPECT_FALSE(cache.SetPolicy(*policy2));
251 PolicyMapType expected; 259 PolicyMapType expected;
252 expected.insert( 260 expected.insert(
253 std::make_pair(kPolicyHomepageLocation, 261 std::make_pair(kPolicyHomepageLocation,
254 Value::CreateStringValue("http://www.example.com"))); 262 Value::CreateStringValue("http://www.example.com")));
255 PolicyMapType empty; 263 PolicyMapType empty;
256 EXPECT_TRUE(Equals(expected, *cache.GetMandatoryPolicy())); 264 EXPECT_TRUE(Equals(expected, mandatory_policy(cache)));
257 EXPECT_TRUE(Equals(empty, *cache.GetRecommendedPolicy())); 265 EXPECT_TRUE(Equals(empty, recommended_policy(cache)));
258 policy.reset(CreateHomepagePolicy("http://www.example.com", 266 policy.reset(CreateHomepagePolicy("http://www.example.com",
259 base::Time::NowFromSystemTime(), 267 base::Time::NowFromSystemTime(),
260 em::PolicyOptions::RECOMMENDED)); 268 em::PolicyOptions::RECOMMENDED));
261 EXPECT_TRUE(cache.SetPolicy(*policy)); 269 EXPECT_TRUE(cache.SetPolicy(*policy));
262 EXPECT_TRUE(Equals(expected, *cache.GetRecommendedPolicy())); 270 EXPECT_TRUE(Equals(expected, recommended_policy(cache)));
263 EXPECT_TRUE(Equals(empty, *cache.GetMandatoryPolicy())); 271 EXPECT_TRUE(Equals(empty, mandatory_policy(cache)));
264 } 272 }
265 273
266 TEST_F(CloudPolicyCacheTest, ResetPolicy) { 274 TEST_F(CloudPolicyCacheTest, ResetPolicy) {
267 CloudPolicyCache cache(test_file()); 275 CloudPolicyCache cache(test_file());
268 276
269 scoped_ptr<em::CloudPolicyResponse> policy( 277 scoped_ptr<em::CloudPolicyResponse> policy(
270 CreateHomepagePolicy("http://www.example.com", 278 CreateHomepagePolicy("http://www.example.com",
271 base::Time::NowFromSystemTime(), 279 base::Time::NowFromSystemTime(),
272 em::PolicyOptions::MANDATORY)); 280 em::PolicyOptions::MANDATORY));
273 EXPECT_TRUE(cache.SetPolicy(*policy)); 281 EXPECT_TRUE(cache.SetPolicy(*policy));
274 PolicyMapType expected; 282 PolicyMapType expected;
275 expected.insert( 283 expected.insert(
276 std::make_pair(kPolicyHomepageLocation, 284 std::make_pair(kPolicyHomepageLocation,
277 Value::CreateStringValue("http://www.example.com"))); 285 Value::CreateStringValue("http://www.example.com")));
278 EXPECT_TRUE(Equals(expected, *cache.GetMandatoryPolicy())); 286 EXPECT_TRUE(Equals(expected, mandatory_policy(cache)));
279 287
280 scoped_ptr<em::CloudPolicyResponse> empty_policy( 288 scoped_ptr<em::CloudPolicyResponse> empty_policy(
281 CreateHomepagePolicy("", base::Time::NowFromSystemTime(), 289 CreateHomepagePolicy("", base::Time::NowFromSystemTime(),
282 em::PolicyOptions::MANDATORY)); 290 em::PolicyOptions::MANDATORY));
283 EXPECT_TRUE(cache.SetPolicy(*empty_policy)); 291 EXPECT_TRUE(cache.SetPolicy(*empty_policy));
284 PolicyMapType empty; 292 PolicyMapType empty;
285 EXPECT_TRUE(Equals(empty, *cache.GetMandatoryPolicy())); 293 EXPECT_TRUE(Equals(empty, mandatory_policy(cache)));
286 } 294 }
287 295
288 TEST_F(CloudPolicyCacheTest, PersistPolicy) { 296 TEST_F(CloudPolicyCacheTest, PersistPolicy) {
289 { 297 {
290 CloudPolicyCache cache(test_file()); 298 CloudPolicyCache cache(test_file());
291 scoped_ptr<em::CloudPolicyResponse> policy( 299 scoped_ptr<em::CloudPolicyResponse> policy(
292 CreateHomepagePolicy("http://www.example.com", 300 CreateHomepagePolicy("http://www.example.com",
293 base::Time::NowFromSystemTime(), 301 base::Time::NowFromSystemTime(),
294 em::PolicyOptions::MANDATORY)); 302 em::PolicyOptions::MANDATORY));
295 cache.SetPolicy(*policy); 303 cache.SetPolicy(*policy);
296 } 304 }
297 305
298 loop_.RunAllPending(); 306 loop_.RunAllPending();
299 307
300 EXPECT_TRUE(file_util::PathExists(test_file())); 308 EXPECT_TRUE(file_util::PathExists(test_file()));
301 CloudPolicyCache cache(test_file()); 309 CloudPolicyCache cache(test_file());
302 cache.LoadPolicyFromFile(); 310 cache.LoadFromFile();
303 PolicyMapType expected; 311 PolicyMapType expected;
304 expected.insert( 312 expected.insert(
305 std::make_pair(kPolicyHomepageLocation, 313 std::make_pair(kPolicyHomepageLocation,
306 Value::CreateStringValue("http://www.example.com"))); 314 Value::CreateStringValue("http://www.example.com")));
307 EXPECT_TRUE(Equals(expected, *cache.GetMandatoryPolicy())); 315 EXPECT_TRUE(Equals(expected, mandatory_policy(cache)));
308 } 316 }
309 317
310 TEST_F(CloudPolicyCacheTest, FreshPolicyOverride) { 318 TEST_F(CloudPolicyCacheTest, FreshPolicyOverride) {
311 scoped_ptr<em::CloudPolicyResponse> policy( 319 scoped_ptr<em::CloudPolicyResponse> policy(
312 CreateHomepagePolicy("http://www.example.com", 320 CreateHomepagePolicy("http://www.example.com",
313 base::Time::NowFromSystemTime(), 321 base::Time::NowFromSystemTime(),
314 em::PolicyOptions::MANDATORY)); 322 em::PolicyOptions::MANDATORY));
315 WritePolicy(*policy); 323 WritePolicy(*policy);
316 324
317 CloudPolicyCache cache(test_file()); 325 CloudPolicyCache cache(test_file());
318 scoped_ptr<em::CloudPolicyResponse> updated_policy( 326 scoped_ptr<em::CloudPolicyResponse> updated_policy(
319 CreateHomepagePolicy("http://www.chromium.org", 327 CreateHomepagePolicy("http://www.chromium.org",
320 base::Time::NowFromSystemTime(), 328 base::Time::NowFromSystemTime(),
321 em::PolicyOptions::MANDATORY)); 329 em::PolicyOptions::MANDATORY));
322 EXPECT_TRUE(cache.SetPolicy(*updated_policy)); 330 EXPECT_TRUE(cache.SetPolicy(*updated_policy));
323 331
324 cache.LoadPolicyFromFile(); 332 cache.LoadFromFile();
325 PolicyMapType expected; 333 PolicyMapType expected;
326 expected.insert( 334 expected.insert(
327 std::make_pair(kPolicyHomepageLocation, 335 std::make_pair(kPolicyHomepageLocation,
328 Value::CreateStringValue("http://www.chromium.org"))); 336 Value::CreateStringValue("http://www.chromium.org")));
329 EXPECT_TRUE(Equals(expected, *cache.GetMandatoryPolicy())); 337 EXPECT_TRUE(Equals(expected, mandatory_policy(cache)));
330 } 338 }
331 339
332 } // namespace policy 340 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698