示例#1
0
文件: layer2.py 项目: yang123vc/libui
    def __init__(self,
                 aws_access_key_id=None,
                 aws_secret_access_key=None,
                 is_secure=True,
                 port=None,
                 proxy=None,
                 proxy_port=None,
                 host=None,
                 debug=0,
                 session_token=None,
                 region=None,
                 validate_certs=True):

        if type(region) in [str, unicode]:
            import boto.cloudsearch2
            for region_info in boto.cloudsearch2.regions():
                if region_info.name == region:
                    region = region_info
                    break

        self.layer1 = CloudSearchConnection(
            aws_access_key_id=aws_access_key_id,
            aws_secret_access_key=aws_secret_access_key,
            is_secure=is_secure,
            port=port,
            proxy=proxy,
            proxy_port=proxy_port,
            host=host,
            debug=debug,
            security_token=session_token,
            region=region,
            validate_certs=validate_certs)
示例#2
0
    def __init__(self,
                 aws_access_key_id=None,
                 aws_secret_access_key=None,
                 is_secure=True,
                 port=None,
                 proxy=None,
                 proxy_port=None,
                 host=None,
                 debug=0,
                 session_token=None,
                 region=None,
                 validate_certs=True,
                 sign_request=False):

        if isinstance(region, six.string_types):
            import boto.cloudsearch2
            for region_info in boto.cloudsearch2.regions():
                if region_info.name == region:
                    region = region_info
                    break

        self.layer1 = CloudSearchConnection(
            aws_access_key_id=aws_access_key_id,
            aws_secret_access_key=aws_secret_access_key,
            is_secure=is_secure,
            port=port,
            proxy=proxy,
            proxy_port=proxy_port,
            host=host,
            debug=debug,
            security_token=session_token,
            region=region,
            validate_certs=validate_certs,
            sign_request=sign_request)
    def test_upload_documents_with_auth(self):
        layer1 = CloudSearchConnection(
            aws_access_key_id='aws_access_key_id',
            aws_secret_access_key='aws_secret_access_key',
            sign_request=True)
        domain = Domain(layer1=layer1, data=json.loads(self.domain_status))
        document_service = domain.get_document_service()

        response = {
            'status': 'success',
            'adds': 1,
            'deletes': 0,
        }

        document = {
            "id": "1234",
            "title": "Title 1",
            "category": ["cat_a", "cat_b", "cat_c"]
        }

        self.set_http_response(status_code=200, body=json.dumps(response))
        document_service.domain_connection = self.service_connection
        document_service.add("1234", document)
        resp = document_service.commit()

        headers = self.actual_request.headers

        self.assertIsNotNone(headers.get('Authorization'))
示例#4
0
文件: layer2.py 项目: 10sr/hue
    def __init__(self, aws_access_key_id=None, aws_secret_access_key=None,
                 is_secure=True, port=None, proxy=None, proxy_port=None,
                 host=None, debug=0, session_token=None, region=None,
                 validate_certs=True, sign_request=False):

        if isinstance(region, six.string_types):
            import boto.cloudsearch2
            for region_info in boto.cloudsearch2.regions():
                if region_info.name == region:
                    region = region_info
                    break

        self.layer1 = CloudSearchConnection(
            aws_access_key_id=aws_access_key_id,
            aws_secret_access_key=aws_secret_access_key,
            is_secure=is_secure,
            port=port,
            proxy=proxy,
            proxy_port=proxy_port,
            host=host,
            debug=debug,
            security_token=session_token,
            region=region,
            validate_certs=validate_certs,
            sign_request=sign_request)
    def test_get_document_service(self):
        layer1 = CloudSearchConnection(
            aws_access_key_id='aws_access_key_id',
            aws_secret_access_key='aws_secret_access_key',
            sign_request=True)
        domain = Domain(layer1=layer1, data=json.loads(self.domain_status))
        document_service = domain.get_document_service()

        self.assertEqual(document_service.sign_request, True)
