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

Unified Diff: third_party/gsutil/boto/tests/unit/rds/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/rds/test_connection.py
diff --git a/third_party/gsutil/boto/tests/unit/rds/test_connection.py b/third_party/gsutil/boto/tests/unit/rds/test_connection.py
new file mode 100644
index 0000000000000000000000000000000000000000..0d4bff8343d7f75d4c57c0b51ec75173e5d06b11
--- /dev/null
+++ b/third_party/gsutil/boto/tests/unit/rds/test_connection.py
@@ -0,0 +1,131 @@
+#!/usr/bin/env python
+# Copyright (c) 2012 Amazon.com, Inc. or its affiliates. All Rights Reserved
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish, dis-
+# tribute, sublicense, and/or sell copies of the Software, and to permit
+# persons to whom the Software is furnished to do so, subject to the fol-
+# lowing conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#
+
+from tests.unit import unittest
+from tests.unit import AWSMockServiceTestCase
+
+from boto.rds import RDSConnection
+
+
+class TestRDSConnection(AWSMockServiceTestCase):
+ connection_class = RDSConnection
+
+ def setUp(self):
+ super(TestRDSConnection, self).setUp()
+
+ def default_body(self):
+ return """
+ <DescribeDBInstancesResponse>
+ <DescribeDBInstancesResult>
+ <DBInstances>
+ <DBInstance>
+ <Iops>2000</Iops>
+ <BackupRetentionPeriod>1</BackupRetentionPeriod>
+ <MultiAZ>false</MultiAZ>
+ <DBInstanceStatus>backing-up</DBInstanceStatus>
+ <DBInstanceIdentifier>mydbinstance2</DBInstanceIdentifier>
+ <PreferredBackupWindow>10:30-11:00</PreferredBackupWindow>
+ <PreferredMaintenanceWindow>wed:06:30-wed:07:00</PreferredMaintenanceWindow>
+ <OptionGroupMembership>
+ <OptionGroupName>default:mysql-5-5</OptionGroupName>
+ <Status>in-sync</Status>
+ </OptionGroupMembership>
+ <AvailabilityZone>us-west-2b</AvailabilityZone>
+ <ReadReplicaDBInstanceIdentifiers/>
+ <Engine>mysql</Engine>
+ <PendingModifiedValues/>
+ <LicenseModel>general-public-license</LicenseModel>
+ <DBParameterGroups>
+ <DBParameterGroup>
+ <ParameterApplyStatus>in-sync</ParameterApplyStatus>
+ <DBParameterGroupName>default.mysql5.5</DBParameterGroupName>
+ </DBParameterGroup>
+ </DBParameterGroups>
+ <Endpoint>
+ <Port>3306</Port>
+ <Address>mydbinstance2.c0hjqouvn9mf.us-west-2.rds.amazonaws.com</Address>
+ </Endpoint>
+ <EngineVersion>5.5.27</EngineVersion>
+ <DBSecurityGroups>
+ <DBSecurityGroup>
+ <Status>active</Status>
+ <DBSecurityGroupName>default</DBSecurityGroupName>
+ </DBSecurityGroup>
+ </DBSecurityGroups>
+ <DBName>mydb2</DBName>
+ <AutoMinorVersionUpgrade>true</AutoMinorVersionUpgrade>
+ <InstanceCreateTime>2012-10-03T22:01:51.047Z</InstanceCreateTime>
+ <AllocatedStorage>200</AllocatedStorage>
+ <DBInstanceClass>db.m1.large</DBInstanceClass>
+ <MasterUsername>awsuser</MasterUsername>
+ </DBInstance>
+ </DBInstances>
+ </DescribeDBInstancesResult>
+ </DescribeDBInstancesResponse>
+ """
+
+ def test_get_all_db_instances(self):
+ self.set_http_response(status_code=200)
+ response = self.service_connection.get_all_dbinstances('instance_id')
+ self.assertEqual(len(response), 1)
+ self.assert_request_parameters({
+ 'Action': 'DescribeDBInstances',
+ 'DBInstanceIdentifier': 'instance_id',
+ }, ignore_params_values=['AWSAccessKeyId', 'Timestamp', 'Version',
+ 'SignatureVersion', 'SignatureMethod'])
+ db = response[0]
+ self.assertEqual(db.id, 'mydbinstance2')
+ self.assertEqual(db.create_time, '2012-10-03T22:01:51.047Z')
+ self.assertEqual(db.engine, 'mysql')
+ self.assertEqual(db.status, 'backing-up')
+ self.assertEqual(db.allocated_storage, 200)
+ self.assertEqual(
+ db.endpoint,
+ (u'mydbinstance2.c0hjqouvn9mf.us-west-2.rds.amazonaws.com', 3306))
+ self.assertEqual(db.instance_class, 'db.m1.large')
+ self.assertEqual(db.master_username, 'awsuser')
+ self.assertEqual(db.availability_zone, 'us-west-2b')
+ self.assertEqual(db.backup_retention_period, '1')
+ self.assertEqual(db.preferred_backup_window, '10:30-11:00')
+ self.assertEqual(db.preferred_maintenance_window,
+ 'wed:06:30-wed:07:00')
+ self.assertEqual(db.latest_restorable_time, None)
+ self.assertEqual(db.multi_az, False)
+ self.assertEqual(db.iops, 2000)
+ self.assertEqual(db.pending_modified_values, {})
+
+ self.assertEqual(db.parameter_group.name,
+ 'default.mysql5.5')
+ self.assertEqual(db.parameter_group.description, None)
+ self.assertEqual(db.parameter_group.engine, None)
+
+ self.assertEqual(db.security_group.owner_id, None)
+ self.assertEqual(db.security_group.name, 'default')
+ self.assertEqual(db.security_group.description, None)
+ self.assertEqual(db.security_group.ec2_groups, [])
+ self.assertEqual(db.security_group.ip_ranges, [])
+
+
+if __name__ == '__main__':
+ unittest.main()
+

Powered by Google App Engine
This is Rietveld 408576698