This commit is contained in:
Steve Pulec 2017-02-23 21:37:43 -05:00
commit f37bad0e00
260 changed files with 6363 additions and 3766 deletions

View file

@ -24,7 +24,8 @@ def test_create_database():
database['DBInstance']['AllocatedStorage'].should.equal(10)
database['DBInstance']['DBInstanceClass'].should.equal("db.m1.small")
database['DBInstance']['MasterUsername'].should.equal("root")
database['DBInstance']['DBSecurityGroups'][0]['DBSecurityGroupName'].should.equal('my_sg')
database['DBInstance']['DBSecurityGroups'][0][
'DBSecurityGroupName'].should.equal('my_sg')
@disable_on_py3()
@ -56,14 +57,16 @@ def test_get_databases():
instances = conn.describe_db_instances(DBInstanceIdentifier="db-master-1")
list(instances['DBInstances']).should.have.length_of(1)
instances['DBInstances'][0]['DBInstanceIdentifier'].should.equal("db-master-1")
instances['DBInstances'][0][
'DBInstanceIdentifier'].should.equal("db-master-1")
@disable_on_py3()
@mock_rds2
def test_describe_non_existant_database():
conn = boto3.client('rds', region_name='us-west-2')
conn.describe_db_instances.when.called_with(DBInstanceIdentifier="not-a-db").should.throw(ClientError)
conn.describe_db_instances.when.called_with(
DBInstanceIdentifier="not-a-db").should.throw(ClientError)
@disable_on_py3()
@ -95,6 +98,7 @@ def test_modify_non_existant_database():
AllocatedStorage=20,
ApplyImmediately=True).should.throw(ClientError)
@disable_on_py3()
@mock_rds2
def test_reboot_db_instance():
@ -115,7 +119,8 @@ def test_reboot_db_instance():
@mock_rds2
def test_reboot_non_existant_database():
conn = boto3.client('rds', region_name='us-west-2')
conn.reboot_db_instance.when.called_with(DBInstanceIdentifier="not-a-db").should.throw(ClientError)
conn.reboot_db_instance.when.called_with(
DBInstanceIdentifier="not-a-db").should.throw(ClientError)
@disable_on_py3()
@ -144,7 +149,8 @@ def test_delete_database():
@mock_rds2
def test_delete_non_existant_database():
conn = boto3.client('rds2', region_name="us-west-2")
conn.delete_db_instance.when.called_with(DBInstanceIdentifier="not-a-db").should.throw(ClientError)
conn.delete_db_instance.when.called_with(
DBInstanceIdentifier="not-a-db").should.throw(ClientError)
@disable_on_py3()
@ -157,7 +163,8 @@ def test_create_option_group():
OptionGroupDescription='test option group')
option_group['OptionGroup']['OptionGroupName'].should.equal('test')
option_group['OptionGroup']['EngineName'].should.equal('mysql')
option_group['OptionGroup']['OptionGroupDescription'].should.equal('test option group')
option_group['OptionGroup'][
'OptionGroupDescription'].should.equal('test option group')
option_group['OptionGroup']['MajorEngineVersion'].should.equal('5.6')
@ -214,14 +221,16 @@ def test_describe_option_group():
MajorEngineVersion='5.6',
OptionGroupDescription='test option group')
option_groups = conn.describe_option_groups(OptionGroupName='test')
option_groups['OptionGroupsList'][0]['OptionGroupName'].should.equal('test')
option_groups['OptionGroupsList'][0][
'OptionGroupName'].should.equal('test')
@disable_on_py3()
@mock_rds2
def test_describe_non_existant_option_group():
conn = boto3.client('rds', region_name='us-west-2')
conn.describe_option_groups.when.called_with(OptionGroupName="not-a-option-group").should.throw(ClientError)
conn.describe_option_groups.when.called_with(
OptionGroupName="not-a-option-group").should.throw(ClientError)
@disable_on_py3()
@ -233,41 +242,51 @@ def test_delete_option_group():
MajorEngineVersion='5.6',
OptionGroupDescription='test option group')
option_groups = conn.describe_option_groups(OptionGroupName='test')
option_groups['OptionGroupsList'][0]['OptionGroupName'].should.equal('test')
option_groups['OptionGroupsList'][0][
'OptionGroupName'].should.equal('test')
conn.delete_option_group(OptionGroupName='test')
conn.describe_option_groups.when.called_with(OptionGroupName='test').should.throw(ClientError)
conn.describe_option_groups.when.called_with(
OptionGroupName='test').should.throw(ClientError)
@disable_on_py3()
@mock_rds2
def test_delete_non_existant_option_group():
conn = boto3.client('rds', region_name='us-west-2')
conn.delete_option_group.when.called_with(OptionGroupName='non-existant').should.throw(ClientError)
conn.delete_option_group.when.called_with(
OptionGroupName='non-existant').should.throw(ClientError)
@disable_on_py3()
@mock_rds2
def test_describe_option_group_options():
conn = boto3.client('rds', region_name='us-west-2')
option_group_options = conn.describe_option_group_options(EngineName='sqlserver-ee')
option_group_options = conn.describe_option_group_options(
EngineName='sqlserver-ee')
len(option_group_options['OptionGroupOptions']).should.equal(4)
option_group_options = conn.describe_option_group_options(EngineName='sqlserver-ee', MajorEngineVersion='11.00')
option_group_options = conn.describe_option_group_options(
EngineName='sqlserver-ee', MajorEngineVersion='11.00')
len(option_group_options['OptionGroupOptions']).should.equal(2)
option_group_options = conn.describe_option_group_options(EngineName='mysql', MajorEngineVersion='5.6')
option_group_options = conn.describe_option_group_options(
EngineName='mysql', MajorEngineVersion='5.6')
len(option_group_options['OptionGroupOptions']).should.equal(1)
conn.describe_option_group_options.when.called_with(EngineName='non-existent').should.throw(ClientError)
conn.describe_option_group_options.when.called_with(EngineName='mysql', MajorEngineVersion='non-existent').should.throw(ClientError)
conn.describe_option_group_options.when.called_with(
EngineName='non-existent').should.throw(ClientError)
conn.describe_option_group_options.when.called_with(
EngineName='mysql', MajorEngineVersion='non-existent').should.throw(ClientError)
@disable_on_py3()
@mock_rds2
def test_modify_option_group():
conn = boto3.client('rds', region_name='us-west-2')
conn.create_option_group(OptionGroupName='test', EngineName='mysql', MajorEngineVersion='5.6', OptionGroupDescription='test option group')
conn.create_option_group(OptionGroupName='test', EngineName='mysql',
MajorEngineVersion='5.6', OptionGroupDescription='test option group')
# TODO: create option and validate before deleting.
# if Someone can tell me how the hell to use this function
# to add options to an option_group, I can finish coding this.
result = conn.modify_option_group(OptionGroupName='test', OptionsToInclude=[], OptionsToRemove=['MEMCACHED'], ApplyImmediately=True)
result = conn.modify_option_group(OptionGroupName='test', OptionsToInclude=[
], OptionsToRemove=['MEMCACHED'], ApplyImmediately=True)
result['OptionGroup']['EngineName'].should.equal('mysql')
result['OptionGroup']['Options'].should.equal([])
result['OptionGroup']['OptionGroupName'].should.equal('test')
@ -277,36 +296,42 @@ def test_modify_option_group():
@mock_rds2
def test_modify_option_group_no_options():
conn = boto3.client('rds', region_name='us-west-2')
conn.create_option_group(OptionGroupName='test', EngineName='mysql', MajorEngineVersion='5.6', OptionGroupDescription='test option group')
conn.modify_option_group.when.called_with(OptionGroupName='test').should.throw(ClientError)
conn.create_option_group(OptionGroupName='test', EngineName='mysql',
MajorEngineVersion='5.6', OptionGroupDescription='test option group')
conn.modify_option_group.when.called_with(
OptionGroupName='test').should.throw(ClientError)
@disable_on_py3()
@mock_rds2
def test_modify_non_existant_option_group():
conn = boto3.client('rds', region_name='us-west-2')
conn.modify_option_group.when.called_with(OptionGroupName='non-existant', OptionsToInclude=[('OptionName', 'Port', 'DBSecurityGroupMemberships', 'VpcSecurityGroupMemberships', 'OptionSettings')]).should.throw(ParamValidationError)
conn.modify_option_group.when.called_with(OptionGroupName='non-existant', OptionsToInclude=[(
'OptionName', 'Port', 'DBSecurityGroupMemberships', 'VpcSecurityGroupMemberships', 'OptionSettings')]).should.throw(ParamValidationError)
@disable_on_py3()
@mock_rds2
def test_delete_non_existant_database():
conn = boto3.client('rds', region_name='us-west-2')
conn.delete_db_instance.when.called_with(DBInstanceIdentifier="not-a-db").should.throw(ClientError)
conn.delete_db_instance.when.called_with(
DBInstanceIdentifier="not-a-db").should.throw(ClientError)
@disable_on_py3()
@mock_rds2
def test_list_tags_invalid_arn():
conn = boto3.client('rds', region_name='us-west-2')
conn.list_tags_for_resource.when.called_with(ResourceName='arn:aws:rds:bad-arn').should.throw(ClientError)
conn.list_tags_for_resource.when.called_with(
ResourceName='arn:aws:rds:bad-arn').should.throw(ClientError)
@disable_on_py3()
@mock_rds2
def test_list_tags_db():
conn = boto3.client('rds', region_name='us-west-2')
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:db:foo')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:db:foo')
result['TagList'].should.equal([])
conn.create_db_instance(DBInstanceIdentifier='db-with-tags',
AllocatedStorage=10,
@ -326,11 +351,12 @@ def test_list_tags_db():
'Value': 'bar1',
},
])
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-with-tags')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-with-tags')
result['TagList'].should.equal([{'Value': 'bar',
'Key': 'foo'},
{'Value': 'bar1',
'Key': 'foo1'}])
{'Value': 'bar1',
'Key': 'foo1'}])
@disable_on_py3()
@ -355,7 +381,8 @@ def test_add_tags_db():
'Value': 'bar1',
},
])
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-without-tags')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-without-tags')
list(result['TagList']).should.have.length_of(2)
conn.add_tags_to_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-without-tags',
Tags=[
@ -368,7 +395,8 @@ def test_add_tags_db():
'Value': 'bar2',
},
])
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-without-tags')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-without-tags')
list(result['TagList']).should.have.length_of(3)
@ -394,10 +422,13 @@ def test_remove_tags_db():
'Value': 'bar1',
},
])
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-with-tags')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-with-tags')
list(result['TagList']).should.have.length_of(2)
conn.remove_tags_from_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-with-tags', TagKeys=['foo'])
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-with-tags')
conn.remove_tags_from_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-with-tags', TagKeys=['foo'])
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:db:db-with-tags')
len(result['TagList']).should.equal(1)
@ -409,7 +440,8 @@ def test_add_tags_option_group():
EngineName='mysql',
MajorEngineVersion='5.6',
OptionGroupDescription='test option group')
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
list(result['TagList']).should.have.length_of(0)
conn.add_tags_to_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:og:test',
Tags=[
@ -421,7 +453,8 @@ def test_add_tags_option_group():
'Key': 'foo2',
'Value': 'bar2',
}])
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
list(result['TagList']).should.have.length_of(2)
@ -433,7 +466,8 @@ def test_remove_tags_option_group():
EngineName='mysql',
MajorEngineVersion='5.6',
OptionGroupDescription='test option group')
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
conn.add_tags_to_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:og:test',
Tags=[
{
@ -444,11 +478,13 @@ def test_remove_tags_option_group():
'Key': 'foo2',
'Value': 'bar2',
}])
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
list(result['TagList']).should.have.length_of(2)
conn.remove_tags_from_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:og:test',
TagKeys=['foo'])
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:og:test')
list(result['TagList']).should.have.length_of(1)
@ -457,9 +493,11 @@ def test_remove_tags_option_group():
def test_create_database_security_group():
conn = boto3.client('rds', region_name='us-west-2')
result = conn.create_db_security_group(DBSecurityGroupName='db_sg', DBSecurityGroupDescription='DB Security Group')
result = conn.create_db_security_group(
DBSecurityGroupName='db_sg', DBSecurityGroupDescription='DB Security Group')
result['DBSecurityGroup']['DBSecurityGroupName'].should.equal("db_sg")
result['DBSecurityGroup']['DBSecurityGroupDescription'].should.equal("DB Security Group")
result['DBSecurityGroup'][
'DBSecurityGroupDescription'].should.equal("DB Security Group")
result['DBSecurityGroup']['IPRanges'].should.equal([])
@ -471,8 +509,10 @@ def test_get_security_groups():
result = conn.describe_db_security_groups()
result['DBSecurityGroups'].should.have.length_of(0)
conn.create_db_security_group(DBSecurityGroupName='db_sg1', DBSecurityGroupDescription='DB Security Group')
conn.create_db_security_group(DBSecurityGroupName='db_sg2', DBSecurityGroupDescription='DB Security Group')
conn.create_db_security_group(
DBSecurityGroupName='db_sg1', DBSecurityGroupDescription='DB Security Group')
conn.create_db_security_group(
DBSecurityGroupName='db_sg2', DBSecurityGroupDescription='DB Security Group')
result = conn.describe_db_security_groups()
result['DBSecurityGroups'].should.have.length_of(2)
@ -486,14 +526,16 @@ def test_get_security_groups():
@mock_rds2
def test_get_non_existant_security_group():
conn = boto3.client('rds', region_name='us-west-2')
conn.describe_db_security_groups.when.called_with(DBSecurityGroupName="not-a-sg").should.throw(ClientError)
conn.describe_db_security_groups.when.called_with(
DBSecurityGroupName="not-a-sg").should.throw(ClientError)
@disable_on_py3()
@mock_rds2
def test_delete_database_security_group():
conn = boto3.client('rds', region_name='us-west-2')
conn.create_db_security_group(DBSecurityGroupName='db_sg', DBSecurityGroupDescription='DB Security Group')
conn.create_db_security_group(
DBSecurityGroupName='db_sg', DBSecurityGroupDescription='DB Security Group')
result = conn.describe_db_security_groups()
result['DBSecurityGroups'].should.have.length_of(1)
@ -507,7 +549,8 @@ def test_delete_database_security_group():
@mock_rds2
def test_delete_non_existant_security_group():
conn = boto3.client('rds', region_name='us-west-2')
conn.delete_db_security_group.when.called_with(DBSecurityGroupName="not-a-db").should.throw(ClientError)
conn.delete_db_security_group.when.called_with(
DBSecurityGroupName="not-a-db").should.throw(ClientError)
@disable_on_py3()
@ -518,13 +561,13 @@ def test_security_group_authorize():
DBSecurityGroupDescription='DB Security Group')
security_group['DBSecurityGroup']['IPRanges'].should.equal([])
conn.authorize_db_security_group_ingress(DBSecurityGroupName='db_sg',
CIDRIP='10.3.2.45/32')
result = conn.describe_db_security_groups(DBSecurityGroupName="db_sg")
result['DBSecurityGroups'][0]['IPRanges'].should.have.length_of(1)
result['DBSecurityGroups'][0]['IPRanges'].should.equal([{'Status': 'authorized', 'CIDRIP': '10.3.2.45/32'}])
result['DBSecurityGroups'][0]['IPRanges'].should.equal(
[{'Status': 'authorized', 'CIDRIP': '10.3.2.45/32'}])
conn.authorize_db_security_group_ingress(DBSecurityGroupName='db_sg',
CIDRIP='10.3.2.46/32')
@ -554,9 +597,10 @@ def test_add_security_group_to_database():
conn.create_db_security_group(DBSecurityGroupName='db_sg',
DBSecurityGroupDescription='DB Security Group')
conn.modify_db_instance(DBInstanceIdentifier='db-master-1',
DBSecurityGroups=['db_sg'])
DBSecurityGroups=['db_sg'])
result = conn.describe_db_instances()
result['DBInstances'][0]['DBSecurityGroups'][0]['DBSecurityGroupName'].should.equal('db_sg')
result['DBInstances'][0]['DBSecurityGroups'][0][
'DBSecurityGroupName'].should.equal('db_sg')
@disable_on_py3()
@ -572,12 +616,13 @@ def test_list_tags_security_group():
'Key': 'foo'},
{'Value': 'bar1',
'Key': 'foo1'}])['DBSecurityGroup']['DBSecurityGroupName']
resource = 'arn:aws:rds:us-west-2:1234567890:secgrp:{0}'.format(security_group)
resource = 'arn:aws:rds:us-west-2:1234567890:secgrp:{0}'.format(
security_group)
result = conn.list_tags_for_resource(ResourceName=resource)
result['TagList'].should.equal([{'Value': 'bar',
'Key': 'foo'},
{'Value': 'bar1',
'Key': 'foo1'}])
{'Value': 'bar1',
'Key': 'foo1'}])
@disable_on_py3()
@ -590,7 +635,8 @@ def test_add_tags_security_group():
security_group = conn.create_db_security_group(DBSecurityGroupName="db_sg",
DBSecurityGroupDescription='DB Security Group')['DBSecurityGroup']['DBSecurityGroupName']
resource = 'arn:aws:rds:us-west-2:1234567890:secgrp:{0}'.format(security_group)
resource = 'arn:aws:rds:us-west-2:1234567890:secgrp:{0}'.format(
security_group)
conn.add_tags_to_resource(ResourceName=resource,
Tags=[{'Value': 'bar',
'Key': 'foo'},
@ -600,8 +646,9 @@ def test_add_tags_security_group():
result = conn.list_tags_for_resource(ResourceName=resource)
result['TagList'].should.equal([{'Value': 'bar',
'Key': 'foo'},
{'Value': 'bar1',
'Key': 'foo1'}])
{'Value': 'bar1',
'Key': 'foo1'}])
@disable_on_py3()
@mock_rds2
@ -617,7 +664,8 @@ def test_remove_tags_security_group():
{'Value': 'bar1',
'Key': 'foo1'}])['DBSecurityGroup']['DBSecurityGroupName']
resource = 'arn:aws:rds:us-west-2:1234567890:secgrp:{0}'.format(security_group)
resource = 'arn:aws:rds:us-west-2:1234567890:secgrp:{0}'.format(
security_group)
conn.remove_tags_from_resource(ResourceName=resource, TagKeys=['foo'])
result = conn.list_tags_for_resource(ResourceName=resource)
@ -630,8 +678,10 @@ def test_remove_tags_security_group():
def test_create_database_subnet_group():
vpc_conn = boto3.client('ec2', 'us-west-2')
vpc = vpc_conn.create_vpc(CidrBlock='10.0.0.0/16')['Vpc']
subnet1 = vpc_conn.create_subnet(VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
subnet2 = vpc_conn.create_subnet(VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/26')['Subnet']
subnet1 = vpc_conn.create_subnet(
VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
subnet2 = vpc_conn.create_subnet(
VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/26')['Subnet']
subnet_ids = [subnet1['SubnetId'], subnet2['SubnetId']]
conn = boto3.client('rds', region_name='us-west-2')
@ -639,9 +689,11 @@ def test_create_database_subnet_group():
DBSubnetGroupDescription='my db subnet',
SubnetIds=subnet_ids)
result['DBSubnetGroup']['DBSubnetGroupName'].should.equal("db_subnet")
result['DBSubnetGroup']['DBSubnetGroupDescription'].should.equal("my db subnet")
result['DBSubnetGroup'][
'DBSubnetGroupDescription'].should.equal("my db subnet")
subnets = result['DBSubnetGroup']['Subnets']
subnet_group_ids = [subnets[0]['SubnetIdentifier'], subnets[1]['SubnetIdentifier']]
subnet_group_ids = [subnets[0]['SubnetIdentifier'],
subnets[1]['SubnetIdentifier']]
list(subnet_group_ids).should.equal(subnet_ids)
@ -651,7 +703,8 @@ def test_create_database_subnet_group():
def test_create_database_in_subnet_group():
vpc_conn = boto3.client('ec2', 'us-west-2')
vpc = vpc_conn.create_vpc(CidrBlock='10.0.0.0/16')['Vpc']
subnet = vpc_conn.create_subnet(VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
subnet = vpc_conn.create_subnet(
VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
conn = boto3.client('rds', region_name='us-west-2')
conn.create_db_subnet_group(DBSubnetGroupName='db_subnet1',
@ -666,7 +719,8 @@ def test_create_database_in_subnet_group():
Port=1234,
DBSubnetGroupName='db_subnet1')
result = conn.describe_db_instances(DBInstanceIdentifier='db-master-1')
result['DBInstances'][0]['DBSubnetGroup']['DBSubnetGroupName'].should.equal('db_subnet1')
result['DBInstances'][0]['DBSubnetGroup'][
'DBSubnetGroupName'].should.equal('db_subnet1')
@disable_on_py3()
@ -675,7 +729,8 @@ def test_create_database_in_subnet_group():
def test_describe_database_subnet_group():
vpc_conn = boto3.client('ec2', 'us-west-2')
vpc = vpc_conn.create_vpc(CidrBlock='10.0.0.0/16')['Vpc']
subnet = vpc_conn.create_subnet(VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
subnet = vpc_conn.create_subnet(
VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
conn = boto3.client('rds', region_name='us-west-2')
conn.create_db_subnet_group(DBSubnetGroupName="db_subnet1",
@ -691,9 +746,11 @@ def test_describe_database_subnet_group():
subnets = resp['DBSubnetGroups'][0]['Subnets']
subnets.should.have.length_of(1)
list(conn.describe_db_subnet_groups(DBSubnetGroupName="db_subnet1")['DBSubnetGroups']).should.have.length_of(1)
list(conn.describe_db_subnet_groups(DBSubnetGroupName="db_subnet1")
['DBSubnetGroups']).should.have.length_of(1)
conn.describe_db_subnet_groups.when.called_with(DBSubnetGroupName="not-a-subnet").should.throw(ClientError)
conn.describe_db_subnet_groups.when.called_with(
DBSubnetGroupName="not-a-subnet").should.throw(ClientError)
@disable_on_py3()
@ -702,7 +759,8 @@ def test_describe_database_subnet_group():
def test_delete_database_subnet_group():
vpc_conn = boto3.client('ec2', 'us-west-2')
vpc = vpc_conn.create_vpc(CidrBlock='10.0.0.0/16')['Vpc']
subnet = vpc_conn.create_subnet(VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
subnet = vpc_conn.create_subnet(
VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
conn = boto3.client('rds', region_name='us-west-2')
result = conn.describe_db_subnet_groups()
@ -718,7 +776,8 @@ def test_delete_database_subnet_group():
result = conn.describe_db_subnet_groups()
result['DBSubnetGroups'].should.have.length_of(0)
conn.delete_db_subnet_group.when.called_with(DBSubnetGroupName="db_subnet1").should.throw(ClientError)
conn.delete_db_subnet_group.when.called_with(
DBSubnetGroupName="db_subnet1").should.throw(ClientError)
@disable_on_py3()
@ -727,7 +786,8 @@ def test_delete_database_subnet_group():
def test_list_tags_database_subnet_group():
vpc_conn = boto3.client('ec2', 'us-west-2')
vpc = vpc_conn.create_vpc(CidrBlock='10.0.0.0/16')['Vpc']
subnet = vpc_conn.create_subnet(VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
subnet = vpc_conn.create_subnet(
VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
conn = boto3.client('rds', region_name='us-west-2')
result = conn.describe_db_subnet_groups()
@ -740,11 +800,13 @@ def test_list_tags_database_subnet_group():
'Key': 'foo'},
{'Value': 'bar1',
'Key': 'foo1'}])['DBSubnetGroup']['DBSubnetGroupName']
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:subgrp:{0}'.format(subnet))
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:subgrp:{0}'.format(subnet))
result['TagList'].should.equal([{'Value': 'bar',
'Key': 'foo'},
{'Value': 'bar1',
'Key': 'foo1'}])
{'Value': 'bar1',
'Key': 'foo1'}])
@disable_on_py3()
@mock_ec2
@ -752,7 +814,8 @@ def test_list_tags_database_subnet_group():
def test_add_tags_database_subnet_group():
vpc_conn = boto3.client('ec2', 'us-west-2')
vpc = vpc_conn.create_vpc(CidrBlock='10.0.0.0/16')['Vpc']
subnet = vpc_conn.create_subnet(VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
subnet = vpc_conn.create_subnet(
VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
conn = boto3.client('rds', region_name='us-west-2')
result = conn.describe_db_subnet_groups()
@ -773,8 +836,9 @@ def test_add_tags_database_subnet_group():
result = conn.list_tags_for_resource(ResourceName=resource)
result['TagList'].should.equal([{'Value': 'bar',
'Key': 'foo'},
{'Value': 'bar1',
'Key': 'foo1'}])
{'Value': 'bar1',
'Key': 'foo1'}])
@disable_on_py3()
@mock_ec2
@ -782,7 +846,8 @@ def test_add_tags_database_subnet_group():
def test_remove_tags_database_subnet_group():
vpc_conn = boto3.client('ec2', 'us-west-2')
vpc = vpc_conn.create_vpc(CidrBlock='10.0.0.0/16')['Vpc']
subnet = vpc_conn.create_subnet(VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
subnet = vpc_conn.create_subnet(
VpcId=vpc['VpcId'], CidrBlock='10.1.0.0/24')['Subnet']
conn = boto3.client('rds', region_name='us-west-2')
result = conn.describe_db_subnet_groups()
@ -820,17 +885,22 @@ def test_create_database_replica():
replica = conn.create_db_instance_read_replica(DBInstanceIdentifier="db-replica-1",
SourceDBInstanceIdentifier="db-master-1",
DBInstanceClass="db.m1.small")
replica['DBInstance']['ReadReplicaSourceDBInstanceIdentifier'].should.equal('db-master-1')
replica['DBInstance'][
'ReadReplicaSourceDBInstanceIdentifier'].should.equal('db-master-1')
replica['DBInstance']['DBInstanceClass'].should.equal('db.m1.small')
replica['DBInstance']['DBInstanceIdentifier'].should.equal('db-replica-1')
master = conn.describe_db_instances(DBInstanceIdentifier="db-master-1")
master['DBInstances'][0]['ReadReplicaDBInstanceIdentifiers'].should.equal(['db-replica-1'])
master['DBInstances'][0]['ReadReplicaDBInstanceIdentifiers'].should.equal([
'db-replica-1'])
conn.delete_db_instance(DBInstanceIdentifier="db-replica-1", SkipFinalSnapshot=True)
conn.delete_db_instance(
DBInstanceIdentifier="db-replica-1", SkipFinalSnapshot=True)
master = conn.describe_db_instances(DBInstanceIdentifier="db-master-1")
master['DBInstances'][0]['ReadReplicaDBInstanceIdentifiers'].should.equal([])
master['DBInstances'][0][
'ReadReplicaDBInstanceIdentifiers'].should.equal([])
@disable_on_py3()
@mock_rds2
@ -854,19 +924,25 @@ def test_create_database_with_encrypted_storage():
KmsKeyId=key['KeyMetadata']['KeyId'])
database['DBInstance']['StorageEncrypted'].should.equal(True)
database['DBInstance']['KmsKeyId'].should.equal(key['KeyMetadata']['KeyId'])
database['DBInstance']['KmsKeyId'].should.equal(
key['KeyMetadata']['KeyId'])
@disable_on_py3()
@mock_rds2
def test_create_db_parameter_group():
conn = boto3.client('rds', region_name='us-west-2')
db_parameter_group = conn.create_db_parameter_group(DBParameterGroupName='test',
DBParameterGroupFamily='mysql5.6',
Description='test parameter group')
DBParameterGroupFamily='mysql5.6',
Description='test parameter group')
db_parameter_group['DBParameterGroup'][
'DBParameterGroupName'].should.equal('test')
db_parameter_group['DBParameterGroup'][
'DBParameterGroupFamily'].should.equal('mysql5.6')
db_parameter_group['DBParameterGroup'][
'Description'].should.equal('test parameter group')
db_parameter_group['DBParameterGroup']['DBParameterGroupName'].should.equal('test')
db_parameter_group['DBParameterGroup']['DBParameterGroupFamily'].should.equal('mysql5.6')
db_parameter_group['DBParameterGroup']['Description'].should.equal('test parameter group')
@disable_on_py3()
@mock_rds2
@ -886,8 +962,11 @@ def test_create_db_instance_with_parameter_group():
Port=1234)
len(database['DBInstance']['DBParameterGroups']).should.equal(1)
database['DBInstance']['DBParameterGroups'][0]['DBParameterGroupName'].should.equal('test')
database['DBInstance']['DBParameterGroups'][0]['ParameterApplyStatus'].should.equal('in-sync')
database['DBInstance']['DBParameterGroups'][0][
'DBParameterGroupName'].should.equal('test')
database['DBInstance']['DBParameterGroups'][0][
'ParameterApplyStatus'].should.equal('in-sync')
@disable_on_py3()
@mock_rds2
@ -902,8 +981,10 @@ def test_modify_db_instance_with_parameter_group():
Port=1234)
len(database['DBInstance']['DBParameterGroups']).should.equal(1)
database['DBInstance']['DBParameterGroups'][0]['DBParameterGroupName'].should.equal('default.mysql5.6')
database['DBInstance']['DBParameterGroups'][0]['ParameterApplyStatus'].should.equal('in-sync')
database['DBInstance']['DBParameterGroups'][0][
'DBParameterGroupName'].should.equal('default.mysql5.6')
database['DBInstance']['DBParameterGroups'][0][
'ParameterApplyStatus'].should.equal('in-sync')
db_parameter_group = conn.create_db_parameter_group(DBParameterGroupName='test',
DBParameterGroupFamily='mysql5.6',
@ -912,10 +993,13 @@ def test_modify_db_instance_with_parameter_group():
DBParameterGroupName='test',
ApplyImmediately=True)
database = conn.describe_db_instances(DBInstanceIdentifier='db-master-1')['DBInstances'][0]
database = conn.describe_db_instances(
DBInstanceIdentifier='db-master-1')['DBInstances'][0]
len(database['DBParameterGroups']).should.equal(1)
database['DBParameterGroups'][0]['DBParameterGroupName'].should.equal('test')
database['DBParameterGroups'][0]['ParameterApplyStatus'].should.equal('in-sync')
database['DBParameterGroups'][0][
'DBParameterGroupName'].should.equal('test')
database['DBParameterGroups'][0][
'ParameterApplyStatus'].should.equal('in-sync')
@disable_on_py3()
@ -946,15 +1030,18 @@ def test_describe_db_parameter_group():
conn.create_db_parameter_group(DBParameterGroupName='test',
DBParameterGroupFamily='mysql5.6',
Description='test parameter group')
db_parameter_groups = conn.describe_db_parameter_groups(DBParameterGroupName='test')
db_parameter_groups['DBParameterGroups'][0]['DBParameterGroupName'].should.equal('test')
db_parameter_groups = conn.describe_db_parameter_groups(
DBParameterGroupName='test')
db_parameter_groups['DBParameterGroups'][0][
'DBParameterGroupName'].should.equal('test')
@disable_on_py3()
@mock_rds2
def test_describe_non_existant_db_parameter_group():
conn = boto3.client('rds', region_name='us-west-2')
db_parameter_groups = conn.describe_db_parameter_groups(DBParameterGroupName='test')
db_parameter_groups = conn.describe_db_parameter_groups(
DBParameterGroupName='test')
len(db_parameter_groups['DBParameterGroups']).should.equal(0)
@ -963,14 +1050,18 @@ def test_describe_non_existant_db_parameter_group():
def test_delete_db_parameter_group():
conn = boto3.client('rds', region_name='us-west-2')
conn.create_db_parameter_group(DBParameterGroupName='test',
DBParameterGroupFamily='mysql5.6',
Description='test parameter group')
db_parameter_groups = conn.describe_db_parameter_groups(DBParameterGroupName='test')
db_parameter_groups['DBParameterGroups'][0]['DBParameterGroupName'].should.equal('test')
DBParameterGroupFamily='mysql5.6',
Description='test parameter group')
db_parameter_groups = conn.describe_db_parameter_groups(
DBParameterGroupName='test')
db_parameter_groups['DBParameterGroups'][0][
'DBParameterGroupName'].should.equal('test')
conn.delete_db_parameter_group(DBParameterGroupName='test')
db_parameter_groups = conn.describe_db_parameter_groups(DBParameterGroupName='test')
db_parameter_groups = conn.describe_db_parameter_groups(
DBParameterGroupName='test')
len(db_parameter_groups['DBParameterGroups']).should.equal(0)
@disable_on_py3()
@mock_rds2
def test_modify_db_parameter_group():
@ -986,7 +1077,7 @@ def test_modify_db_parameter_group():
'Description': 'test param',
'ApplyMethod': 'immediate'
}]
)
)
modify_result['DBParameterGroupName'].should.equal('test')
@ -1001,7 +1092,9 @@ def test_modify_db_parameter_group():
@mock_rds2
def test_delete_non_existant_db_parameter_group():
conn = boto3.client('rds', region_name='us-west-2')
conn.delete_db_parameter_group.when.called_with(DBParameterGroupName='non-existant').should.throw(ClientError)
conn.delete_db_parameter_group.when.called_with(
DBParameterGroupName='non-existant').should.throw(ClientError)
@disable_on_py3()
@mock_rds2
@ -1011,8 +1104,9 @@ def test_create_parameter_group_with_tags():
DBParameterGroupFamily='mysql5.6',
Description='test parameter group',
Tags=[{
'Key': 'foo',
'Value': 'bar',
'Key': 'foo',
'Value': 'bar',
}])
result = conn.list_tags_for_resource(ResourceName='arn:aws:rds:us-west-2:1234567890:pg:test')
result = conn.list_tags_for_resource(
ResourceName='arn:aws:rds:us-west-2:1234567890:pg:test')
result['TagList'].should.equal([{'Value': 'bar', 'Key': 'foo'}])

View file

@ -11,7 +11,7 @@ Test the different server responses
#@mock_rds2
#def test_list_databases():
# def test_list_databases():
# backend = server.create_backend_app("rds2")
# test_client = backend.test_client()
#