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'))
예제 #2
0
    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'))
예제 #3
0
    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)
    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)
예제 #5
0
    def test_cloudsearch_documentservice_creation(self):
        self.set_http_response(status_code=200)
        api_response = self.service_connection.create_domain('demo')
        domain = Domain(
            self, api_response['CreateDomainResponse']['CreateDomainResult']
            ['DomainStatus'])

        document = domain.get_document_service()

        self.assertEqual(document.endpoint,
                         "doc-demo.us-east-1.cloudsearch.amazonaws.com")
예제 #6
0
    def test_cloudsearch_documentservice_creation(self):
        self.set_http_response(status_code=200)
        api_response = self.service_connection.create_domain('demo')
        domain = Domain(self, api_response['CreateDomainResponse']
                                          ['CreateDomainResult']
                                          ['DomainStatus'])

        document = domain.get_document_service()

        self.assertEqual(
            document.endpoint,
            "doc-demo.us-east-1.cloudsearch.amazonaws.com")
예제 #7
0
def get_connection():
    conn = boto.cloudsearch2.connect_to_region(
        region_name='us-east-1',
        aws_access_key_id='AKIASDF5LFVUHMR6IU4T',
        aws_secret_access_key='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')

    domain_data = conn.describe_domains('cs-products')

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

    domain = Domain(conn, domain_data[0])

    doc_service = domain.get_document_service()
    return domain, doc_service, conn
domain = Domain(conn, domain_data[0])
print(domain)

dynamodb = boto3.resource('dynamodb', region_name='us-east-1')
table = dynamodb.Table('amazon_music')

results = table.scan()
items = results['Items']
n = 0
while True:
    cur_items = items[n:n+100]

    if not cur_items:
        break

    doc_service = domain.get_document_service()

    for item in cur_items:
        docid = item['album'] + ' ' + item['title']
        docid = docid.replace(' ', '_')
        doc_service.add(docid, item)

    try:    
        resp=doc_service.commit()
        print(resp)
    except Exception as e:
        print(e)

    n+=100
예제 #9
0
domain = Domain(conn, domain_data[0])
print(domain)

dynamodb = boto3.resource('dynamodb', region_name='us-east-1')
table = dynamodb.Table('amazon_music')

results = table.scan()
items = results['Items']
n = 0
while True:
    cur_items = items[n:n + 100]

    if not cur_items:
        break

    doc_service = domain.get_document_service()

    for item in cur_items:
        docid = item['album'] + ' ' + item['title']
        docid = docid.replace(' ', '_')
        doc_service.add(docid, item)

    try:
        resp = doc_service.commit()
        print(resp)
    except Exception as e:
        print(e)

    n += 100