示例#6
0
class CloudSearchLayer1Test(unittest.TestCase):
    cloudsearch = True

    def setUp(self):
        super(CloudSearchLayer1Test, self).setUp()
        self.layer1 = CloudSearchConnection()
        self.domain_name = "test-%d" % int(time.time())

    def test_create_domain(self):
        resp = self.layer1.create_domain(self.domain_name)

        resp = resp["CreateDomainResponse"]["CreateDomainResult"]["DomainStatus"]

        self.addCleanup(self.layer1.delete_domain, self.domain_name)
        self.assertTrue(resp.get("Created", False))
示例#7
0
class CloudSearchLayer1Test(unittest.TestCase):
    cloudsearch = True

    def setUp(self):
        super(CloudSearchLayer1Test, self).setUp()
        self.layer1 = CloudSearchConnection()
        self.domain_name = 'test-%d' % int(time.time())

    def test_create_domain(self):
        resp = self.layer1.create_domain(self.domain_name)

        resp = (
            resp['CreateDomainResponse']['CreateDomainResult']['DomainStatus'])

        self.addCleanup(self.layer1.delete_domain, self.domain_name)
        self.assertTrue(resp.get('Created', False))
示例#8
0
    def test_search_with_auth(self):
        layer1 = CloudSearchConnection(
            aws_access_key_id='aws_access_key_id',
            aws_secret_access_key='aws_secret_access_key',
            sign_request=True)
        domain = Domain(layer1=layer1, data=json.loads(self.domain_status))
        search_service = domain.get_search_service()

        response = {
            'rank': '-text_relevance',
            'match-expr': "Test",
            'hits': {
                'found': 30,
                'start': 0,
                'hit': {
                    'id': '12341',
                    'fields': {
                        'title': 'Document 1',
                        'rank': 1
                    }
                }
            },
            'status': {
                'rid':
                'b7c167f6c2da6d93531b9a7b314ad030b3a74803b4b7797edb905ba5a6a08',
                'time-ms': 2,
                'cpu-time-ms': 0
            }
        }

        self.set_http_response(status_code=200,
                               body=json.dumps(response).encode('utf-8'))
        search_service.domain_connection = self.service_connection
        resp = search_service.search()

        headers = self.actual_request.headers

        self.assertIsNotNone(headers.get('Authorization'))
示例#9
0
文件: layer2.py 项目: merckhung/libui
    def __init__(self, aws_access_key_id=None, aws_secret_access_key=None,
                 is_secure=True, port=None, proxy=None, proxy_port=None,
                 host=None, debug=0, session_token=None, region=None,
                 validate_certs=True):

        if type(region) in [str, unicode]:
            import boto.cloudsearch2
            for region_info in boto.cloudsearch2.regions():
                if region_info.name == region:
                    region = region_info
                    break

        self.layer1 = CloudSearchConnection(
            aws_access_key_id=aws_access_key_id,
            aws_secret_access_key=aws_secret_access_key,
            is_secure=is_secure,
            port=port,
            proxy=proxy,
            proxy_port=proxy_port,
            host=host,
            debug=debug,
            security_token=session_token,
            region=region,
            validate_certs=validate_certs)
