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

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

Issue 5162006: Always send the device ID when making device management requests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 10 years, 1 month 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "base/message_loop.h" 5 #include "base/message_loop.h"
6 #include "base/string_split.h" 6 #include "base/string_split.h"
7 #include "chrome/browser/browser_thread.h" 7 #include "chrome/browser/browser_thread.h"
8 #include "chrome/browser/policy/device_management_backend_impl.h"
8 #include "chrome/browser/policy/device_management_backend_mock.h" 9 #include "chrome/browser/policy/device_management_backend_mock.h"
9 #include "chrome/browser/policy/device_management_service.h" 10 #include "chrome/browser/policy/device_management_service.h"
10 #include "chrome/common/net/test_url_fetcher_factory.h" 11 #include "chrome/common/net/test_url_fetcher_factory.h"
11 #include "chrome/test/test_url_request_context_getter.h" 12 #include "chrome/test/test_url_request_context_getter.h"
12 #include "net/base/escape.h" 13 #include "net/base/escape.h"
13 #include "net/url_request/url_request_status.h" 14 #include "net/url_request/url_request_status.h"
14 #include "net/url_request/url_request_unittest.h" 15 #include "net/url_request/url_request_unittest.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 #include "testing/gmock/include/gmock/gmock.h" 17 #include "testing/gmock/include/gmock/gmock.h"
17 18
18 using testing::_; 19 using testing::_;
19 20
20 namespace policy { 21 namespace policy {
21 22
22 const char kServiceUrl[] = "https://example.com/management_service"; 23 const char kServiceUrl[] = "https://example.com/management_service";
23 24
24 // Encoded error response messages for testing the error code paths. 25 // Encoded error response messages for testing the error code paths.
25 const char kResponseEmpty[] = "\x08\x00"; 26 const char kResponseEmpty[] = "\x08\x00";
26 const char kResponseErrorManagementNotSupported[] = "\x08\x01"; 27 const char kResponseErrorManagementNotSupported[] = "\x08\x01";
27 const char kResponseErrorDeviceNotFound[] = "\x08\x02"; 28 const char kResponseErrorDeviceNotFound[] = "\x08\x02";
28 const char kResponseErrorManagementTokenInvalid[] = "\x08\x03"; 29 const char kResponseErrorManagementTokenInvalid[] = "\x08\x03";
29 const char kResponseErrorActivationPending[] = "\x08\x04"; 30 const char kResponseErrorActivationPending[] = "\x08\x04";
30 31
31 #define PROTO_STRING(name) (std::string(name, arraysize(name) - 1)) 32 #define PROTO_STRING(name) (std::string(name, arraysize(name) - 1))
32 33
34 // Some helper constants.
35 const char kAuthToken[] = "auth-token";
36 const char kDMToken[] = "device-management-token";
37 const char kDeviceId[] = "device-id";
38
33 // Unit tests for the device management policy service. The tests are run 39 // Unit tests for the device management policy service. The tests are run
34 // against a TestURLFetcherFactory that is used to short-circuit the request 40 // against a TestURLFetcherFactory that is used to short-circuit the request
35 // without calling into the actual network stack. 41 // without calling into the actual network stack.
36 template<typename TESTBASE> 42 template<typename TESTBASE>
37 class DeviceManagementServiceTestBase : public TESTBASE { 43 class DeviceManagementServiceTestBase : public TESTBASE {
38 protected: 44 protected:
39 DeviceManagementServiceTestBase() 45 DeviceManagementServiceTestBase()
40 : request_context_(new TestURLRequestContextGetter()), 46 : request_context_(new TestURLRequestContextGetter()),
41 io_thread_(BrowserThread::IO, &loop_) { 47 io_thread_(BrowserThread::IO, &loop_) {
42 ResetService(); 48 ResetService();
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 // the same for all kinds of requests. 97 // the same for all kinds of requests.
92 class DeviceManagementServiceFailedRequestTest 98 class DeviceManagementServiceFailedRequestTest
93 : public DeviceManagementServiceTestBase< 99 : public DeviceManagementServiceTestBase<
94 testing::TestWithParam<FailedRequestParams> > { 100 testing::TestWithParam<FailedRequestParams> > {
95 }; 101 };
96 102
97 TEST_P(DeviceManagementServiceFailedRequestTest, RegisterRequest) { 103 TEST_P(DeviceManagementServiceFailedRequestTest, RegisterRequest) {
98 DeviceRegisterResponseDelegateMock mock; 104 DeviceRegisterResponseDelegateMock mock;
99 EXPECT_CALL(mock, OnError(GetParam().expected_error_)); 105 EXPECT_CALL(mock, OnError(GetParam().expected_error_));
100 em::DeviceRegisterRequest request; 106 em::DeviceRegisterRequest request;
101 backend_->ProcessRegisterRequest("token", "device id", request, &mock); 107 backend_->ProcessRegisterRequest(kAuthToken, kDeviceId, request, &mock);
102 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 108 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
103 ASSERT_TRUE(fetcher); 109 ASSERT_TRUE(fetcher);
104 110
105 fetcher->delegate()->OnURLFetchComplete(fetcher, 111 fetcher->delegate()->OnURLFetchComplete(fetcher,
106 GURL(kServiceUrl), 112 GURL(kServiceUrl),
107 GetParam().request_status_, 113 GetParam().request_status_,
108 GetParam().http_status_, 114 GetParam().http_status_,
109 ResponseCookies(), 115 ResponseCookies(),
110 GetParam().response_); 116 GetParam().response_);
111 } 117 }
112 118
113 TEST_P(DeviceManagementServiceFailedRequestTest, UnregisterRequest) { 119 TEST_P(DeviceManagementServiceFailedRequestTest, UnregisterRequest) {
114 DeviceUnregisterResponseDelegateMock mock; 120 DeviceUnregisterResponseDelegateMock mock;
115 EXPECT_CALL(mock, OnError(GetParam().expected_error_)); 121 EXPECT_CALL(mock, OnError(GetParam().expected_error_));
116 em::DeviceUnregisterRequest request; 122 em::DeviceUnregisterRequest request;
117 backend_->ProcessUnregisterRequest("token", request, &mock); 123 backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock);
118 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 124 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
119 ASSERT_TRUE(fetcher); 125 ASSERT_TRUE(fetcher);
120 126
121 fetcher->delegate()->OnURLFetchComplete(fetcher, 127 fetcher->delegate()->OnURLFetchComplete(fetcher,
122 GURL(kServiceUrl), 128 GURL(kServiceUrl),
123 GetParam().request_status_, 129 GetParam().request_status_,
124 GetParam().http_status_, 130 GetParam().http_status_,
125 ResponseCookies(), 131 ResponseCookies(),
126 GetParam().response_); 132 GetParam().response_);
127 } 133 }
128 134
129 TEST_P(DeviceManagementServiceFailedRequestTest, PolicyRequest) { 135 TEST_P(DeviceManagementServiceFailedRequestTest, PolicyRequest) {
130 DevicePolicyResponseDelegateMock mock; 136 DevicePolicyResponseDelegateMock mock;
131 EXPECT_CALL(mock, OnError(GetParam().expected_error_)); 137 EXPECT_CALL(mock, OnError(GetParam().expected_error_));
132 em::DevicePolicyRequest request; 138 em::DevicePolicyRequest request;
133 request.set_policy_scope("Chrome"); 139 request.set_policy_scope("Chrome");
134 em::DevicePolicySettingRequest* setting_request = 140 em::DevicePolicySettingRequest* setting_request =
135 request.add_setting_request(); 141 request.add_setting_request();
136 setting_request->set_key("policy"); 142 setting_request->set_key("policy");
137 backend_->ProcessPolicyRequest("token", request, &mock); 143 backend_->ProcessPolicyRequest(kDMToken, kDeviceId, request, &mock);
138 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 144 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
139 ASSERT_TRUE(fetcher); 145 ASSERT_TRUE(fetcher);
140 146
141 fetcher->delegate()->OnURLFetchComplete(fetcher, 147 fetcher->delegate()->OnURLFetchComplete(fetcher,
142 GURL(kServiceUrl), 148 GURL(kServiceUrl),
143 GetParam().request_status_, 149 GetParam().request_status_,
144 GetParam().http_status_, 150 GetParam().http_status_,
145 ResponseCookies(), 151 ResponseCookies(),
146 GetParam().response_); 152 GetParam().response_);
147 } 153 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 DeviceManagementBackend::kErrorServiceManagementTokenInvalid, 185 DeviceManagementBackend::kErrorServiceManagementTokenInvalid,
180 URLRequestStatus::SUCCESS, 186 URLRequestStatus::SUCCESS,
181 200, 187 200,
182 PROTO_STRING(kResponseErrorManagementTokenInvalid)), 188 PROTO_STRING(kResponseErrorManagementTokenInvalid)),
183 FailedRequestParams( 189 FailedRequestParams(
184 DeviceManagementBackend::kErrorServiceActivationPending, 190 DeviceManagementBackend::kErrorServiceActivationPending,
185 URLRequestStatus::SUCCESS, 191 URLRequestStatus::SUCCESS,
186 200, 192 200,
187 PROTO_STRING(kResponseErrorActivationPending)))); 193 PROTO_STRING(kResponseErrorActivationPending))));
188 194
189 class DeviceManagementServiceTest
190 : public DeviceManagementServiceTestBase<testing::Test> {
191 };
192
193 MATCHER_P(MessageEquals, reference, "") {
194 std::string reference_data;
195 std::string arg_data;
196 return arg.SerializeToString(&arg_data) &&
197 reference.SerializeToString(&reference_data) &&
198 arg_data == reference_data;
199 }
200
201 // Simple query parameter parser for testing. 195 // Simple query parameter parser for testing.
202 class QueryParams { 196 class QueryParams {
203 public: 197 public:
204 explicit QueryParams(const std::string& query) { 198 explicit QueryParams(const std::string& query) {
205 base::SplitStringIntoKeyValuePairs(query, '=', '&', &params_); 199 base::SplitStringIntoKeyValuePairs(query, '=', '&', &params_);
206 } 200 }
207 201
208 bool Check(const std::string& name, const std::string& expected_value) { 202 bool Check(const std::string& name, const std::string& expected_value) {
209 bool found = false; 203 bool found = false;
210 for (ParamMap::const_iterator i(params_.begin()); i != params_.end(); ++i) { 204 for (ParamMap::const_iterator i(params_.begin()); i != params_.end(); ++i) {
(...skipping 20 matching lines...) Expand all
231 } 225 }
232 } 226 }
233 return found; 227 return found;
234 } 228 }
235 229
236 private: 230 private:
237 typedef std::vector<std::pair<std::string, std::string> > ParamMap; 231 typedef std::vector<std::pair<std::string, std::string> > ParamMap;
238 ParamMap params_; 232 ParamMap params_;
239 }; 233 };
240 234
235 class DeviceManagementServiceTest
236 : public DeviceManagementServiceTestBase<testing::Test> {
237 protected:
238 void CheckURLAndQueryParams(const GURL& request_url,
239 const std::string& request_type,
240 const std::string& device_id) {
241 const GURL service_url(kServiceUrl);
242 EXPECT_EQ(service_url.scheme(), request_url.scheme());
243 EXPECT_EQ(service_url.host(), request_url.host());
244 EXPECT_EQ(service_url.port(), request_url.port());
245 EXPECT_EQ(service_url.path(), request_url.path());
246
247 QueryParams query_params(request_url.query());
248 EXPECT_TRUE(query_params.Check(
249 DeviceManagementBackendImpl::kParamRequest, request_type));
250 EXPECT_TRUE(query_params.Check(
251 DeviceManagementBackendImpl::kParamDeviceID, device_id));
252 EXPECT_TRUE(query_params.Check(
253 DeviceManagementBackendImpl::kParamDeviceType,
254 DeviceManagementBackendImpl::kValueDeviceType));
255 EXPECT_TRUE(query_params.Check(
256 DeviceManagementBackendImpl::kParamAppType,
257 DeviceManagementBackendImpl::kValueAppType));
258 EXPECT_TRUE(query_params.Check(
259 DeviceManagementBackendImpl::kParamAgent,
260 DeviceManagementBackendImpl::GetAgentString()));
261 }
262 };
263
264 MATCHER_P(MessageEquals, reference, "") {
265 std::string reference_data;
266 std::string arg_data;
267 return arg.SerializeToString(&arg_data) &&
268 reference.SerializeToString(&reference_data) &&
269 arg_data == reference_data;
270 }
271
241 TEST_F(DeviceManagementServiceTest, RegisterRequest) { 272 TEST_F(DeviceManagementServiceTest, RegisterRequest) {
242 DeviceRegisterResponseDelegateMock mock; 273 DeviceRegisterResponseDelegateMock mock;
243 em::DeviceRegisterResponse expected_response; 274 em::DeviceRegisterResponse expected_response;
244 expected_response.set_device_management_token("mtoken"); 275 expected_response.set_device_management_token(kDMToken);
245 EXPECT_CALL(mock, HandleRegisterResponse(MessageEquals(expected_response))); 276 EXPECT_CALL(mock, HandleRegisterResponse(MessageEquals(expected_response)));
246 em::DeviceRegisterRequest request; 277 em::DeviceRegisterRequest request;
247 backend_->ProcessRegisterRequest("token", "device id", request, &mock); 278 backend_->ProcessRegisterRequest(kDMToken, kDeviceId, request, &mock);
248 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 279 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
249 ASSERT_TRUE(fetcher); 280 ASSERT_TRUE(fetcher);
250 281
251 // Check the data the fetcher received. 282 CheckURLAndQueryParams(fetcher->original_url(),
252 const GURL& request_url(fetcher->original_url()); 283 DeviceManagementBackendImpl::kValueRequestRegister,
253 const GURL service_url(kServiceUrl); 284 kDeviceId);
254 EXPECT_EQ(service_url.scheme(), request_url.scheme());
255 EXPECT_EQ(service_url.host(), request_url.host());
256 EXPECT_EQ(service_url.port(), request_url.port());
257 EXPECT_EQ(service_url.path(), request_url.path());
258
259 QueryParams query_params(request_url.query());
260 EXPECT_TRUE(query_params.Check("request", "register"));
261 285
262 em::DeviceManagementRequest expected_request_wrapper; 286 em::DeviceManagementRequest expected_request_wrapper;
263 expected_request_wrapper.mutable_register_request()->CopyFrom(request); 287 expected_request_wrapper.mutable_register_request()->CopyFrom(request);
264 std::string expected_request_data; 288 std::string expected_request_data;
265 ASSERT_TRUE(expected_request_wrapper.SerializeToString( 289 ASSERT_TRUE(expected_request_wrapper.SerializeToString(
266 &expected_request_data)); 290 &expected_request_data));
267 EXPECT_EQ(expected_request_data, fetcher->upload_data()); 291 EXPECT_EQ(expected_request_data, fetcher->upload_data());
268 292
269 // Generate the response. 293 // Generate the response.
270 std::string response_data; 294 std::string response_data;
271 em::DeviceManagementResponse response_wrapper; 295 em::DeviceManagementResponse response_wrapper;
272 response_wrapper.set_error(em::DeviceManagementResponse::SUCCESS); 296 response_wrapper.set_error(em::DeviceManagementResponse::SUCCESS);
273 response_wrapper.mutable_register_response()->CopyFrom(expected_response); 297 response_wrapper.mutable_register_response()->CopyFrom(expected_response);
274 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data)); 298 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data));
275 URLRequestStatus status(URLRequestStatus::SUCCESS, 0); 299 URLRequestStatus status(URLRequestStatus::SUCCESS, 0);
276 fetcher->delegate()->OnURLFetchComplete(fetcher, 300 fetcher->delegate()->OnURLFetchComplete(fetcher,
277 GURL(kServiceUrl), 301 GURL(kServiceUrl),
278 status, 302 status,
279 200, 303 200,
280 ResponseCookies(), 304 ResponseCookies(),
281 response_data); 305 response_data);
282 } 306 }
283 307
284 TEST_F(DeviceManagementServiceTest, UnregisterRequest) { 308 TEST_F(DeviceManagementServiceTest, UnregisterRequest) {
285 DeviceUnregisterResponseDelegateMock mock; 309 DeviceUnregisterResponseDelegateMock mock;
286 em::DeviceUnregisterResponse expected_response; 310 em::DeviceUnregisterResponse expected_response;
287 EXPECT_CALL(mock, HandleUnregisterResponse(MessageEquals(expected_response))); 311 EXPECT_CALL(mock, HandleUnregisterResponse(MessageEquals(expected_response)));
288 em::DeviceUnregisterRequest request; 312 em::DeviceUnregisterRequest request;
289 backend_->ProcessUnregisterRequest("dmtokenvalue", request, &mock); 313 backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock);
290 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 314 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
291 ASSERT_TRUE(fetcher); 315 ASSERT_TRUE(fetcher);
292 316
293 // Check the data the fetcher received. 317 // Check the data the fetcher received.
294 const GURL& request_url(fetcher->original_url()); 318 const GURL& request_url(fetcher->original_url());
295 const GURL service_url(kServiceUrl); 319 const GURL service_url(kServiceUrl);
296 EXPECT_EQ(service_url.scheme(), request_url.scheme()); 320 EXPECT_EQ(service_url.scheme(), request_url.scheme());
297 EXPECT_EQ(service_url.host(), request_url.host()); 321 EXPECT_EQ(service_url.host(), request_url.host());
298 EXPECT_EQ(service_url.port(), request_url.port()); 322 EXPECT_EQ(service_url.port(), request_url.port());
299 EXPECT_EQ(service_url.path(), request_url.path()); 323 EXPECT_EQ(service_url.path(), request_url.path());
300 324
301 QueryParams query_params(request_url.query()); 325 CheckURLAndQueryParams(fetcher->original_url(),
302 EXPECT_TRUE(query_params.Check("request", "unregister")); 326 DeviceManagementBackendImpl::kValueRequestUnregister,
327 kDeviceId);
303 328
304 em::DeviceManagementRequest expected_request_wrapper; 329 em::DeviceManagementRequest expected_request_wrapper;
305 expected_request_wrapper.mutable_unregister_request()->CopyFrom(request); 330 expected_request_wrapper.mutable_unregister_request()->CopyFrom(request);
306 std::string expected_request_data; 331 std::string expected_request_data;
307 ASSERT_TRUE(expected_request_wrapper.SerializeToString( 332 ASSERT_TRUE(expected_request_wrapper.SerializeToString(
308 &expected_request_data)); 333 &expected_request_data));
309 EXPECT_EQ(expected_request_data, fetcher->upload_data()); 334 EXPECT_EQ(expected_request_data, fetcher->upload_data());
310 335
311 // Generate the response. 336 // Generate the response.
312 std::string response_data; 337 std::string response_data;
(...skipping 28 matching lines...) Expand all
341 em::GenericValue::VALUE_TYPE_BOOL); 366 em::GenericValue::VALUE_TYPE_BOOL);
342 named_value->mutable_value()->set_bool_value(false); 367 named_value->mutable_value()->set_bool_value(false);
343 EXPECT_CALL(mock, HandlePolicyResponse(MessageEquals(expected_response))); 368 EXPECT_CALL(mock, HandlePolicyResponse(MessageEquals(expected_response)));
344 369
345 em::DevicePolicyRequest request; 370 em::DevicePolicyRequest request;
346 request.set_policy_scope("chromeos/device"); 371 request.set_policy_scope("chromeos/device");
347 em::DevicePolicySettingRequest* setting_request = 372 em::DevicePolicySettingRequest* setting_request =
348 request.add_setting_request(); 373 request.add_setting_request();
349 setting_request->set_key("policy"); 374 setting_request->set_key("policy");
350 setting_request->set_watermark("stale"); 375 setting_request->set_watermark("stale");
351 backend_->ProcessPolicyRequest("dmtokenvalue", request, &mock); 376 backend_->ProcessPolicyRequest(kDMToken, kDeviceId, request, &mock);
352 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 377 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
353 ASSERT_TRUE(fetcher); 378 ASSERT_TRUE(fetcher);
354 379
355 // Check the data the fetcher received. 380 CheckURLAndQueryParams(fetcher->original_url(),
356 const GURL& request_url(fetcher->original_url()); 381 DeviceManagementBackendImpl::kValueRequestPolicy,
357 const GURL service_url(kServiceUrl); 382 kDeviceId);
358 EXPECT_EQ(service_url.scheme(), request_url.scheme());
359 EXPECT_EQ(service_url.host(), request_url.host());
360 EXPECT_EQ(service_url.port(), request_url.port());
361 EXPECT_EQ(service_url.path(), request_url.path());
362
363 QueryParams query_params(request_url.query());
364 EXPECT_TRUE(query_params.Check("request", "policy"));
365 383
366 em::DeviceManagementRequest expected_request_wrapper; 384 em::DeviceManagementRequest expected_request_wrapper;
367 expected_request_wrapper.mutable_policy_request()->CopyFrom(request); 385 expected_request_wrapper.mutable_policy_request()->CopyFrom(request);
368 std::string expected_request_data; 386 std::string expected_request_data;
369 ASSERT_TRUE(expected_request_wrapper.SerializeToString( 387 ASSERT_TRUE(expected_request_wrapper.SerializeToString(
370 &expected_request_data)); 388 &expected_request_data));
371 EXPECT_EQ(expected_request_data, fetcher->upload_data()); 389 EXPECT_EQ(expected_request_data, fetcher->upload_data());
372 390
373 // Generate the response. 391 // Generate the response.
374 std::string response_data; 392 std::string response_data;
375 em::DeviceManagementResponse response_wrapper; 393 em::DeviceManagementResponse response_wrapper;
376 response_wrapper.set_error(em::DeviceManagementResponse::SUCCESS); 394 response_wrapper.set_error(em::DeviceManagementResponse::SUCCESS);
377 response_wrapper.mutable_policy_response()->CopyFrom(expected_response); 395 response_wrapper.mutable_policy_response()->CopyFrom(expected_response);
378 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data)); 396 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data));
379 URLRequestStatus status(URLRequestStatus::SUCCESS, 0); 397 URLRequestStatus status(URLRequestStatus::SUCCESS, 0);
380 fetcher->delegate()->OnURLFetchComplete(fetcher, 398 fetcher->delegate()->OnURLFetchComplete(fetcher,
381 GURL(kServiceUrl), 399 GURL(kServiceUrl),
382 status, 400 status,
383 200, 401 200,
384 ResponseCookies(), 402 ResponseCookies(),
385 response_data); 403 response_data);
386 } 404 }
387 405
388 TEST_F(DeviceManagementServiceTest, CancelRegisterRequest) { 406 TEST_F(DeviceManagementServiceTest, CancelRegisterRequest) {
389 DeviceRegisterResponseDelegateMock mock; 407 DeviceRegisterResponseDelegateMock mock;
390 EXPECT_CALL(mock, HandleRegisterResponse(_)).Times(0); 408 EXPECT_CALL(mock, HandleRegisterResponse(_)).Times(0);
391 em::DeviceRegisterRequest request; 409 em::DeviceRegisterRequest request;
392 backend_->ProcessRegisterRequest("token", "device id", request, &mock); 410 backend_->ProcessRegisterRequest(kAuthToken, kDeviceId, request, &mock);
393 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 411 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
394 ASSERT_TRUE(fetcher); 412 ASSERT_TRUE(fetcher);
395 413
396 // There shouldn't be any callbacks. 414 // There shouldn't be any callbacks.
397 backend_.reset(); 415 backend_.reset();
398 } 416 }
399 417
400 TEST_F(DeviceManagementServiceTest, CancelUnregisterRequest) { 418 TEST_F(DeviceManagementServiceTest, CancelUnregisterRequest) {
401 DeviceUnregisterResponseDelegateMock mock; 419 DeviceUnregisterResponseDelegateMock mock;
402 EXPECT_CALL(mock, HandleUnregisterResponse(_)).Times(0); 420 EXPECT_CALL(mock, HandleUnregisterResponse(_)).Times(0);
403 em::DeviceUnregisterRequest request; 421 em::DeviceUnregisterRequest request;
404 backend_->ProcessUnregisterRequest("dmtokenvalue", request, &mock); 422 backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock);
405 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 423 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
406 ASSERT_TRUE(fetcher); 424 ASSERT_TRUE(fetcher);
407 425
408 // There shouldn't be any callbacks. 426 // There shouldn't be any callbacks.
409 backend_.reset(); 427 backend_.reset();
410 } 428 }
411 429
412 TEST_F(DeviceManagementServiceTest, CancelPolicyRequest) { 430 TEST_F(DeviceManagementServiceTest, CancelPolicyRequest) {
413 DevicePolicyResponseDelegateMock mock; 431 DevicePolicyResponseDelegateMock mock;
414 EXPECT_CALL(mock, HandlePolicyResponse(_)).Times(0); 432 EXPECT_CALL(mock, HandlePolicyResponse(_)).Times(0);
415 em::DevicePolicyRequest request; 433 em::DevicePolicyRequest request;
416 request.set_policy_scope("chromium"); 434 request.set_policy_scope("chromium");
417 em::DevicePolicySettingRequest* setting_request = 435 em::DevicePolicySettingRequest* setting_request =
418 request.add_setting_request(); 436 request.add_setting_request();
419 setting_request->set_key("policy"); 437 setting_request->set_key("policy");
420 setting_request->set_watermark("stale"); 438 setting_request->set_watermark("stale");
421 backend_->ProcessPolicyRequest("dmtokenvalue", request, &mock); 439 backend_->ProcessPolicyRequest(kDMToken, kDeviceId, request, &mock);
422 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 440 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
423 ASSERT_TRUE(fetcher); 441 ASSERT_TRUE(fetcher);
424 442
425 // There shouldn't be any callbacks. 443 // There shouldn't be any callbacks.
426 backend_.reset(); 444 backend_.reset();
427 } 445 }
428 446
429 TEST_F(DeviceManagementServiceTest, JobQueueing) { 447 TEST_F(DeviceManagementServiceTest, JobQueueing) {
430 // Start with a non-initialized service. 448 // Start with a non-initialized service.
431 ResetService(); 449 ResetService();
432 450
433 // Make a request. We should not see any fetchers being created. 451 // Make a request. We should not see any fetchers being created.
434 DeviceRegisterResponseDelegateMock mock; 452 DeviceRegisterResponseDelegateMock mock;
435 em::DeviceRegisterResponse expected_response; 453 em::DeviceRegisterResponse expected_response;
436 expected_response.set_device_management_token("mtoken"); 454 expected_response.set_device_management_token(kDMToken);
437 EXPECT_CALL(mock, HandleRegisterResponse(MessageEquals(expected_response))); 455 EXPECT_CALL(mock, HandleRegisterResponse(MessageEquals(expected_response)));
438 em::DeviceRegisterRequest request; 456 em::DeviceRegisterRequest request;
439 backend_->ProcessRegisterRequest("token", "device id", request, &mock); 457 backend_->ProcessRegisterRequest(kAuthToken, kDeviceId, request, &mock);
440 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 458 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
441 ASSERT_FALSE(fetcher); 459 ASSERT_FALSE(fetcher);
442 460
443 // Now initialize the service. That should start the job. 461 // Now initialize the service. That should start the job.
444 service_->Initialize(request_context_.get()); 462 service_->Initialize(request_context_.get());
445 fetcher = factory_.GetFetcherByID(0); 463 fetcher = factory_.GetFetcherByID(0);
446 ASSERT_TRUE(fetcher); 464 ASSERT_TRUE(fetcher);
447 factory_.RemoveFetcherFromMap(0); 465 factory_.RemoveFetcherFromMap(0);
448 466
449 // Check that the request is processed as expected. 467 // Check that the request is processed as expected.
450 std::string response_data; 468 std::string response_data;
451 em::DeviceManagementResponse response_wrapper; 469 em::DeviceManagementResponse response_wrapper;
452 response_wrapper.set_error(em::DeviceManagementResponse::SUCCESS); 470 response_wrapper.set_error(em::DeviceManagementResponse::SUCCESS);
453 response_wrapper.mutable_register_response()->CopyFrom(expected_response); 471 response_wrapper.mutable_register_response()->CopyFrom(expected_response);
454 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data)); 472 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data));
455 URLRequestStatus status(URLRequestStatus::SUCCESS, 0); 473 URLRequestStatus status(URLRequestStatus::SUCCESS, 0);
456 fetcher->delegate()->OnURLFetchComplete(fetcher, 474 fetcher->delegate()->OnURLFetchComplete(fetcher,
457 GURL(kServiceUrl), 475 GURL(kServiceUrl),
458 status, 476 status,
459 200, 477 200,
460 ResponseCookies(), 478 ResponseCookies(),
461 response_data); 479 response_data);
462 } 480 }
463 481
464 } // namespace policy 482 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/device_management_service_browsertest.cc ('k') | chrome/browser/policy/mock_device_management_backend.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698