Chromium Code Reviews| 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) |
|
Mattias Nissler (ping if slow)
2015/01/23 13:46:35
Thanks for rescuing this snippet.
Andrew T Wilson (Slow)
2015/01/23 19:16:19
Yep :)
|
| 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. |