Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(507)

Unified Diff: third_party/gsutil/boto/tests/unit/cloudsearch/test_connection.py

Issue 12317103: Added gsutil to depot tools (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: added readme Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/gsutil/boto/tests/unit/cloudsearch/test_connection.py
diff --git a/third_party/gsutil/boto/tests/unit/cloudsearch/test_connection.py b/third_party/gsutil/boto/tests/unit/cloudsearch/test_connection.py
new file mode 100644
index 0000000000000000000000000000000000000000..d2f67526a0eb0f298fb428cf9067a7c18e4e19bb
--- /dev/null
+++ b/third_party/gsutil/boto/tests/unit/cloudsearch/test_connection.py
@@ -0,0 +1,241 @@
+#!/usr/bin env python
+
+from tests.unit import AWSMockServiceTestCase
+
+from boto.cloudsearch.domain import Domain
+from boto.cloudsearch.layer1 import Layer1
+
+import json
+
+class TestCloudSearchCreateDomain(AWSMockServiceTestCase):
+ connection_class = Layer1
+
+ def default_body(self):
+ return """
+<CreateDomainResponse xmlns="http://cloudsearch.amazonaws.com/doc/2011-02-01">
+ <CreateDomainResult>
+ <DomainStatus>
+ <SearchPartitionCount>0</SearchPartitionCount>
+ <SearchService>
+ <Arn>arn:aws:cs:us-east-1:1234567890:search/demo</Arn>
+ <Endpoint>search-demo-userdomain.us-east-1.cloudsearch.amazonaws.com</Endpoint>
+ </SearchService>
+ <NumSearchableDocs>0</NumSearchableDocs>
+ <Created>true</Created>
+ <DomainId>1234567890/demo</DomainId>
+ <Processing>false</Processing>
+ <SearchInstanceCount>0</SearchInstanceCount>
+ <DomainName>demo</DomainName>
+ <RequiresIndexDocuments>false</RequiresIndexDocuments>
+ <Deleted>false</Deleted>
+ <DocService>
+ <Arn>arn:aws:cs:us-east-1:1234567890:doc/demo</Arn>
+ <Endpoint>doc-demo-userdomain.us-east-1.cloudsearch.amazonaws.com</Endpoint>
+ </DocService>
+ </DomainStatus>
+ </CreateDomainResult>
+ <ResponseMetadata>
+ <RequestId>00000000-0000-0000-0000-000000000000</RequestId>
+ </ResponseMetadata>
+</CreateDomainResponse>
+"""
+
+ def test_create_domain(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_domain('demo')
+
+ self.assert_request_parameters({
+ 'Action': 'CreateDomain',
+ 'DomainName': 'demo',
+ 'AWSAccessKeyId': 'aws_access_key_id',
+ 'SignatureMethod': 'HmacSHA256',
+ 'SignatureVersion': 2,
+ 'Version': '2011-02-01',
+ }, ignore_params_values=['Timestamp'])
+
+ def test_cloudsearch_connect_result_endpoints(self):
+ """Check that endpoints & ARNs are correctly returned from AWS"""
+
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_domain('demo')
+ domain = Domain(self, api_response)
+
+ self.assertEqual(domain.doc_service_arn,
+ "arn:aws:cs:us-east-1:1234567890:doc/demo")
+ self.assertEqual(
+ domain.doc_service_endpoint,
+ "doc-demo-userdomain.us-east-1.cloudsearch.amazonaws.com")
+ self.assertEqual(domain.search_service_arn,
+ "arn:aws:cs:us-east-1:1234567890:search/demo")
+ self.assertEqual(
+ domain.search_service_endpoint,
+ "search-demo-userdomain.us-east-1.cloudsearch.amazonaws.com")
+
+ def test_cloudsearch_connect_result_statuses(self):
+ """Check that domain statuses are correctly returned from AWS"""
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_domain('demo')
+ domain = Domain(self, api_response)
+
+ self.assertEqual(domain.created, True)
+ self.assertEqual(domain.processing, False)
+ self.assertEqual(domain.requires_index_documents, False)
+ self.assertEqual(domain.deleted, False)
+
+ def test_cloudsearch_connect_result_details(self):
+ """Check that the domain information is correctly returned from AWS"""
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_domain('demo')
+ domain = Domain(self, api_response)
+
+ self.assertEqual(domain.id, "1234567890/demo")
+ self.assertEqual(domain.name, "demo")
+
+ 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)
+
+ document = domain.get_document_service()
+
+ self.assertEqual(
+ document.endpoint,
+ "doc-demo-userdomain.us-east-1.cloudsearch.amazonaws.com")
+
+ def test_cloudsearch_searchservice_creation(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_domain('demo')
+ domain = Domain(self, api_response)
+
+ search = domain.get_search_service()
+
+ self.assertEqual(
+ search.endpoint,
+ "search-demo-userdomain.us-east-1.cloudsearch.amazonaws.com")
+
+
+class CloudSearchConnectionDeletionTest(AWSMockServiceTestCase):
+ connection_class = Layer1
+
+ def default_body(self):
+ return """
+<DeleteDomainResponse xmlns="http://cloudsearch.amazonaws.com/doc/2011-02-01">
+ <DeleteDomainResult>
+ <DomainStatus>
+ <SearchPartitionCount>0</SearchPartitionCount>
+ <SearchService>
+ <Arn>arn:aws:cs:us-east-1:1234567890:search/demo</Arn>
+ <Endpoint>search-demo-userdomain.us-east-1.cloudsearch.amazonaws.com</Endpoint>
+ </SearchService>
+ <NumSearchableDocs>0</NumSearchableDocs>
+ <Created>true</Created>
+ <DomainId>1234567890/demo</DomainId>
+ <Processing>false</Processing>
+ <SearchInstanceCount>0</SearchInstanceCount>
+ <DomainName>demo</DomainName>
+ <RequiresIndexDocuments>false</RequiresIndexDocuments>
+ <Deleted>false</Deleted>
+ <DocService>
+ <Arn>arn:aws:cs:us-east-1:1234567890:doc/demo</Arn>
+ <Endpoint>doc-demo-userdomain.us-east-1.cloudsearch.amazonaws.com</Endpoint>
+ </DocService>
+ </DomainStatus>
+ </DeleteDomainResult>
+ <ResponseMetadata>
+ <RequestId>00000000-0000-0000-0000-000000000000</RequestId>
+ </ResponseMetadata>
+</DeleteDomainResponse>
+"""
+
+ def test_cloudsearch_deletion(self):
+ """
+ Check that the correct arguments are sent to AWS when creating a
+ cloudsearch connection.
+ """
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.delete_domain('demo')
+
+ self.assert_request_parameters({
+ 'Action': 'DeleteDomain',
+ 'DomainName': 'demo',
+ 'AWSAccessKeyId': 'aws_access_key_id',
+ 'SignatureMethod': 'HmacSHA256',
+ 'SignatureVersion': 2,
+ 'Version': '2011-02-01',
+ }, ignore_params_values=['Timestamp'])
+
+
+class CloudSearchConnectionIndexDocumentTest(AWSMockServiceTestCase):
+ connection_class = Layer1
+
+ def default_body(self):
+ return """
+<IndexDocumentsResponse xmlns="http://cloudsearch.amazonaws.com/doc/2011-02-01">
+ <IndexDocumentsResult>
+ <FieldNames>
+ <member>average_score</member>
+ <member>brand_id</member>
+ <member>colors</member>
+ <member>context</member>
+ <member>context_owner</member>
+ <member>created_at</member>
+ <member>creator_id</member>
+ <member>description</member>
+ <member>file_size</member>
+ <member>format</member>
+ <member>has_logo</member>
+ <member>has_messaging</member>
+ <member>height</member>
+ <member>image_id</member>
+ <member>ingested_from</member>
+ <member>is_advertising</member>
+ <member>is_photo</member>
+ <member>is_reviewed</member>
+ <member>modified_at</member>
+ <member>subject_date</member>
+ <member>tags</member>
+ <member>title</member>
+ <member>width</member>
+ </FieldNames>
+ </IndexDocumentsResult>
+ <ResponseMetadata>
+ <RequestId>eb2b2390-6bbd-11e2-ab66-93f3a90dcf2a</RequestId>
+ </ResponseMetadata>
+</IndexDocumentsResponse>
+"""
+
+ def test_cloudsearch_index_documents(self):
+ """
+ Check that the correct arguments are sent to AWS when indexing a
+ domain.
+ """
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.index_documents('demo')
+
+ self.assert_request_parameters({
+ 'Action': 'IndexDocuments',
+ 'DomainName': 'demo',
+ 'AWSAccessKeyId': 'aws_access_key_id',
+ 'SignatureMethod': 'HmacSHA256',
+ 'SignatureVersion': 2,
+ 'Version': '2011-02-01',
+ }, ignore_params_values=['Timestamp'])
+
+ def test_cloudsearch_index_documents_resp(self):
+ """
+ Check that the AWS response is being parsed correctly when indexing a
+ domain.
+ """
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.index_documents('demo')
+
+ self.assertEqual(api_response, ['average_score', 'brand_id', 'colors',
+ 'context', 'context_owner',
+ 'created_at', 'creator_id',
+ 'description', 'file_size', 'format',
+ 'has_logo', 'has_messaging', 'height',
+ 'image_id', 'ingested_from',
+ 'is_advertising', 'is_photo',
+ 'is_reviewed', 'modified_at',
+ 'subject_date', 'tags', 'title',
+ 'width'])

Powered by Google App Engine
This is Rietveld 408576698