18d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi#!/usr/bin env python 28d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 38d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom tests.unit import AWSMockServiceTestCase 48d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 58d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom boto.cloudsearch2.domain import Domain 68d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoifrom boto.cloudsearch2.layer1 import CloudSearchConnection 78d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 88d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 98d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass TestCloudSearchCreateDomain(AWSMockServiceTestCase): 108d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi connection_class = CloudSearchConnection 118d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 128d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def default_body(self): 138d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi return b""" 148d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi{ 158d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "CreateDomainResponse": { 168d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "CreateDomainResult": { 178d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DomainStatus": { 188d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "SearchInstanceType": null, 198d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DomainId": "1234567890/demo", 208d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DomainName": "demo", 218d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Deleted": false, 228d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "SearchInstanceCount": 0, 238d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Created": true, 248d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "SearchService": { 258d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Endpoint": "search-demo.us-east-1.cloudsearch.amazonaws.com" 268d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }, 278d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "RequiresIndexDocuments": false, 288d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Processing": false, 298d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DocService": { 308d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Endpoint": "doc-demo.us-east-1.cloudsearch.amazonaws.com" 318d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }, 328d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "ARN": "arn:aws:cs:us-east-1:1234567890:domain/demo", 338d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "SearchPartitionCount": 0 348d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi } 358d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }, 368d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "ResponseMetadata": { 378d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "RequestId": "00000000-0000-0000-0000-000000000000" 388d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi } 398d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi } 408d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi} 418d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi""" 428d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 438d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_create_domain(self): 448d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 458d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.service_connection.create_domain('demo') 468d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 478d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assert_request_parameters({ 488d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Action': 'CreateDomain', 498d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'ContentType': 'JSON', 508d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'DomainName': 'demo', 518d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Version': '2013-01-01', 528d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }) 538d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 548d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_cloudsearch_connect_result_endpoints(self): 558d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """Check that endpoints & ARNs are correctly returned from AWS""" 568d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 578d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 588d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.create_domain('demo') 598d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi domain = Domain(self, api_response['CreateDomainResponse'] 608d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['CreateDomainResult'] 618d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['DomainStatus']) 628d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 638d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual( 648d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi domain.doc_service_endpoint, 658d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "doc-demo.us-east-1.cloudsearch.amazonaws.com") 668d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(domain.service_arn, 678d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "arn:aws:cs:us-east-1:1234567890:domain/demo") 688d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual( 698d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi domain.search_service_endpoint, 708d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "search-demo.us-east-1.cloudsearch.amazonaws.com") 718d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 728d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_cloudsearch_connect_result_statuses(self): 738d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """Check that domain statuses are correctly returned from AWS""" 748d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 758d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.create_domain('demo') 768d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi domain = Domain(self, api_response['CreateDomainResponse'] 778d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['CreateDomainResult'] 788d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['DomainStatus']) 798d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 808d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(domain.created, True) 818d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(domain.processing, False) 828d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(domain.requires_index_documents, False) 838d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(domain.deleted, False) 848d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 858d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_cloudsearch_connect_result_details(self): 868d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """Check that the domain information is correctly returned from AWS""" 878d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 888d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.create_domain('demo') 898d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi domain = Domain(self, api_response['CreateDomainResponse'] 908d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['CreateDomainResult'] 918d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['DomainStatus']) 928d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 938d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(domain.id, "1234567890/demo") 948d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(domain.name, "demo") 958d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 968d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_cloudsearch_documentservice_creation(self): 978d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 988d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.create_domain('demo') 998d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi domain = Domain(self, api_response['CreateDomainResponse'] 1008d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['CreateDomainResult'] 1018d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['DomainStatus']) 1028d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1038d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi document = domain.get_document_service() 1048d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1058d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual( 1068d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi document.endpoint, 1078d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "doc-demo.us-east-1.cloudsearch.amazonaws.com") 1088d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1098d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_cloudsearch_searchservice_creation(self): 1108d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 1118d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.create_domain('demo') 1128d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi domain = Domain(self, api_response['CreateDomainResponse'] 1138d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['CreateDomainResult'] 1148d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['DomainStatus']) 1158d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1168d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi search = domain.get_search_service() 1178d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1188d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual( 1198d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi search.endpoint, 1208d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "search-demo.us-east-1.cloudsearch.amazonaws.com") 1218d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1228d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1238d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass CloudSearchConnectionDeletionTest(AWSMockServiceTestCase): 1248d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi connection_class = CloudSearchConnection 1258d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1268d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def default_body(self): 1278d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi return b""" 1288d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi{ 1298d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DeleteDomainResponse": { 1308d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DeleteDomainResult": { 1318d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DomainStatus": { 1328d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "SearchInstanceType": null, 1338d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DomainId": "1234567890/demo", 1348d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DomainName": "test", 1358d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Deleted": true, 1368d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "SearchInstanceCount": 0, 1378d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Created": true, 1388d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "SearchService": { 1398d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Endpoint": null 1408d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }, 1418d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "RequiresIndexDocuments": false, 1428d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Processing": false, 1438d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "DocService": { 1448d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "Endpoint": null 1458d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }, 1468d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "ARN": "arn:aws:cs:us-east-1:1234567890:domain/demo", 1478d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "SearchPartitionCount": 0 1488d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi } 1498d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }, 1508d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "ResponseMetadata": { 1518d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "RequestId": "00000000-0000-0000-0000-000000000000" 1528d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi } 1538d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi } 1548d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi} 1558d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi""" 1568d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1578d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_cloudsearch_deletion(self): 1588d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 1598d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi Check that the correct arguments are sent to AWS when creating a 1608d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi cloudsearch connection. 1618d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 1628d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 1638d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.service_connection.delete_domain('demo') 1648d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1658d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assert_request_parameters({ 1668d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Action': 'DeleteDomain', 1678d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'ContentType': 'JSON', 1688d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'DomainName': 'demo', 1698d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Version': '2013-01-01', 1708d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }) 1718d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1728d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1738d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoiclass CloudSearchConnectionIndexDocumentTest(AWSMockServiceTestCase): 1748d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi connection_class = CloudSearchConnection 1758d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 1768d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def default_body(self): 1778d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi return b""" 1788d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi{ 1798d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "IndexDocumentsResponse": { 1808d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "IndexDocumentsResult": { 1818d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "FieldNames": [ 1828d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "average_score", 1838d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "brand_id", 1848d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "colors", 1858d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "context", 1868d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "context_owner", 1878d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "created_at", 1888d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "creator_id", 1898d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "description", 1908d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "file_size", 1918d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "format", 1928d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "has_logo", 1938d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "has_messaging", 1948d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "height", 1958d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "image_id", 1968d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "ingested_from", 1978d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "is_advertising", 1988d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "is_photo", 1998d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "is_reviewed", 2008d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "modified_at", 2018d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "subject_date", 2028d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "tags", 2038d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "title", 2048d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "width" 2058d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ] 2068d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }, 2078d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "ResponseMetadata": { 2088d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi "RequestId": "42e618d9-c4d9-11e3-8242-c32da3041159" 2098d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi } 2108d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi } 2118d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi} 2128d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi""" 2138d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 2148d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_cloudsearch_index_documents(self): 2158d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 2168d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi Check that the correct arguments are sent to AWS when indexing a 2178d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi domain. 2188d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 2198d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 2208d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.service_connection.index_documents('demo') 2218d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 2228d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assert_request_parameters({ 2238d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Action': 'IndexDocuments', 2248d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'ContentType': 'JSON', 2258d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'DomainName': 'demo', 2268d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'Version': '2013-01-01', 2278d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi }) 2288d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 2298d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi def test_cloudsearch_index_documents_resp(self): 2308d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 2318d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi Check that the AWS response is being parsed correctly when indexing a 2328d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi domain. 2338d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi """ 2348d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.set_http_response(status_code=200) 2358d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi api_response = self.service_connection.index_documents('demo') 2368d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 2378d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi fields = (api_response['IndexDocumentsResponse'] 2388d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['IndexDocumentsResult'] 2398d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi ['FieldNames']) 2408d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 2418d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi self.assertEqual(fields, ['average_score', 'brand_id', 'colors', 2428d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'context', 'context_owner', 2438d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'created_at', 'creator_id', 2448d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'description', 'file_size', 'format', 2458d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'has_logo', 'has_messaging', 'height', 2468d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'image_id', 'ingested_from', 2478d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'is_advertising', 'is_photo', 2488d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'is_reviewed', 'modified_at', 2498d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'subject_date', 'tags', 'title', 2508d2b206a675ec20ea07100c35df34e65ee1e45e8Ruchi Kandoi 'width']) 251