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

Unified Diff: third_party/gsutil/boto/tests/unit/beanstalk/test_layer1.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/beanstalk/test_layer1.py
diff --git a/third_party/gsutil/boto/tests/unit/beanstalk/test_layer1.py b/third_party/gsutil/boto/tests/unit/beanstalk/test_layer1.py
new file mode 100644
index 0000000000000000000000000000000000000000..6df75374e2fd1e9021250a7ac928f13606262d71
--- /dev/null
+++ b/third_party/gsutil/boto/tests/unit/beanstalk/test_layer1.py
@@ -0,0 +1,128 @@
+#!/usr/bin/env python
+
+import json
+
+from tests.unit import AWSMockServiceTestCase
+
+from boto.beanstalk.layer1 import Layer1
+
+# These tests are just checking the basic structure of
+# the Elastic Beanstalk code, by picking a few calls
+# and verifying we get the expected results with mocked
+# responses. The integration tests actually verify the
+# API calls interact with the service correctly.
+class TestListAvailableSolutionStacks(AWSMockServiceTestCase):
+ connection_class = Layer1
+
+ def default_body(self):
+ return json.dumps(
+ {u'ListAvailableSolutionStacksResponse':
+ {u'ListAvailableSolutionStacksResult':
+ {u'SolutionStackDetails': [
+ {u'PermittedFileTypes': [u'war', u'zip'],
+ u'SolutionStackName': u'32bit Amazon Linux running Tomcat 7'},
+ {u'PermittedFileTypes': [u'zip'],
+ u'SolutionStackName': u'32bit Amazon Linux running PHP 5.3'}],
+ u'SolutionStacks': [u'32bit Amazon Linux running Tomcat 7',
+ u'32bit Amazon Linux running PHP 5.3']},
+ u'ResponseMetadata': {u'RequestId': u'request_id'}}})
+
+ def test_list_available_solution_stacks(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.list_available_solution_stacks()
+ stack_details = api_response['ListAvailableSolutionStacksResponse']\
+ ['ListAvailableSolutionStacksResult']\
+ ['SolutionStackDetails']
+ solution_stacks = api_response['ListAvailableSolutionStacksResponse']\
+ ['ListAvailableSolutionStacksResult']\
+ ['SolutionStacks']
+ self.assertEqual(solution_stacks,
+ [u'32bit Amazon Linux running Tomcat 7',
+ u'32bit Amazon Linux running PHP 5.3'])
+ # These are the parameters that are actually sent to the CloudFormation
+ # service.
+ self.assert_request_parameters({
+ 'Action': 'ListAvailableSolutionStacks',
+ 'ContentType': 'JSON',
+ 'SignatureMethod': 'HmacSHA256',
+ 'SignatureVersion': 2,
+ 'Version': '2010-12-01',
+ 'AWSAccessKeyId': 'aws_access_key_id',
+ }, ignore_params_values=['Timestamp'])
+
+
+class TestCreateApplicationVersion(AWSMockServiceTestCase):
+ connection_class = Layer1
+
+ def default_body(self):
+ return json.dumps({
+ 'CreateApplicationVersionResponse':
+ {u'CreateApplicationVersionResult':
+ {u'ApplicationVersion':
+ {u'ApplicationName': u'application1',
+ u'DateCreated': 1343067094.342,
+ u'DateUpdated': 1343067094.342,
+ u'Description': None,
+ u'SourceBundle': {u'S3Bucket': u'elasticbeanstalk-us-east-1',
+ u'S3Key': u'resources/elasticbeanstalk-sampleapp.war'},
+ u'VersionLabel': u'version1'}}}})
+
+ def test_create_application_version(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_application_version(
+ 'application1', 'version1', s3_bucket='mybucket', s3_key='mykey',
+ auto_create_application=True)
+ app_version = api_response['CreateApplicationVersionResponse']\
+ ['CreateApplicationVersionResult']\
+ ['ApplicationVersion']
+ self.assert_request_parameters({
+ 'Action': 'CreateApplicationVersion',
+ 'ContentType': 'JSON',
+ 'SignatureMethod': 'HmacSHA256',
+ 'SignatureVersion': 2,
+ 'Version': '2010-12-01',
+ 'ApplicationName': 'application1',
+ 'AutoCreateApplication': 'true',
+ 'SourceBundle.S3Bucket': 'mybucket',
+ 'SourceBundle.S3Key': 'mykey',
+ 'VersionLabel': 'version1',
+ 'AWSAccessKeyId': 'aws_access_key_id',
+ }, ignore_params_values=['Timestamp'])
+ self.assertEqual(app_version['ApplicationName'], 'application1')
+ self.assertEqual(app_version['VersionLabel'], 'version1')
+
+
+class TestCreateEnvironment(AWSMockServiceTestCase):
+ connection_class = Layer1
+
+ def default_body(self):
+ return json.dumps({})
+
+ def test_create_environment(self):
+ self.set_http_response(status_code=200)
+ api_response = self.service_connection.create_environment(
+ 'application1', 'environment1', 'version1',
+ '32bit Amazon Linux running Tomcat 7',
+ option_settings=[
+ ('aws:autoscaling:launchconfiguration', 'Ec2KeyName',
+ 'mykeypair'),
+ ('aws:elasticbeanstalk:application:environment', 'ENVVAR',
+ 'VALUE1')])
+ self.assert_request_parameters({
+ 'Action': 'CreateEnvironment',
+ 'ApplicationName': 'application1',
+ 'EnvironmentName': 'environment1',
+ 'TemplateName': '32bit Amazon Linux running Tomcat 7',
+ 'ContentType': 'JSON',
+ 'SignatureMethod': 'HmacSHA256',
+ 'SignatureVersion': 2,
+ 'Version': '2010-12-01',
+ 'VersionLabel': 'version1',
+ 'AWSAccessKeyId': 'aws_access_key_id',
+ 'OptionSettings.member.1.Namespace': 'aws:autoscaling:launchconfiguration',
+ 'OptionSettings.member.1.OptionName': 'Ec2KeyName',
+ 'OptionSettings.member.1.Value': 'mykeypair',
+ 'OptionSettings.member.2.Namespace': 'aws:elasticbeanstalk:application:environment',
+ 'OptionSettings.member.2.OptionName': 'ENVVAR',
+ 'OptionSettings.member.2.Value': 'VALUE1',
+ }, ignore_params_values=['Timestamp'])

Powered by Google App Engine
This is Rietveld 408576698