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

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

Issue 8373021: Convert URLFetcher::Delegates to use an interface in content/public/common. Also remove the old U... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync and remove unncessary forward declares Created 9 years, 2 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 <ostream> 5 #include <ostream>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/string_split.h" 9 #include "base/string_split.h"
10 #include "chrome/browser/policy/device_management_backend_impl.h" 10 #include "chrome/browser/policy/device_management_backend_impl.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 114
115 TEST_P(DeviceManagementServiceFailedRequestTest, RegisterRequest) { 115 TEST_P(DeviceManagementServiceFailedRequestTest, RegisterRequest) {
116 DeviceRegisterResponseDelegateMock mock; 116 DeviceRegisterResponseDelegateMock mock;
117 EXPECT_CALL(mock, OnError(GetParam().expected_error_)); 117 EXPECT_CALL(mock, OnError(GetParam().expected_error_));
118 em::DeviceRegisterRequest request; 118 em::DeviceRegisterRequest request;
119 backend_->ProcessRegisterRequest(kGaiaAuthToken, kOAuthToken, 119 backend_->ProcessRegisterRequest(kGaiaAuthToken, kOAuthToken,
120 kDeviceId, request, &mock); 120 kDeviceId, request, &mock);
121 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 121 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
122 ASSERT_TRUE(fetcher); 122 ASSERT_TRUE(fetcher);
123 123
124 fetcher->delegate()->OnURLFetchComplete(fetcher, 124 fetcher->set_url(GURL(kServiceUrl));
125 GURL(kServiceUrl), 125 fetcher->set_status(GetParam().request_status_);
126 GetParam().request_status_, 126 fetcher->set_response_code(GetParam().http_status_);
127 GetParam().http_status_, 127 fetcher->SetResponseString(GetParam().response_);
128 net::ResponseCookies(), 128 fetcher->delegate()->OnURLFetchComplete(fetcher);
129 GetParam().response_);
130 } 129 }
131 130
132 TEST_P(DeviceManagementServiceFailedRequestTest, UnregisterRequest) { 131 TEST_P(DeviceManagementServiceFailedRequestTest, UnregisterRequest) {
133 DeviceUnregisterResponseDelegateMock mock; 132 DeviceUnregisterResponseDelegateMock mock;
134 EXPECT_CALL(mock, OnError(GetParam().expected_error_)); 133 EXPECT_CALL(mock, OnError(GetParam().expected_error_));
135 em::DeviceUnregisterRequest request; 134 em::DeviceUnregisterRequest request;
136 backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock); 135 backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock);
137 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 136 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
138 ASSERT_TRUE(fetcher); 137 ASSERT_TRUE(fetcher);
139 138
140 fetcher->delegate()->OnURLFetchComplete(fetcher, 139 fetcher->set_url(GURL(kServiceUrl));
141 GURL(kServiceUrl), 140 fetcher->set_status(GetParam().request_status_);
142 GetParam().request_status_, 141 fetcher->set_response_code(GetParam().http_status_);
143 GetParam().http_status_, 142 fetcher->SetResponseString(GetParam().response_);
144 net::ResponseCookies(), 143 fetcher->delegate()->OnURLFetchComplete(fetcher);
145 GetParam().response_);
146 } 144 }
147 145
148 TEST_P(DeviceManagementServiceFailedRequestTest, PolicyRequest) { 146 TEST_P(DeviceManagementServiceFailedRequestTest, PolicyRequest) {
149 DevicePolicyResponseDelegateMock mock; 147 DevicePolicyResponseDelegateMock mock;
150 EXPECT_CALL(mock, OnError(GetParam().expected_error_)); 148 EXPECT_CALL(mock, OnError(GetParam().expected_error_));
151 em::DevicePolicyRequest request; 149 em::DevicePolicyRequest request;
152 request.set_policy_scope(kChromePolicyScope); 150 request.set_policy_scope(kChromePolicyScope);
153 em::DevicePolicySettingRequest* setting_request = 151 em::DevicePolicySettingRequest* setting_request =
154 request.add_setting_request(); 152 request.add_setting_request();
155 setting_request->set_key(kChromeDevicePolicySettingKey); 153 setting_request->set_key(kChromeDevicePolicySettingKey);
156 backend_->ProcessPolicyRequest(kDMToken, kDeviceId, 154 backend_->ProcessPolicyRequest(kDMToken, kDeviceId,
157 CloudPolicyDataStore::USER_AFFILIATION_NONE, 155 CloudPolicyDataStore::USER_AFFILIATION_NONE,
158 request, &mock); 156 request, &mock);
159 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 157 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
160 ASSERT_TRUE(fetcher); 158 ASSERT_TRUE(fetcher);
161 159
162 fetcher->delegate()->OnURLFetchComplete(fetcher, 160 fetcher->set_url(GURL(kServiceUrl));
163 GURL(kServiceUrl), 161 fetcher->set_status(GetParam().request_status_);
164 GetParam().request_status_, 162 fetcher->set_response_code(GetParam().http_status_);
165 GetParam().http_status_, 163 fetcher->SetResponseString(GetParam().response_);
166 net::ResponseCookies(), 164 fetcher->delegate()->OnURLFetchComplete(fetcher);
167 GetParam().response_);
168 } 165 }
169 166
170 INSTANTIATE_TEST_CASE_P( 167 INSTANTIATE_TEST_CASE_P(
171 DeviceManagementServiceFailedRequestTestInstance, 168 DeviceManagementServiceFailedRequestTestInstance,
172 DeviceManagementServiceFailedRequestTest, 169 DeviceManagementServiceFailedRequestTest,
173 testing::Values( 170 testing::Values(
174 FailedRequestParams( 171 FailedRequestParams(
175 DeviceManagementBackend::kErrorRequestFailed, 172 DeviceManagementBackend::kErrorRequestFailed,
176 net::URLRequestStatus::FAILED, 173 net::URLRequestStatus::FAILED,
177 200, 174 200,
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 ASSERT_TRUE(expected_request_wrapper.SerializeToString( 339 ASSERT_TRUE(expected_request_wrapper.SerializeToString(
343 &expected_request_data)); 340 &expected_request_data));
344 EXPECT_EQ(expected_request_data, fetcher->upload_data()); 341 EXPECT_EQ(expected_request_data, fetcher->upload_data());
345 342
346 // Generate the response. 343 // Generate the response.
347 std::string response_data; 344 std::string response_data;
348 em::DeviceManagementResponse response_wrapper; 345 em::DeviceManagementResponse response_wrapper;
349 response_wrapper.mutable_register_response()->CopyFrom(expected_response); 346 response_wrapper.mutable_register_response()->CopyFrom(expected_response);
350 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data)); 347 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data));
351 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); 348 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0);
352 fetcher->delegate()->OnURLFetchComplete(fetcher, 349 fetcher->set_url(GURL(kServiceUrl));
353 GURL(kServiceUrl), 350 fetcher->set_status(status);
354 status, 351 fetcher->set_response_code(200);
355 200, 352 fetcher->SetResponseString(response_data);
356 net::ResponseCookies(), 353 fetcher->delegate()->OnURLFetchComplete(fetcher);
357 response_data);
358 } 354 }
359 355
360 TEST_F(DeviceManagementServiceTest, UnregisterRequest) { 356 TEST_F(DeviceManagementServiceTest, UnregisterRequest) {
361 DeviceUnregisterResponseDelegateMock mock; 357 DeviceUnregisterResponseDelegateMock mock;
362 em::DeviceUnregisterResponse expected_response; 358 em::DeviceUnregisterResponse expected_response;
363 EXPECT_CALL(mock, HandleUnregisterResponse(MessageEquals(expected_response))); 359 EXPECT_CALL(mock, HandleUnregisterResponse(MessageEquals(expected_response)));
364 em::DeviceUnregisterRequest request; 360 em::DeviceUnregisterRequest request;
365 backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock); 361 backend_->ProcessUnregisterRequest(kDMToken, kDeviceId, request, &mock);
366 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 362 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
367 ASSERT_TRUE(fetcher); 363 ASSERT_TRUE(fetcher);
(...skipping 16 matching lines...) Expand all
384 ASSERT_TRUE(expected_request_wrapper.SerializeToString( 380 ASSERT_TRUE(expected_request_wrapper.SerializeToString(
385 &expected_request_data)); 381 &expected_request_data));
386 EXPECT_EQ(expected_request_data, fetcher->upload_data()); 382 EXPECT_EQ(expected_request_data, fetcher->upload_data());
387 383
388 // Generate the response. 384 // Generate the response.
389 std::string response_data; 385 std::string response_data;
390 em::DeviceManagementResponse response_wrapper; 386 em::DeviceManagementResponse response_wrapper;
391 response_wrapper.mutable_unregister_response()->CopyFrom(expected_response); 387 response_wrapper.mutable_unregister_response()->CopyFrom(expected_response);
392 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data)); 388 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data));
393 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); 389 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0);
394 fetcher->delegate()->OnURLFetchComplete(fetcher, 390 fetcher->set_url(GURL(kServiceUrl));
395 GURL(kServiceUrl), 391 fetcher->set_status(status);
396 status, 392 fetcher->set_response_code(200);
397 200, 393 fetcher->SetResponseString(response_data);
398 net::ResponseCookies(), 394 fetcher->delegate()->OnURLFetchComplete(fetcher);
399 response_data);
400 } 395 }
401 396
402 TEST_F(DeviceManagementServiceTest, CancelRegisterRequest) { 397 TEST_F(DeviceManagementServiceTest, CancelRegisterRequest) {
403 DeviceRegisterResponseDelegateMock mock; 398 DeviceRegisterResponseDelegateMock mock;
404 EXPECT_CALL(mock, HandleRegisterResponse(_)).Times(0); 399 EXPECT_CALL(mock, HandleRegisterResponse(_)).Times(0);
405 em::DeviceRegisterRequest request; 400 em::DeviceRegisterRequest request;
406 backend_->ProcessRegisterRequest(kGaiaAuthToken, kOAuthToken, 401 backend_->ProcessRegisterRequest(kGaiaAuthToken, kOAuthToken,
407 kDeviceId, request, &mock); 402 kDeviceId, request, &mock);
408 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 403 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
409 ASSERT_TRUE(fetcher); 404 ASSERT_TRUE(fetcher);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 fetcher = factory_.GetFetcherByID(0); 458 fetcher = factory_.GetFetcherByID(0);
464 ASSERT_TRUE(fetcher); 459 ASSERT_TRUE(fetcher);
465 factory_.RemoveFetcherFromMap(0); 460 factory_.RemoveFetcherFromMap(0);
466 461
467 // Check that the request is processed as expected. 462 // Check that the request is processed as expected.
468 std::string response_data; 463 std::string response_data;
469 em::DeviceManagementResponse response_wrapper; 464 em::DeviceManagementResponse response_wrapper;
470 response_wrapper.mutable_register_response()->CopyFrom(expected_response); 465 response_wrapper.mutable_register_response()->CopyFrom(expected_response);
471 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data)); 466 ASSERT_TRUE(response_wrapper.SerializeToString(&response_data));
472 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); 467 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0);
473 fetcher->delegate()->OnURLFetchComplete(fetcher, 468 fetcher->set_url(GURL(kServiceUrl));
474 GURL(kServiceUrl), 469 fetcher->set_status(status);
475 status, 470 fetcher->set_response_code(200);
476 200, 471 fetcher->SetResponseString(response_data);
477 net::ResponseCookies(), 472 fetcher->delegate()->OnURLFetchComplete(fetcher);
478 response_data);
479 } 473 }
480 474
481 TEST_F(DeviceManagementServiceTest, CancelRequestAfterShutdown) { 475 TEST_F(DeviceManagementServiceTest, CancelRequestAfterShutdown) {
482 DevicePolicyResponseDelegateMock mock; 476 DevicePolicyResponseDelegateMock mock;
483 EXPECT_CALL(mock, HandlePolicyResponse(_)).Times(0); 477 EXPECT_CALL(mock, HandlePolicyResponse(_)).Times(0);
484 em::DevicePolicyRequest request; 478 em::DevicePolicyRequest request;
485 request.set_policy_scope(kChromePolicyScope); 479 request.set_policy_scope(kChromePolicyScope);
486 em::DevicePolicySettingRequest* setting_request = 480 em::DevicePolicySettingRequest* setting_request =
487 request.add_setting_request(); 481 request.add_setting_request();
488 setting_request->set_key(kChromeDevicePolicySettingKey); 482 setting_request->set_key(kChromeDevicePolicySettingKey);
(...skipping 17 matching lines...) Expand all
506 &DeviceManagementServiceTest::ResetBackend)) 500 &DeviceManagementServiceTest::ResetBackend))
507 .RetiresOnSaturation(); 501 .RetiresOnSaturation();
508 em::DeviceRegisterRequest request; 502 em::DeviceRegisterRequest request;
509 backend_->ProcessRegisterRequest(kGaiaAuthToken, kOAuthToken, 503 backend_->ProcessRegisterRequest(kGaiaAuthToken, kOAuthToken,
510 kDeviceId, request, &mock); 504 kDeviceId, request, &mock);
511 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 505 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
512 ASSERT_TRUE(fetcher); 506 ASSERT_TRUE(fetcher);
513 507
514 // Generate a callback. 508 // Generate a callback.
515 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); 509 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0);
516 fetcher->delegate()->OnURLFetchComplete(fetcher, 510 fetcher->set_url(GURL(kServiceUrl));
517 GURL(kServiceUrl), 511 fetcher->set_status(status);
518 status, 512 fetcher->set_response_code(500);
519 500, 513 fetcher->delegate()->OnURLFetchComplete(fetcher);
520 net::ResponseCookies(),
521 "");
522 514
523 // Backend should have been reset. 515 // Backend should have been reset.
524 EXPECT_FALSE(backend_.get()); 516 EXPECT_FALSE(backend_.get());
525 } 517 }
526 518
527 TEST_F(DeviceManagementServiceTest, RetryOnProxyError) { 519 TEST_F(DeviceManagementServiceTest, RetryOnProxyError) {
528 // Make a request. 520 // Make a request.
529 DeviceRegisterResponseDelegateMock mock; 521 DeviceRegisterResponseDelegateMock mock;
530 EXPECT_CALL(mock, HandleRegisterResponse(_)).Times(0); 522 EXPECT_CALL(mock, HandleRegisterResponse(_)).Times(0);
531 EXPECT_CALL(mock, OnError(_)).Times(0); 523 EXPECT_CALL(mock, OnError(_)).Times(0);
532 524
533 em::DeviceRegisterRequest request; 525 em::DeviceRegisterRequest request;
534 backend_->ProcessRegisterRequest(kGaiaAuthToken, kOAuthToken, 526 backend_->ProcessRegisterRequest(kGaiaAuthToken, kOAuthToken,
535 kDeviceId, request, &mock); 527 kDeviceId, request, &mock);
536 TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 528 TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
537 ASSERT_TRUE(fetcher); 529 ASSERT_TRUE(fetcher);
538 EXPECT_TRUE((fetcher->load_flags() & net::LOAD_BYPASS_PROXY) == 0); 530 EXPECT_TRUE((fetcher->load_flags() & net::LOAD_BYPASS_PROXY) == 0);
539 const GURL original_url(fetcher->original_url()); 531 const GURL original_url(fetcher->original_url());
540 const std::string upload_data(fetcher->upload_data()); 532 const std::string upload_data(fetcher->upload_data());
541 533
542 // Generate a callback with a proxy failure. 534 // Generate a callback with a proxy failure.
543 net::URLRequestStatus status(net::URLRequestStatus::FAILED, 535 net::URLRequestStatus status(net::URLRequestStatus::FAILED,
544 net::ERR_PROXY_CONNECTION_FAILED); 536 net::ERR_PROXY_CONNECTION_FAILED);
545 fetcher->delegate()->OnURLFetchComplete(fetcher, 537 fetcher->set_url(GURL(kServiceUrl));
546 GURL(kServiceUrl), 538 fetcher->set_status(status);
547 status, 539 fetcher->set_response_code(200);
548 0, 540 fetcher->delegate()->OnURLFetchComplete(fetcher);
549 net::ResponseCookies(),
550 "");
551 541
552 // Verify that a new URLFetcher was started that bypasses the proxy. 542 // Verify that a new URLFetcher was started that bypasses the proxy.
553 fetcher = factory_.GetFetcherByID(0); 543 fetcher = factory_.GetFetcherByID(0);
554 ASSERT_TRUE(fetcher); 544 ASSERT_TRUE(fetcher);
555 EXPECT_TRUE(fetcher->load_flags() & net::LOAD_BYPASS_PROXY); 545 EXPECT_TRUE(fetcher->load_flags() & net::LOAD_BYPASS_PROXY);
556 EXPECT_EQ(original_url, fetcher->original_url()); 546 EXPECT_EQ(original_url, fetcher->original_url());
557 EXPECT_EQ(upload_data, fetcher->upload_data()); 547 EXPECT_EQ(upload_data, fetcher->upload_data());
558 } 548 }
559 549
560 TEST_F(DeviceManagementServiceTest, RetryOnBadResponseFromProxy) { 550 TEST_F(DeviceManagementServiceTest, RetryOnBadResponseFromProxy) {
(...skipping 12 matching lines...) Expand all
573 const std::string upload_data(fetcher->upload_data()); 563 const std::string upload_data(fetcher->upload_data());
574 fetcher->set_was_fetched_via_proxy(true); 564 fetcher->set_was_fetched_via_proxy(true);
575 scoped_refptr<net::HttpResponseHeaders> headers; 565 scoped_refptr<net::HttpResponseHeaders> headers;
576 headers = new net::HttpResponseHeaders( 566 headers = new net::HttpResponseHeaders(
577 "HTTP/1.1 200 OK\0Content-type: bad/type\0\0"); 567 "HTTP/1.1 200 OK\0Content-type: bad/type\0\0");
578 fetcher->set_response_headers(headers); 568 fetcher->set_response_headers(headers);
579 569
580 // Generate a callback with a valid http response, that was generated by 570 // Generate a callback with a valid http response, that was generated by
581 // a bad/wrong proxy. 571 // a bad/wrong proxy.
582 net::URLRequestStatus status; 572 net::URLRequestStatus status;
583 fetcher->delegate()->OnURLFetchComplete(fetcher, 573 fetcher->set_url(GURL(kServiceUrl));
584 GURL(kServiceUrl), 574 fetcher->set_status(status);
585 status, 575 fetcher->set_response_code(200);
586 200, 576 fetcher->delegate()->OnURLFetchComplete(fetcher);
587 net::ResponseCookies(),
588 "");
589 577
590 // Verify that a new URLFetcher was started that bypasses the proxy. 578 // Verify that a new URLFetcher was started that bypasses the proxy.
591 fetcher = factory_.GetFetcherByID(0); 579 fetcher = factory_.GetFetcherByID(0);
592 ASSERT_TRUE(fetcher); 580 ASSERT_TRUE(fetcher);
593 EXPECT_TRUE((fetcher->load_flags() & net::LOAD_BYPASS_PROXY) != 0); 581 EXPECT_TRUE((fetcher->load_flags() & net::LOAD_BYPASS_PROXY) != 0);
594 EXPECT_EQ(original_url, fetcher->original_url()); 582 EXPECT_EQ(original_url, fetcher->original_url());
595 EXPECT_EQ(upload_data, fetcher->upload_data()); 583 EXPECT_EQ(upload_data, fetcher->upload_data());
596 } 584 }
597 585
598 } // namespace policy 586 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698