示例#10
0
class Layer2(object):
    def __init__(self,
                 aws_access_key_id=None,
                 aws_secret_access_key=None,
                 is_secure=True,
                 port=None,
                 proxy=None,
                 proxy_port=None,
                 host=None,
                 debug=0,
                 session_token=None,
                 region=None,
                 validate_certs=True,
                 sign_request=False):

        if isinstance(region, six.string_types):
            import boto.cloudsearch2
            for region_info in boto.cloudsearch2.regions():
                if region_info.name == region:
                    region = region_info
                    break

        self.layer1 = CloudSearchConnection(
            aws_access_key_id=aws_access_key_id,
            aws_secret_access_key=aws_secret_access_key,
            is_secure=is_secure,
            port=port,
            proxy=proxy,
            proxy_port=proxy_port,
            host=host,
            debug=debug,
            security_token=session_token,
            region=region,
            validate_certs=validate_certs,
            sign_request=sign_request)

    def list_domains(self, domain_names=None):
        """
        Return a list of objects for each domain defined in the
        current account.
        :rtype: list of :class:`boto.cloudsearch2.domain.Domain`
        """
        domain_data = self.layer1.describe_domains(domain_names)

        domain_data = (domain_data['DescribeDomainsResponse']
                       ['DescribeDomainsResult']['DomainStatusList'])

        return [Domain(self.layer1, data) for data in domain_data]

    def create_domain(self, domain_name):
        """
        Create a new CloudSearch domain and return the corresponding object.
        :return: Domain object, or None if the domain isn't found
        :rtype: :class:`boto.cloudsearch2.domain.Domain`
        """
        data = self.layer1.create_domain(domain_name)
        return Domain(
            self.layer1,
            data['CreateDomainResponse']['CreateDomainResult']['DomainStatus'])

    def lookup(self, domain_name):
        """
        Lookup a single domain
        :param domain_name: The name of the domain to look up
        :type domain_name: str

        :return: Domain object, or None if the domain isn't found
        :rtype: :class:`boto.cloudsearch2.domain.Domain`
        """
        domains = self.list_domains(domain_names=[domain_name])
        if len(domains) > 0:
            return domains[0]
示例#11
0
class Layer2(object):

    def __init__(self, aws_access_key_id=None, aws_secret_access_key=None,
                 is_secure=True, port=None, proxy=None, proxy_port=None,
                 host=None, debug=0, session_token=None, region=None,
                 validate_certs=True):

        if isinstance(region, six.string_types):
            import boto.cloudsearch2
            for region_info in boto.cloudsearch2.regions():
                if region_info.name == region:
                    region = region_info
                    break

        self.layer1 = CloudSearchConnection(
            aws_access_key_id=aws_access_key_id,
            aws_secret_access_key=aws_secret_access_key,
            is_secure=is_secure,
            port=port,
            proxy=proxy,
            proxy_port=proxy_port,
            host=host,
            debug=debug,
            security_token=session_token,
            region=region,
            validate_certs=validate_certs)

    def list_domains(self, domain_names=None):
        """
        Return a list of objects for each domain defined in the
        current account.
        :rtype: list of :class:`boto.cloudsearch2.domain.Domain`
        """
        domain_data = self.layer1.describe_domains(domain_names)

        domain_data = (domain_data['DescribeDomainsResponse']
                                  ['DescribeDomainsResult']
                                  ['DomainStatusList'])

        return [Domain(self.layer1, data) for data in domain_data]

    def create_domain(self, domain_name):
        """
        Create a new CloudSearch domain and return the corresponding object.
        :return: Domain object, or None if the domain isn't found
        :rtype: :class:`boto.cloudsearch2.domain.Domain`
        """
        data = self.layer1.create_domain(domain_name)
        return Domain(self.layer1, data['CreateDomainResponse']
                                       ['CreateDomainResult']
                                       ['DomainStatus'])

    def lookup(self, domain_name):
        """
        Lookup a single domain
        :param domain_name: The name of the domain to look up
        :type domain_name: str

        :return: Domain object, or None if the domain isn't found
        :rtype: :class:`boto.cloudsearch2.domain.Domain`
        """
        domains = self.list_domains(domain_names=[domain_name])
        if len(domains) > 0:
            return domains[0]
示例#12
0
 def setUp(self):
     super(CloudSearchLayer1Test, self).setUp()
     self.layer1 = CloudSearchConnection()
     self.domain_name = "test-%d" % int(time.time())
示例#13
0
 def setUp(self):
     super(CloudSearchLayer1Test, self).setUp()
     self.layer1 = CloudSearchConnection()
     self.domain_name = 'test-%d' % int(time.time())