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); |