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

Unified Diff: chrome/browser/policy/cloud/device_management_service_unittest.cc

Issue 12538009: Public Sessions: fetch device robot api token during enterprise enrollment. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebase Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/cloud/device_management_service_unittest.cc
diff --git a/chrome/browser/policy/cloud/device_management_service_unittest.cc b/chrome/browser/policy/cloud/device_management_service_unittest.cc
index b83ca80d4cecc682ccc2ba8babd23ad9bd920218..265847de38f345338d316e2b4c4a1c1a2519b8b2 100644
--- a/chrome/browser/policy/cloud/device_management_service_unittest.cc
+++ b/chrome/browser/policy/cloud/device_management_service_unittest.cc
@@ -42,6 +42,7 @@ const char kGaiaAuthToken[] = "gaia-auth-token";
const char kOAuthToken[] = "oauth-token";
const char kDMToken[] = "device-management-token";
const char kClientID[] = "device-id";
+const char kRobotAuthCode[] = "robot-oauth-auth-code";
// Unit tests for the device management policy service. The tests are run
// against a TestURLFetcherFactory that is used to short-circuit the request
@@ -87,6 +88,20 @@ class DeviceManagementServiceTestBase : public testing::Test {
return job;
}
+ DeviceManagementRequestJob* StartApiAuthCodeFetchJob() {
+ DeviceManagementRequestJob* job = service_->CreateJob(
+ DeviceManagementRequestJob::TYPE_API_AUTH_CODE_FETCH);
+ job->SetGaiaToken(kGaiaAuthToken);
+ job->SetOAuthToken(kOAuthToken);
+ job->SetClientID(kClientID);
+ job->GetRequest()->mutable_service_api_access_request();
+ job->SetRetryCallback(base::Bind(
+ &DeviceManagementServiceTestBase::OnJobRetry, base::Unretained(this)));
+ job->Start(base::Bind(&DeviceManagementServiceTestBase::OnJobDone,
+ base::Unretained(this)));
+ return job;
+ }
+
DeviceManagementRequestJob* StartUnregistrationJob() {
DeviceManagementRequestJob* job =
service_->CreateJob(DeviceManagementRequestJob::TYPE_UNREGISTRATION);
@@ -196,6 +211,18 @@ TEST_P(DeviceManagementServiceFailedRequestTest, RegisterRequest) {
GetParam().response_);
}
+TEST_P(DeviceManagementServiceFailedRequestTest, ApiAuthCodeFetchRequest) {
+ EXPECT_CALL(*this, OnJobDone(GetParam().expected_status_, _));
+ EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
+ scoped_ptr<DeviceManagementRequestJob> request_job(
+ StartApiAuthCodeFetchJob());
+ net::TestURLFetcher* fetcher = GetFetcher();
+ ASSERT_TRUE(fetcher);
+
+ SendResponse(fetcher, GetParam().request_status_, GetParam().http_status_,
+ GetParam().response_);
+}
+
TEST_P(DeviceManagementServiceFailedRequestTest, UnregisterRequest) {
EXPECT_CALL(*this, OnJobDone(GetParam().expected_status_, _));
EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
@@ -390,6 +417,33 @@ TEST_F(DeviceManagementServiceTest, RegisterRequest) {
SendResponse(fetcher, status, 200, response_data);
}
+TEST_F(DeviceManagementServiceTest, ApiAuthCodeFetchRequest) {
+ em::DeviceManagementResponse expected_response;
+ expected_response.mutable_service_api_access_response()->set_auth_code(
+ kRobotAuthCode);
+ EXPECT_CALL(*this, OnJobDone(DM_STATUS_SUCCESS,
+ MessageEquals(expected_response)));
+ EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
+ scoped_ptr<DeviceManagementRequestJob> request_job(
+ StartApiAuthCodeFetchJob());
+ net::TestURLFetcher* fetcher = GetFetcher();
+ ASSERT_TRUE(fetcher);
+
+ CheckURLAndQueryParams(fetcher->GetOriginalURL(),
+ dm_protocol::kValueRequestApiAuthorization,
+ 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));
+ net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0);
+ SendResponse(fetcher, status, 200, response_data);
+}
+
TEST_F(DeviceManagementServiceTest, UnregisterRequest) {
em::DeviceManagementResponse expected_response;
expected_response.mutable_unregister_response();
@@ -434,6 +488,18 @@ TEST_F(DeviceManagementServiceTest, CancelRegisterRequest) {
request_job.reset();
}
+TEST_F(DeviceManagementServiceTest, CancelApiAuthCodeFetch) {
+ EXPECT_CALL(*this, OnJobDone(_, _)).Times(0);
+ EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
+ scoped_ptr<DeviceManagementRequestJob> request_job(
+ StartApiAuthCodeFetchJob());
+ net::TestURLFetcher* fetcher = GetFetcher();
+ ASSERT_TRUE(fetcher);
+
+ // There shouldn't be any callbacks.
+ request_job.reset();
+}
+
TEST_F(DeviceManagementServiceTest, CancelUnregisterRequest) {
EXPECT_CALL(*this, OnJobDone(_, _)).Times(0);
EXPECT_CALL(*this, OnJobRetry(_)).Times(0);
« no previous file with comments | « chrome/browser/policy/cloud/device_management_service_browsertest.cc ('k') | chrome/browser/policy/cloud/enterprise_metrics.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698