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

Unified Diff: chrome/browser/policy/test/policy_testserver.py

Issue 1892873002: Add CheckAndroidManagement to ARC sign-in flow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@check_android_management
Patch Set: Added browser test for ArcAuthService. Created 4 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/test/policy_testserver.py
diff --git a/chrome/browser/policy/test/policy_testserver.py b/chrome/browser/policy/test/policy_testserver.py
index c7f933dd082ab81562dce20ec1e5048011174601..18f2246f263878ade3b408eb88b1a3a92198823c 100644
--- a/chrome/browser/policy/test/policy_testserver.py
+++ b/chrome/browser/policy/test/policy_testserver.py
@@ -279,8 +279,9 @@ class PolicyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
length = int(self.headers.getheader('content-length'))
rmsg.ParseFromString(self.rfile.read(length))
- logging.debug('gaia auth token -> ' +
- self.headers.getheader('Authorization', ''))
+ gaia_header = self.headers.getheader('Authorization', '')
+
+ logging.debug('gaia auth token -> ' + gaia_header)
logging.debug('oauth token -> ' + str(self.GetUniqueParam('oauth_token')))
logging.debug('deviceid -> ' + str(self.GetUniqueParam('deviceid')))
self.DumpMessage('Request', rmsg)
@@ -290,7 +291,8 @@ class PolicyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
# device_management_backend.proto.
if (self.GetUniqueParam('devicetype') != '2' or
self.GetUniqueParam('apptype') != 'Chrome' or
- len(self.GetUniqueParam('deviceid')) >= 64):
+ (self.GetUniqueParam('deviceid') is not None and
+ len(self.GetUniqueParam('deviceid')) >= 64)):
return (400, 'Invalid request parameter')
if request_type == 'register':
response = self.ProcessRegister(rmsg.register_request)
@@ -308,6 +310,11 @@ class PolicyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
elif request_type == 'status_upload':
response = self.ProcessStatusUploadRequest(
rmsg.device_status_report_request, rmsg.session_status_report_request)
+ elif request_type == 'check_android_management_request':
+ gaia_token = gaia_header[len('GoogleLogin auth='):]
+ response = self.ProcessCheckAndroidManagementRequest(
+ rmsg.check_android_management_request,
+ gaia_token)
else:
return (400, 'Invalid request parameter')
@@ -586,6 +593,24 @@ class PolicyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
return (200, response)
+ def ProcessCheckAndroidManagementRequest(self, msg, gaia_token):
+ """Handles a check android management request.
+
+ Returns:
+ A tuple of HTTP status code and response data to send to the client.
+ """
+ check_android_management_response = dm.CheckAndroidManagementResponse()
+
+ response = dm.DeviceManagementResponse()
+ response.check_android_management_response.CopyFrom(
+ check_android_management_response)
+ if gaia_token == 'managed-auth-token':
+ return (409, response)
+ elif gaia_token == 'unmanaged-auth-token':
+ return (200, response)
+ else:
+ return (400, response)
+
def SetProtobufMessageField(self, group_message, field, field_value):
"""Sets a field in a protobuf message.

Powered by Google App Engine
This is Rietveld 408576698