def testCallMethodDirect(self):
        """Test whether we can call an API method directly."""
        headers = client.GetAuthCredentials()
        config = client.GetConfigValues()
        url = '/'.join([
            AdWordsWebServiceTestV13.SERVER, 'api/adwords/v13',
            'AccountService'
        ])
        op_config = {
            'server': self.__class__.SERVER,
            'version': self.__class__.VERSION,
            'http_proxy': HTTP_PROXY
        }

        lock = thread.allocate_lock()
        service = AdWordsWebService(headers, config, op_config, url, lock)
        method_name = 'getAccountInfo'
        if config['soap_lib'] == SOAPPY:
            self.assert_(
                isinstance(
                    service.CallMethod(method_name, (), 'AccountService'),
                    tuple))
        elif config['soap_lib'] == ZSI:
            web_services = __import__(
                'adspygoogle.adwords.zsi.v13.AccountService_services',
                globals(), locals(), [''])
            loc = web_services.AccountServiceLocator()
            request = eval('web_services.%sRequest()' % method_name)
            self.assert_(
                isinstance(
                    service.CallMethod(method_name, (), 'Account', loc,
                                       request), tuple))
Exemplo n.º 2
0
    def __init__(self, headers, config, op_config, lock, logger):
        """Inits TrafficEstimatorService.

    Args:
      headers: dict Dictionary object with populated authentication
               credentials.
      config: dict Dictionary object with populated configuration values.
      op_config: dict Dictionary object with additional configuration values for
                 this operation.
      lock: thread.lock Thread lock
      logger: Logger Instance of Logger
    """
        url = [
            op_config['server'], 'api/adwords', op_config['version'],
            self.__class__.__name__
        ]
        if AdWordsSanityCheck.IsJaxbApi(op_config['version']):
            url.insert(2, 'o')
        if config['access']: url.insert(len(url) - 1, config['access'])
        self.__name_space = 'https://adwords.google.com/api/adwords'
        self.__service = AdWordsWebService(headers, config, op_config,
                                           '/'.join(url), lock, logger)
        self._wsdl_types_map = WSDL_MAP[op_config['version']][
            self.__service._GetServiceName()]
        super(TrafficEstimatorService,
              self).__init__(headers, config, op_config, url,
                             'adspygoogle.adwords', lock, logger)
Exemplo n.º 3
0
  def __init__(self, headers, config, op_config, lock, logger):
    """Inits AdGroupAdService.

    Args:
      headers: dict Dictionary object with populated authentication
               credentials.
      config: dict Dictionary object with populated configuration values.
      op_config: dict Dictionary object with additional configuration values for
                 this operation.
      lock: thread.lock Thread lock.
      logger: Logger Instance of Logger
    """
    url = [op_config['server'], 'api/adwords', op_config['group'],
           op_config['version'], self.__class__.__name__]
    if config['access']: url.insert(len(url) - 1, config['access'])
    self.__service = AdWordsWebService(headers, config, op_config,
                                       '/'.join(url), lock, logger)
    self._wsdl_types_map = WSDL_MAP[op_config['version']][
        self.__service._GetServiceName()]
    super(AdGroupAdService, self).__init__(
        headers, config, op_config, url, 'adspygoogle.adwords', lock, logger)
Exemplo n.º 4
0
  def __init__(self, headers, config, op_config, lock, logger):
    """Inits BulkMutateJobService.

    Args:
      headers: dict Dictionary object with populated authentication
               credentials.
      config: dict Dictionary object with populated configuration values.
      op_config: dict Dictionary object with additional configuration values for
                 this operation.
      lock: thread.lock Thread lock.
      logger: Logger Instance of Logger
    """
    # NOTE(api.sgrinberg): Custom handling for BulkMutateJobService, whose
    # group in URL is 'job/' which is different from its namespace 'cm/'.
    url = [op_config['server'], 'api/adwords', 'job',
           op_config['version'], self.__class__.__name__]
    if config['access']: url.insert(len(url) - 1, config['access'])
    self.__service = AdWordsWebService(headers, config, op_config,
                                       '/'.join(url), lock, logger)
    self._wsdl_types_map = WSDL_MAP[op_config['version']][
        self.__service._GetServiceName()]
    super(BulkMutateJobService, self).__init__(
        headers, config, op_config, url, 'adspygoogle.adwords', lock, logger)