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

Unified Diff: third_party/gsutil/third_party/boto/tests/unit/cloudsearchdomain/test_cloudsearchdomain.py

Issue 1377933002: [catapult] - Copy Telemetry's gsutilz over to third_party. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: Rename to gsutil. Created 5 years, 3 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/third_party/boto/tests/unit/cloudsearchdomain/test_cloudsearchdomain.py
diff --git a/third_party/gsutil/third_party/boto/tests/unit/cloudsearchdomain/test_cloudsearchdomain.py b/third_party/gsutil/third_party/boto/tests/unit/cloudsearchdomain/test_cloudsearchdomain.py
new file mode 100755
index 0000000000000000000000000000000000000000..694e98ff66710dc3dd029cdc0bfd85ecd79b3d9b
--- /dev/null
+++ b/third_party/gsutil/third_party/boto/tests/unit/cloudsearchdomain/test_cloudsearchdomain.py
@@ -0,0 +1,127 @@
+#!/usr/bin env python
+import json
+import mock
+from tests.unit import AWSMockServiceTestCase
+from boto.cloudsearch2.domain import Domain
+from boto.cloudsearch2.layer1 import CloudSearchConnection
+from boto.cloudsearchdomain.layer1 import CloudSearchDomainConnection
+
+
+class CloudSearchDomainConnectionTest(AWSMockServiceTestCase):
+ connection_class = CloudSearchDomainConnection
+
+ domain_status = """{
+ "SearchInstanceType": null,
+ "DomainId": "1234567890/demo",
+ "DomainName": "demo",
+ "Deleted": false,
+ "SearchInstanceCount": 0,
+ "Created": true,
+ "SearchService": {
+ "Endpoint": "search-demo.us-east-1.cloudsearch.amazonaws.com"
+ },
+ "RequiresIndexDocuments": false,
+ "Processing": false,
+ "DocService": {
+ "Endpoint": "doc-demo.us-east-1.cloudsearch.amazonaws.com"
+ },
+ "ARN": "arn:aws:cs:us-east-1:1234567890:domain/demo",
+ "SearchPartitionCount": 0
+ }"""
+
+ def create_service_connection(self, **kwargs):
+ if kwargs.get('host', None) is None:
+ kwargs['host'] = 'search-demo.us-east-1.cloudsearch.amazonaws.com'
+ return super(CloudSearchDomainConnectionTest, self).\
+ create_service_connection(**kwargs)
+
+ def test_get_search_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))
+ search_service = domain.get_search_service()
+
+ self.assertEqual(search_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)
+
+ 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))
+ search_service.domain_connection = self.service_connection
+ resp = search_service.search()
+
+ headers = self.actual_request.headers
+
+ self.assertIsNotNone(headers.get('Authorization'))
+
+ 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'))
+
+ def test_no_host_provided(self):
+ # A host must be provided or a error is thrown.
+ with self.assertRaises(ValueError):
+ CloudSearchDomainConnection(
+ aws_access_key_id='aws_access_key_id',
+ aws_secret_access_key='aws_secret_access_key'
+ )

Powered by Google App Engine
This is Rietveld 408576698