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 6c1fbe1a1edfa36e08991b43bf6021e98cbfe444..c7113b5272feff7a40e8a5a65ffd6fb586756540 100644 |
--- a/chrome/browser/policy/test/policy_testserver.py |
+++ b/chrome/browser/policy/test/policy_testserver.py |
@@ -46,7 +46,8 @@ Example: |
"managed_users" : [ |
"secret123456" |
], |
- "current_key_index": 0 |
+ "current_key_index": 0, |
+ "robot_api_auth_code": "fake_auth_code" |
} |
""" |
@@ -202,6 +203,8 @@ class PolicyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): |
return (400, 'Invalid request parameter') |
if request_type == 'register': |
return self.ProcessRegister(rmsg.register_request) |
+ if request_type == 'api_authorization': |
+ return self.ProcessApiAuthorization(rmsg.service_api_access_request) |
elif request_type == 'unregister': |
return self.ProcessUnregister(rmsg.unregister_request) |
elif request_type == 'policy' or request_type == 'ping': |
@@ -292,6 +295,26 @@ class PolicyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): |
return (200, response.SerializeToString()) |
+ def ProcessApiAuthorization(self, msg): |
+ """Handles an API authorization request. |
+ |
+ Args: |
+ msg: The DeviceServiceApiAccessRequest message received from the client. |
+ |
+ Returns: |
+ A tuple of HTTP status code and response data to send to the client. |
+ """ |
+ policy = self.server.GetPolicies() |
+ |
+ # Return the auth code from the config file if it's defined, |
+ # else return a descriptive default value. |
+ response = dm.DeviceManagementResponse() |
+ response.service_api_access_response.auth_code = policy.get( |
+ 'robot_api_auth_code', 'policy_test_server.py-auth_code') |
+ self.DumpMessage('Response', response) |
+ |
+ return (200, response.SerializeToString()) |
+ |
def ProcessUnregister(self, msg): |
"""Handles a register request. |