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

Unified Diff: third_party/gsutil/third_party/boto/tests/unit/cloudfront/test_connection.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/cloudfront/test_connection.py
diff --git a/third_party/gsutil/third_party/boto/tests/unit/cloudfront/test_connection.py b/third_party/gsutil/third_party/boto/tests/unit/cloudfront/test_connection.py
new file mode 100644
index 0000000000000000000000000000000000000000..342c36559340f2c57e84919add5e8a701dc91c45
--- /dev/null
+++ b/third_party/gsutil/third_party/boto/tests/unit/cloudfront/test_connection.py
@@ -0,0 +1,204 @@
+from tests.unit import unittest
+from tests.unit import AWSMockServiceTestCase
+
+from boto.cloudfront import CloudFrontConnection
+from boto.cloudfront.distribution import Distribution, DistributionConfig, DistributionSummary
+from boto.cloudfront.origin import CustomOrigin
+
+
+class TestCloudFrontConnection(AWSMockServiceTestCase):
+ connection_class = CloudFrontConnection
+
+ def setUp(self):
+ super(TestCloudFrontConnection, self).setUp()
+
+ def test_get_all_distributions(self):
+ body = b"""
+ <DistributionList xmlns="http://cloudfront.amazonaws.com/doc/2010-11-01/">
+ <Marker></Marker>
+ <MaxItems>100</MaxItems>
+ <IsTruncated>false</IsTruncated>
+ <DistributionSummary>
+ <Id>EEEEEEEEEEEEE</Id>
+ <Status>InProgress</Status>
+ <LastModifiedTime>2014-02-03T11:03:41.087Z</LastModifiedTime>
+ <DomainName>abcdef12345678.cloudfront.net</DomainName>
+ <CustomOrigin>
+ <DNSName>example.com</DNSName>
+ <HTTPPort>80</HTTPPort>
+ <HTTPSPort>443</HTTPSPort>
+ <OriginProtocolPolicy>http-only</OriginProtocolPolicy>
+ </CustomOrigin>
+ <CNAME>static.example.com</CNAME>
+ <Enabled>true</Enabled>
+ </DistributionSummary>
+ </DistributionList>
+ """
+ self.set_http_response(status_code=200, body=body)
+ response = self.service_connection.get_all_distributions()
+
+ self.assertTrue(isinstance(response, list))
+ self.assertEqual(len(response), 1)
+ self.assertTrue(isinstance(response[0], DistributionSummary))
+ self.assertEqual(response[0].id, "EEEEEEEEEEEEE")
+ self.assertEqual(response[0].domain_name, "abcdef12345678.cloudfront.net")
+ self.assertEqual(response[0].status, "InProgress")
+ self.assertEqual(response[0].cnames, ["static.example.com"])
+ self.assertEqual(response[0].enabled, True)
+ self.assertTrue(isinstance(response[0].origin, CustomOrigin))
+ self.assertEqual(response[0].origin.dns_name, "example.com")
+ self.assertEqual(response[0].origin.http_port, 80)
+ self.assertEqual(response[0].origin.https_port, 443)
+ self.assertEqual(response[0].origin.origin_protocol_policy, 'http-only')
+
+ def test_get_distribution_config(self):
+ body = b"""
+ <DistributionConfig xmlns="http://cloudfront.amazonaws.com/doc/2010-11-01/">
+ <CustomOrigin>
+ <DNSName>example.com</DNSName>
+ <HTTPPort>80</HTTPPort>
+ <HTTPSPort>443</HTTPSPort>
+ <OriginProtocolPolicy>http-only</OriginProtocolPolicy>
+ </CustomOrigin>
+ <CallerReference>1234567890123</CallerReference>
+ <CNAME>static.example.com</CNAME>
+ <Enabled>true</Enabled>
+ </DistributionConfig>
+ """
+
+ self.set_http_response(status_code=200, body=body, header={"Etag": "AABBCC"})
+ response = self.service_connection.get_distribution_config('EEEEEEEEEEEEE')
+
+ self.assertTrue(isinstance(response, DistributionConfig))
+ self.assertTrue(isinstance(response.origin, CustomOrigin))
+ self.assertEqual(response.origin.dns_name, "example.com")
+ self.assertEqual(response.origin.http_port, 80)
+ self.assertEqual(response.origin.https_port, 443)
+ self.assertEqual(response.origin.origin_protocol_policy, "http-only")
+ self.assertEqual(response.cnames, ["static.example.com"])
+ self.assertTrue(response.enabled)
+ self.assertEqual(response.etag, "AABBCC")
+
+ def test_set_distribution_config(self):
+ get_body = b"""
+ <DistributionConfig xmlns="http://cloudfront.amazonaws.com/doc/2010-11-01/">
+ <CustomOrigin>
+ <DNSName>example.com</DNSName>
+ <HTTPPort>80</HTTPPort>
+ <HTTPSPort>443</HTTPSPort>
+ <OriginProtocolPolicy>http-only</OriginProtocolPolicy>
+ </CustomOrigin>
+ <CallerReference>1234567890123</CallerReference>
+ <CNAME>static.example.com</CNAME>
+ <Enabled>true</Enabled>
+ </DistributionConfig>
+ """
+
+ put_body = b"""
+ <Distribution xmlns="http://cloudfront.amazonaws.com/doc/2010-11-01/">
+ <Id>EEEEEE</Id>
+ <Status>InProgress</Status>
+ <LastModifiedTime>2014-02-04T10:47:53.493Z</LastModifiedTime>
+ <InProgressInvalidationBatches>0</InProgressInvalidationBatches>
+ <DomainName>d2000000000000.cloudfront.net</DomainName>
+ <DistributionConfig>
+ <CustomOrigin>
+ <DNSName>example.com</DNSName>
+ <HTTPPort>80</HTTPPort>
+ <HTTPSPort>443</HTTPSPort>
+ <OriginProtocolPolicy>match-viewer</OriginProtocolPolicy>
+ </CustomOrigin>
+ <CallerReference>aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee</CallerReference>
+ <Comment>this is a comment</Comment>
+ <Enabled>false</Enabled>
+ </DistributionConfig>
+ </Distribution>
+ """
+
+ self.set_http_response(status_code=200, body=get_body, header={"Etag": "AA"})
+ conf = self.service_connection.get_distribution_config('EEEEEEE')
+
+ self.set_http_response(status_code=200, body=put_body, header={"Etag": "AABBCCD"})
+ conf.comment = 'this is a comment'
+ response = self.service_connection.set_distribution_config('EEEEEEE', conf.etag, conf)
+
+ self.assertEqual(response, "AABBCCD")
+
+ def test_get_distribution_info(self):
+ body = b"""
+ <Distribution xmlns="http://cloudfront.amazonaws.com/doc/2010-11-01/">
+ <Id>EEEEEEEEEEEEE</Id>
+ <Status>InProgress</Status>
+ <LastModifiedTime>2014-02-03T11:03:41.087Z</LastModifiedTime>
+ <InProgressInvalidationBatches>0</InProgressInvalidationBatches>
+ <DomainName>abcdef12345678.cloudfront.net</DomainName>
+ <DistributionConfig>
+ <CustomOrigin>
+ <DNSName>example.com</DNSName>
+ <HTTPPort>80</HTTPPort>
+ <HTTPSPort>443</HTTPSPort>
+ <OriginProtocolPolicy>http-only</OriginProtocolPolicy>
+ </CustomOrigin>
+ <CallerReference>1111111111111</CallerReference>
+ <CNAME>static.example.com</CNAME>
+ <Enabled>true</Enabled>
+ </DistributionConfig>
+ </Distribution>
+ """
+
+ self.set_http_response(status_code=200, body=body)
+ response = self.service_connection.get_distribution_info('EEEEEEEEEEEEE')
+
+ self.assertTrue(isinstance(response, Distribution))
+ self.assertTrue(isinstance(response.config, DistributionConfig))
+ self.assertTrue(isinstance(response.config.origin, CustomOrigin))
+ self.assertEqual(response.config.origin.dns_name, "example.com")
+ self.assertEqual(response.config.origin.http_port, 80)
+ self.assertEqual(response.config.origin.https_port, 443)
+ self.assertEqual(response.config.origin.origin_protocol_policy, "http-only")
+ self.assertEqual(response.config.cnames, ["static.example.com"])
+ self.assertTrue(response.config.enabled)
+ self.assertEqual(response.id, "EEEEEEEEEEEEE")
+ self.assertEqual(response.status, "InProgress")
+ self.assertEqual(response.domain_name, "abcdef12345678.cloudfront.net")
+ self.assertEqual(response.in_progress_invalidation_batches, 0)
+
+ def test_create_distribution(self):
+ body = b"""
+ <Distribution xmlns="http://cloudfront.amazonaws.com/doc/2010-11-01/">
+ <Id>EEEEEEEEEEEEEE</Id>
+ <Status>InProgress</Status>
+ <LastModifiedTime>2014-02-04T10:34:07.873Z</LastModifiedTime>
+ <InProgressInvalidationBatches>0</InProgressInvalidationBatches>
+ <DomainName>d2000000000000.cloudfront.net</DomainName>
+ <DistributionConfig>
+ <CustomOrigin>
+ <DNSName>example.com</DNSName>
+ <HTTPPort>80</HTTPPort>
+ <HTTPSPort>443</HTTPSPort>
+ <OriginProtocolPolicy>match-viewer</OriginProtocolPolicy>
+ </CustomOrigin>
+ <CallerReference>aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee</CallerReference>
+ <Comment>example.com distribution</Comment>
+ <Enabled>false</Enabled>
+ </DistributionConfig>
+ </Distribution>
+ """
+
+ self.set_http_response(status_code=201, body=body)
+ origin = CustomOrigin("example.com", origin_protocol_policy="match_viewer")
+ response = self.service_connection.create_distribution(origin, enabled=False, comment="example.com distribution")
+
+ self.assertTrue(isinstance(response, Distribution))
+ self.assertTrue(isinstance(response.config, DistributionConfig))
+ self.assertTrue(isinstance(response.config.origin, CustomOrigin))
+ self.assertEqual(response.config.origin.dns_name, "example.com")
+ self.assertEqual(response.config.origin.http_port, 80)
+ self.assertEqual(response.config.origin.https_port, 443)
+ self.assertEqual(response.config.origin.origin_protocol_policy, "match-viewer")
+ self.assertEqual(response.config.cnames, [])
+ self.assertTrue(not response.config.enabled)
+ self.assertEqual(response.id, "EEEEEEEEEEEEEE")
+ self.assertEqual(response.status, "InProgress")
+ self.assertEqual(response.domain_name, "d2000000000000.cloudfront.net")
+ self.assertEqual(response.in_progress_invalidation_batches, 0)

Powered by Google App Engine
This is Rietveld 408576698