From c40437398fdd3fdbfffe7fdde8d701b9f2a71f50 Mon Sep 17 00:00:00 2001 From: Hugo Lopes Tavares Date: Mon, 2 Feb 2015 17:19:01 -0500 Subject: [PATCH] Add StorageType and Iops elements to DBInstance XML response --- moto/rds/models.py | 6 ++++++ tests/helpers.py | 13 +++++++++++++ tests/test_rds/test_rds.py | 15 ++++++++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/moto/rds/models.py b/moto/rds/models.py index f0ac1e78..80a55434 100644 --- a/moto/rds/models.py +++ b/moto/rds/models.py @@ -199,6 +199,12 @@ class Database(object): {{ database.publicly_accessible }} {{ database.auto_minor_version_upgrade }} {{ database.allocated_storage }} + {% if database.iops %} + {{ database.iops }} + io1 + {% else %} + {{ database.storage_type }} + {% endif %} {{ database.db_instance_class }} {{ database.master_username }} diff --git a/tests/helpers.py b/tests/helpers.py index 33509c06..718f2ab6 100644 --- a/tests/helpers.py +++ b/tests/helpers.py @@ -26,6 +26,19 @@ class requires_boto_gte(object): return skip_test +class requires_boto_lte(object): + """Decorator for requiring boto version lesser than or equal to 'version'""" + def __init__(self, version): + self.version = version + + def __call__(self, test): + boto_version = version_tuple(boto.__version__) + required = version_tuple(self.version) + if boto_version <= required: + return test + return skip_test + + class disable_on_py3(object): def __call__(self, test): if not six.PY3: diff --git a/tests/test_rds/test_rds.py b/tests/test_rds/test_rds.py index e30818c6..0efd6dfc 100644 --- a/tests/test_rds/test_rds.py +++ b/tests/test_rds/test_rds.py @@ -6,7 +6,7 @@ from boto.exception import BotoServerError import sure # noqa from moto import mock_ec2, mock_rds -from tests.helpers import disable_on_py3 +from tests.helpers import disable_on_py3, requires_boto_lte @disable_on_py3() @@ -257,3 +257,16 @@ def test_connecting_to_us_east_1(): database.master_username.should.equal("root") database.endpoint.should.equal(('db-master-1.aaaaaaaaaa.us-east-1.rds.amazonaws.com', 3306)) database.security_groups[0].name.should.equal('my_sg') + + +@requires_boto_lte('2.36.0') +@disable_on_py3() +@mock_rds +def test_create_database_with_iops(): + conn = boto.rds.connect_to_region("us-west-2") + + database = conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2', iops=6000) + + database.status.should.equal('available') + database.iops.should.equal(6000) + database.StorageType.should.equal('io1')