| Index: components/policy/core/common/cloud/device_management_service_unittest.cc
|
| diff --git a/components/policy/core/common/cloud/device_management_service_unittest.cc b/components/policy/core/common/cloud/device_management_service_unittest.cc
|
| index 6da74eef1657c286d73b6a5a761d10299f3e10e7..7005937dd64a82df45e3cf2b6eb4553823f19ac4 100644
|
| --- a/components/policy/core/common/cloud/device_management_service_unittest.cc
|
| +++ b/components/policy/core/common/cloud/device_management_service_unittest.cc
|
| @@ -94,6 +94,20 @@ class DeviceManagementServiceTestBase : public testing::Test {
|
| return job;
|
| }
|
|
|
| + DeviceManagementRequestJob* StartCertBasedRegistrationJob() {
|
| + DeviceManagementRequestJob* job = service_->CreateJob(
|
| + DeviceManagementRequestJob::TYPE_CERT_BASED_REGISTRATION,
|
| + request_context_.get());
|
| + job->SetGaiaToken(kGaiaAuthToken);
|
| + job->SetClientID(kClientID);
|
| + job->GetRequest()->mutable_register_request();
|
| + job->SetRetryCallback(base::Bind(
|
| + &DeviceManagementServiceTestBase::OnJobRetry, base::Unretained(this)));
|
| + job->Start(base::Bind(&DeviceManagementServiceTestBase::OnJobDone,
|
| + base::Unretained(this)));
|
| + return job;
|
| + }
|
| +
|
| DeviceManagementRequestJob* StartApiAuthCodeFetchJob() {
|
| DeviceManagementRequestJob* job = service_->CreateJob(
|
| DeviceManagementRequestJob::TYPE_API_AUTH_CODE_FETCH,
|
| @@ -218,6 +232,18 @@ TEST_P(DeviceManagementServiceFailedRequestTest, RegisterRequest) {
|
| GetParam().response_);
|
| }
|
|
|
| +TEST_P(DeviceManagementServiceFailedRequestTest, CertBasedRegisterRequest) {
|
| + EXPECT_CALL(*this, OnJobDone(GetParam().expected_status_, _, _));
|
| + EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
|
| + std::unique_ptr<DeviceManagementRequestJob> request_job(
|
| + StartCertBasedRegistrationJob());
|
| + net::TestURLFetcher* fetcher = GetFetcher();
|
| + ASSERT_TRUE(fetcher);
|
| +
|
| + SendResponse(fetcher, GetParam().error_, GetParam().http_status_,
|
| + GetParam().response_);
|
| +}
|
| +
|
| TEST_P(DeviceManagementServiceFailedRequestTest, ApiAuthCodeFetchRequest) {
|
| EXPECT_CALL(*this, OnJobDone(GetParam().expected_status_, _, _));
|
| EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
|
| @@ -427,6 +453,32 @@ TEST_F(DeviceManagementServiceTest, RegisterRequest) {
|
| SendResponse(fetcher, net::OK, 200, response_data);
|
| }
|
|
|
| +TEST_F(DeviceManagementServiceTest, CertBasedRegisterRequest) {
|
| + em::DeviceManagementResponse expected_response;
|
| + expected_response.mutable_register_response()->
|
| + set_device_management_token(kDMToken);
|
| + EXPECT_CALL(*this, OnJobDone(DM_STATUS_SUCCESS, _,
|
| + MessageEquals(expected_response)));
|
| + EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
|
| + std::unique_ptr<DeviceManagementRequestJob> request_job(
|
| + StartCertBasedRegistrationJob());
|
| + net::TestURLFetcher* fetcher = GetFetcher();
|
| + ASSERT_TRUE(fetcher);
|
| +
|
| + CheckURLAndQueryParams(fetcher->GetOriginalURL(),
|
| + dm_protocol::kValueRequestCertBasedRegister,
|
| + kClientID);
|
| +
|
| + std::string expected_data;
|
| + ASSERT_TRUE(request_job->GetRequest()->SerializeToString(&expected_data));
|
| + EXPECT_EQ(expected_data, fetcher->upload_data());
|
| +
|
| + // Generate the response.
|
| + std::string response_data;
|
| + ASSERT_TRUE(expected_response.SerializeToString(&response_data));
|
| + SendResponse(fetcher, net::OK, 200, response_data);
|
| +}
|
| +
|
| TEST_F(DeviceManagementServiceTest, ApiAuthCodeFetchRequest) {
|
| em::DeviceManagementResponse expected_response;
|
| expected_response.mutable_service_api_access_response()->set_auth_code(
|
| @@ -498,6 +550,18 @@ TEST_F(DeviceManagementServiceTest, CancelRegisterRequest) {
|
| request_job.reset();
|
| }
|
|
|
| +TEST_F(DeviceManagementServiceTest, CancelCertBasedRegisterRequest) {
|
| + EXPECT_CALL(*this, OnJobDone(_, _, _)).Times(0);
|
| + EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
|
| + std::unique_ptr<DeviceManagementRequestJob> request_job(
|
| + StartCertBasedRegistrationJob());
|
| + net::TestURLFetcher* fetcher = GetFetcher();
|
| + ASSERT_TRUE(fetcher);
|
| +
|
| + // There shouldn't be any callbacks.
|
| + request_job.reset();
|
| +}
|
| +
|
| TEST_F(DeviceManagementServiceTest, CancelApiAuthCodeFetch) {
|
| EXPECT_CALL(*this, OnJobDone(_, _, _)).Times(0);
|
| EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
|
|
|