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