| 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 e03d5edd15d2e490c206d0e957865501922b0f23..185296c137febd111c283f96cdcedbff81f97045 100644
|
| --- a/chrome/browser/policy/test/policy_testserver.py
|
| +++ b/chrome/browser/policy/test/policy_testserver.py
|
| @@ -311,11 +311,20 @@ class PolicyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
| elif request_type == 'device_state_retrieval':
|
| response = self.ProcessDeviceStateRetrievalRequest(
|
| rmsg.device_state_retrieval_request)
|
| + elif request_type == 'status_upload':
|
| + response = self.ProcessStatusUploadRequest(
|
| + rmsg.device_status_report_request, rmsg.session_status_report_request)
|
| else:
|
| return (400, 'Invalid request parameter')
|
|
|
| - self.DumpMessage('Response', response[1])
|
| - return (response[0], response[1].SerializeToString())
|
| + if isinstance(response[1], basestring):
|
| + body = response[1]
|
| + elif isinstance(response[1], google.protobuf.message.Message):
|
| + self.DumpMessage('Response', response[1])
|
| + body = response[1].SerializeToString()
|
| + else:
|
| + body = ''
|
| + return (response[0], body)
|
|
|
| def CreatePolicyForExternalPolicyData(self, policy_key):
|
| """Returns an ExternalPolicyData protobuf for policy_key.
|
| @@ -556,6 +565,24 @@ class PolicyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
| device_state_retrieval_response)
|
| return (200, response)
|
|
|
| + def ProcessStatusUploadRequest(self, device_status, session_status):
|
| + """Handles a device/session status upload request.
|
| +
|
| + Returns:
|
| + A tuple of HTTP status code and response data to send to the client.
|
| + """
|
| + # Empty responses indicate a successful upload.
|
| + device_status_report_response = dm.DeviceStatusReportResponse()
|
| + session_status_report_response = dm.SessionStatusReportResponse()
|
| +
|
| + response = dm.DeviceManagementResponse()
|
| + response.device_status_report_response.CopyFrom(
|
| + device_status_report_response)
|
| + response.session_status_report_response.CopyFrom(
|
| + session_status_report_response)
|
| +
|
| + return (200, response)
|
| +
|
| def SetProtobufMessageField(self, group_message, field, field_value):
|
| """Sets a field in a protobuf message.
|
|
|
|
|