| 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.
|
|
|
|
|