| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Environment setup and teardown for remote devices.""" | 5 """Environment setup and teardown for remote devices.""" |
| 6 | 6 |
| 7 import logging |
| 7 import os | 8 import os |
| 8 import sys | 9 import sys |
| 9 | 10 |
| 10 from pylib import constants | 11 from pylib import constants |
| 11 from pylib.base import environment | 12 from pylib.base import environment |
| 13 from pylib.remote.device import appurify_sanitized |
| 12 from pylib.remote.device import remote_device_helper | 14 from pylib.remote.device import remote_device_helper |
| 13 | 15 |
| 14 sys.path.append(os.path.join( | |
| 15 constants.DIR_SOURCE_ROOT, 'third_party', 'requests', 'src')) | |
| 16 sys.path.append(os.path.join( | |
| 17 constants.DIR_SOURCE_ROOT, 'third_party', 'appurify-python', 'src')) | |
| 18 import appurify.api | |
| 19 | |
| 20 | |
| 21 class RemoteDeviceEnvironment(environment.Environment): | 16 class RemoteDeviceEnvironment(environment.Environment): |
| 22 """An environment for running on remote devices.""" | 17 """An environment for running on remote devices.""" |
| 23 | 18 |
| 24 def __init__(self, args, error_func): | 19 def __init__(self, args, error_func): |
| 25 """Constructor. | 20 """Constructor. |
| 26 | 21 |
| 27 Args: | 22 Args: |
| 28 args: Command line arguments. | 23 args: Command line arguments. |
| 29 error_func: error to show when using bad command line arguments. | 24 error_func: error to show when using bad command line arguments. |
| 30 """ | 25 """ |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 """Set up the test run when used as a context manager.""" | 84 """Set up the test run when used as a context manager.""" |
| 90 self.SetUp() | 85 self.SetUp() |
| 91 return self | 86 return self |
| 92 | 87 |
| 93 def __exit__(self, exc_type, exc_val, exc_tb): | 88 def __exit__(self, exc_type, exc_val, exc_tb): |
| 94 """Tears down the test run when used as a context manager.""" | 89 """Tears down the test run when used as a context manager.""" |
| 95 self.TearDown() | 90 self.TearDown() |
| 96 | 91 |
| 97 def _GetAccessToken(self): | 92 def _GetAccessToken(self): |
| 98 """Generates access token for remote device service.""" | 93 """Generates access token for remote device service.""" |
| 99 access_token_results = appurify.api.access_token_generate( | 94 logging.info('Generating remote service access token') |
| 95 access_token_results = appurify_sanitized.api.access_token_generate( |
| 100 self._api_key, self._api_secret) | 96 self._api_key, self._api_secret) |
| 101 remote_device_helper.TestHttpResponse(access_token_results, | 97 remote_device_helper.TestHttpResponse(access_token_results, |
| 102 'Unable to generate access token.') | 98 'Unable to generate access token.') |
| 103 self._access_token = access_token_results.json()['response']['access_token'] | 99 self._access_token = access_token_results.json()['response']['access_token'] |
| 104 | 100 |
| 105 def _RevokeAccessToken(self): | 101 def _RevokeAccessToken(self): |
| 106 """Destroys access token for remote device service.""" | 102 """Destroys access token for remote device service.""" |
| 107 revoke_token_results = appurify.api.access_token_revoke(self._access_token) | 103 logging.info('Revoking remote service access token') |
| 104 revoke_token_results = appurify_sanitized.api.access_token_revoke( |
| 105 self._access_token) |
| 108 remote_device_helper.TestHttpResponse(revoke_token_results, | 106 remote_device_helper.TestHttpResponse(revoke_token_results, |
| 109 'Unable to revoke access token.') | 107 'Unable to revoke access token.') |
| 110 | 108 |
| 111 def _SelectDevice(self): | 109 def _SelectDevice(self): |
| 112 """Select which device to use.""" | 110 """Select which device to use.""" |
| 113 dev_list_res = appurify.api.devices_list(self._access_token) | 111 logging.info('Finding %s with %s to run tests on.' % |
| 112 (self._remote_device, self._remote_device_os)) |
| 113 dev_list_res = appurify_sanitized.api.devices_list(self._access_token) |
| 114 remote_device_helper.TestHttpResponse(dev_list_res, | 114 remote_device_helper.TestHttpResponse(dev_list_res, |
| 115 'Unable to generate access token.') | 115 'Unable to generate access token.') |
| 116 device_list = dev_list_res.json()['response'] | 116 device_list = dev_list_res.json()['response'] |
| 117 for device in device_list: | 117 for device in device_list: |
| 118 if (device['name'] == self._remote_device | 118 if (device['name'] == self._remote_device |
| 119 and device['os_version'] == self._remote_device_os): | 119 and device['os_version'] == self._remote_device_os): |
| 120 return device['device_type_id'] | 120 return device['device_type_id'] |
| 121 raise remote_device_helper.RemoteDeviceError( | 121 raise remote_device_helper.RemoteDeviceError( |
| 122 'No device found: %s %s' % (self._remote_device, | 122 'No device found: %s %s' % (self._remote_device, |
| 123 self._remote_device_os)) | 123 self._remote_device_os)) |
| (...skipping 18 matching lines...) Expand all Loading... |
| 142 def runner_package(self): | 142 def runner_package(self): |
| 143 return self._runner_package | 143 return self._runner_package |
| 144 | 144 |
| 145 @property | 145 @property |
| 146 def trigger(self): | 146 def trigger(self): |
| 147 return self._trigger | 147 return self._trigger |
| 148 | 148 |
| 149 @property | 149 @property |
| 150 def collect(self): | 150 def collect(self): |
| 151 return self._collect | 151 return self._collect |
| OLD | NEW |