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

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

Issue 845313008: Refactored device status uploading out of policy fetch infrastructure. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review feedback Created 5 years, 11 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 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.

Powered by Google App Engine
This is Rietveld 408576698