def _GetRpcServer(self, timeout_max_errors=2): """Returns an instance of an AbstractRpcServer. Args: timeout_max_errors: How many timeout errors to retry. Returns: A new AbstractRpcServer, on which RPC calls can be made. """ log.debug('Host: {0}'.format(self.server)) if self._IsGceEnvironment(): credentials = oauth2client_gce.AppAssertionCredentials() else: credentials = None # In this case, the get_user_credentials parameters to the RPC server # constructor is actually an OAuth2Parameters. get_user_credentials = ( appengine_rpc_httplib2.HttpRpcServerOAuth2.OAuth2Parameters( access_token=self.oauth2_access_token, client_id=self.client_id, client_secret=self.client_secret, scope=APPCFG_SCOPES, refresh_token=self.oauth2_refresh_token, credential_file=None, token_uri=None, credentials=credentials)) # Also set gflags flag... this is a bit of a hack. if hasattr(appengine_rpc_httplib2.tools, 'FLAGS'): appengine_rpc_httplib2.tools.FLAGS.auth_local_webserver = True server = RpcServerClass( self.server, get_user_credentials, util.GetUserAgent(), util.GetSourceName(), host_override=None, save_cookies=True, auth_tries=3, timeout_max_errors=timeout_max_errors, account_type='HOSTED_OR_GOOGLE', secure=True, ignore_certs=self.ignore_bad_certs, http_object=http.Http()) # TODO(b/36050949) Hack to avoid failure due to missing cacerts.txt # resource. server.certpath = None # Don't use a cert file if the user passed ignore-bad-certs. server.cert_file_available = not self.ignore_bad_certs return util.RPCServer(server)
def NewRpcServer(self, server, *unused_args, **unused_kw): try: if self.rpcserver: return self.rpcserver self.rpcserver = appengine_rpc_test_util.TestRpcServer( server, lambda: ('testuser', 'testpass'), util.GetUserAgent(), util.GetSourceName()) except Exception as e: traceback.print_exc() raise e self.rpcserver.set_strict(strict=self.strict) for (expected_url, handler) in self.responses: self.rpcserver.opener.AddResponse(expected_url, handler) return self.rpcserver
def _GetRpcServer(self): """Returns an instance of an AbstractRpcServer. Returns: A new AbstractRpcServer, on which RPC calls can be made. """ log.debug('Host: {0}'.format(self.server)) # In this case, the get_user_credentials parameters to the RPC server # constructor is actually an OAuth2Parameters. get_user_credentials = ( appengine_rpc_httplib2.HttpRpcServerOAuth2.OAuth2Parameters( access_token=self.oauth2_access_token, client_id=config.CLOUDSDK_CLIENT_ID, client_secret=config.CLOUDSDK_CLIENT_NOTSOSECRET, scope=APPCFG_SCOPES, refresh_token=self.oauth2_refresh_token, credential_file=None, token_uri=self._GetTokenUri())) # Also set gflags flag... this is a bit of a hack. if hasattr(appengine_rpc_httplib2.tools, 'FLAGS'): appengine_rpc_httplib2.tools.FLAGS.auth_local_webserver = True server = RpcServerClass(self.server, get_user_credentials, util.GetUserAgent(), util.GetSourceName(), host_override=None, save_cookies=True, auth_tries=3, account_type='HOSTED_OR_GOOGLE', secure=True, ignore_certs=self.ignore_bad_certs) # TODO(user) Hack to avoid failure due to missing cacerts.txt resource. server.certpath = None # Don't use a cert file if the user passed ignore-bad-certs. server.cert_file_available = not self.ignore_bad_certs return util.RPCServer(server)