예제 #1
0
 def _connect_scheduler(self, uri, clock=time):
   transport = TRequestsTransport(uri, user_agent=self._user_agent)
   protocol = TJSONProtocol.TJSONProtocol(transport)
   schedulerClient = AuroraAdmin.Client(protocol)
   for _ in range(self.THRIFT_RETRIES):
     try:
       transport.open()
       return schedulerClient
     except TTransport.TTransportException:
       clock.sleep(self.RETRY_TIMEOUT.as_(Time.SECONDS))
       continue
     except Exception as e:
       # Monkey-patched proxies, like socks, can generate a proxy error here.
       # without adding a dependency, we can't catch those in a more specific way.
       raise self.CouldNotConnect('Connection to scheduler failed: %s' % e)
   raise self.CouldNotConnect('Could not connect to %s' % uri)
예제 #2
0
 def _connect_scheduler(cls, uri, clock=time):
     transport = TRequestsTransport(uri)
     protocol = TJSONProtocol.TJSONProtocol(transport)
     schedulerClient = AuroraAdmin.Client(protocol)
     for _ in range(cls.THRIFT_RETRIES):
         try:
             transport.open()
             return schedulerClient
         except TTransport.TTransportException:
             clock.sleep(cls.RETRY_TIMEOUT.as_(Time.SECONDS))
             continue
         except Exception as e:
             # Monkey-patched proxies, like socks, can generate a proxy error here.
             # without adding a dependency, we can't catch those in a more specific way.
             raise cls.CouldNotConnect(
                 'Connection to scheduler failed: %s' % e)
     raise cls.CouldNotConnect('Could not connect to %s' % uri)
예제 #3
0
  def _connect_scheduler(self, uri, clock=time):
    transport = TRequestsTransport(
        uri,
        auth=self._auth_handler.auth(),
        user_agent=self._user_agent,
        session_factory=functools.partial(
            _bypass_leader_redirect_session_factory,
            should_bypass=self._bypass_leader_redirect))

    protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport)
    schedulerClient = AuroraAdmin.Client(protocol)
    for _ in range(self.THRIFT_RETRIES):
      try:
        transport.open()
        return schedulerClient
      except TTransport.TTransportException:
        clock.sleep(self.RETRY_TIMEOUT.as_(Time.SECONDS))
        continue
      except Exception as e:
        # Monkey-patched proxies, like socks, can generate a proxy error here.
        # without adding a dependency, we can't catch those in a more specific way.
        raise self.CouldNotConnect('Connection to scheduler failed: %s' % e)
    raise self.CouldNotConnect('Could not connect to %s' % uri)
예제 #4
0
def test_transport_applies_default_user_agent_if_no_factory_provided():
  transport = TRequestsTransport('http://localhost:12345')
  transport.open()
  assert transport._session.headers['User-Agent'] == DEFAULT_USER_AGENT
예제 #5
0
def test_transport_applies_user_agent_from_factory():
  user_agent = 'Some-User-Agent'
  transport = TRequestsTransport('http://localhost:12345', user_agent=user_agent)
  transport.open()
  assert transport._session.headers['User-Agent'] == user_agent
예제 #6
0
def test_transport_applies_default_user_agent_if_no_factory_provided():
    transport = TRequestsTransport('http://localhost:12345')
    transport.open()
    assert transport._session.headers['User-Agent'] == DEFAULT_USER_AGENT
예제 #7
0
def test_transport_applies_user_agent_from_factory():
    user_agent = 'Some-User-Agent'
    transport = TRequestsTransport('http://localhost:12345',
                                   user_agent=user_agent)
    transport.open()
    assert transport._session.headers['User-Agent'] == user_agent