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

Unified Diff: chrome/browser/policy/cloud/device_management_service_browsertest.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_browsertest.cc
diff --git a/chrome/browser/policy/cloud/device_management_service_browsertest.cc b/chrome/browser/policy/cloud/device_management_service_browsertest.cc
index df27a8db15ab663f7756a95a04165821747303a8..92febbdaecddd2a79dd7797db30086933cb5a5fd 100644
--- a/chrome/browser/policy/cloud/device_management_service_browsertest.cc
+++ b/chrome/browser/policy/cloud/device_management_service_browsertest.cc
@@ -42,6 +42,9 @@ void ConstructResponse(const char* request_data,
if (request.has_register_request()) {
response.mutable_register_response()->set_device_management_token(
"fake_token");
+ } else if (request.has_service_api_access_request()) {
+ response.mutable_service_api_access_response()->set_auth_code(
+ "fake_auth_code");
} else if (request.has_unregister_request()) {
response.mutable_unregister_response();
} else if (request.has_policy_request()) {
@@ -99,6 +102,11 @@ class DeviceManagementServiceIntegrationTest
return test_server_->GetServiceURL().spec();
}
+ void RecordAuthCode(DeviceManagementStatus status,
+ const em::DeviceManagementResponse& response) {
+ robot_auth_code_ = response.service_api_access_response().auth_code();
+ }
+
protected:
void ExpectRequest() {
if (interceptor_)
@@ -148,6 +156,7 @@ class DeviceManagementServiceIntegrationTest
}
std::string token_;
+ std::string robot_auth_code_;
scoped_ptr<DeviceManagementService> service_;
scoped_ptr<LocalPolicyTestServer> test_server_;
scoped_ptr<TestRequestInterceptor> interceptor_;
@@ -158,6 +167,31 @@ IN_PROC_BROWSER_TEST_P(DeviceManagementServiceIntegrationTest, Registration) {
EXPECT_FALSE(token_.empty());
}
+IN_PROC_BROWSER_TEST_P(DeviceManagementServiceIntegrationTest,
+ ApiAuthCodeFetch) {
+ PerformRegistration();
+
+ ExpectRequest();
+ EXPECT_CALL(*this, OnJobDone(DM_STATUS_SUCCESS, _))
+ .WillOnce(
+ DoAll(Invoke(this,
+ &DeviceManagementServiceIntegrationTest::RecordAuthCode),
+ InvokeWithoutArgs(MessageLoop::current(),
+ &MessageLoop::Quit)));
+ scoped_ptr<DeviceManagementRequestJob> job(service_->CreateJob(
+ DeviceManagementRequestJob::TYPE_API_AUTH_CODE_FETCH));
+ job->SetDMToken(token_);
+ job->SetClientID("testid");
+ em::DeviceServiceApiAccessRequest* request =
+ job->GetRequest()->mutable_service_api_access_request();
+ request->add_auth_scope("authScope4Test");
+ request->set_oauth2_client_id("oauth2ClientId4Test");
+ job->Start(base::Bind(&DeviceManagementServiceIntegrationTest::OnJobDone,
+ base::Unretained(this)));
+ MessageLoop::current()->Run();
+ ASSERT_EQ("fake_auth_code", robot_auth_code_);
+}
+
IN_PROC_BROWSER_TEST_P(DeviceManagementServiceIntegrationTest, PolicyFetch) {
PerformRegistration();

Powered by Google App Engine
This is Rietveld 408576698