merge
This commit is contained in:
parent
181b5539f6
commit
e51d1bfade
172 changed files with 49629 additions and 49629 deletions
|
|
@ -1,324 +1,324 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
import boto3
|
||||
import boto.rds
|
||||
import boto.vpc
|
||||
from boto.exception import BotoServerError
|
||||
import sure # noqa
|
||||
|
||||
from moto import mock_ec2_deprecated, mock_rds_deprecated, mock_rds
|
||||
from tests.helpers import disable_on_py3
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_create_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
database = conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2',
|
||||
security_groups=["my_sg"])
|
||||
|
||||
database.status.should.equal('available')
|
||||
database.id.should.equal("db-master-1")
|
||||
database.allocated_storage.should.equal(10)
|
||||
database.instance_class.should.equal("db.m1.small")
|
||||
database.master_username.should.equal("root")
|
||||
database.endpoint.should.equal(
|
||||
('db-master-1.aaaaaaaaaa.us-west-2.rds.amazonaws.com', 3306))
|
||||
database.security_groups[0].name.should.equal('my_sg')
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_get_databases():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(0)
|
||||
|
||||
conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
conn.create_dbinstance("db-master-2", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(2)
|
||||
|
||||
databases = conn.get_all_dbinstances("db-master-1")
|
||||
list(databases).should.have.length_of(1)
|
||||
|
||||
databases[0].id.should.equal("db-master-1")
|
||||
|
||||
|
||||
@mock_rds
|
||||
def test_get_databases_paginated():
|
||||
conn = boto3.client('rds', region_name="us-west-2")
|
||||
|
||||
for i in range(51):
|
||||
conn.create_db_instance(AllocatedStorage=5,
|
||||
Port=5432,
|
||||
DBInstanceIdentifier='rds%d' % i,
|
||||
DBInstanceClass='db.t1.micro',
|
||||
Engine='postgres')
|
||||
|
||||
resp = conn.describe_db_instances()
|
||||
resp["DBInstances"].should.have.length_of(50)
|
||||
resp["Marker"].should.equal(resp["DBInstances"][-1]['DBInstanceIdentifier'])
|
||||
|
||||
resp2 = conn.describe_db_instances(Marker=resp["Marker"])
|
||||
resp2["DBInstances"].should.have.length_of(1)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_describe_non_existant_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.get_all_dbinstances.when.called_with(
|
||||
"not-a-db").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_delete_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(0)
|
||||
|
||||
conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(1)
|
||||
|
||||
conn.delete_dbinstance("db-master-1")
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_delete_non_existant_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.delete_dbinstance.when.called_with(
|
||||
"not-a-db").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_create_database_security_group():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
security_group = conn.create_dbsecurity_group('db_sg', 'DB Security Group')
|
||||
security_group.name.should.equal('db_sg')
|
||||
security_group.description.should.equal("DB Security Group")
|
||||
list(security_group.ip_ranges).should.equal([])
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_get_security_groups():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
list(conn.get_all_dbsecurity_groups()).should.have.length_of(0)
|
||||
|
||||
conn.create_dbsecurity_group('db_sg1', 'DB Security Group')
|
||||
conn.create_dbsecurity_group('db_sg2', 'DB Security Group')
|
||||
|
||||
list(conn.get_all_dbsecurity_groups()).should.have.length_of(2)
|
||||
|
||||
databases = conn.get_all_dbsecurity_groups("db_sg1")
|
||||
list(databases).should.have.length_of(1)
|
||||
|
||||
databases[0].name.should.equal("db_sg1")
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_get_non_existant_security_group():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.get_all_dbsecurity_groups.when.called_with(
|
||||
"not-a-sg").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_delete_database_security_group():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.create_dbsecurity_group('db_sg', 'DB Security Group')
|
||||
|
||||
list(conn.get_all_dbsecurity_groups()).should.have.length_of(1)
|
||||
|
||||
conn.delete_dbsecurity_group("db_sg")
|
||||
list(conn.get_all_dbsecurity_groups()).should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_delete_non_existant_security_group():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.delete_dbsecurity_group.when.called_with(
|
||||
"not-a-db").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@disable_on_py3()
|
||||
@mock_rds_deprecated
|
||||
def test_security_group_authorize():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
security_group = conn.create_dbsecurity_group('db_sg', 'DB Security Group')
|
||||
list(security_group.ip_ranges).should.equal([])
|
||||
|
||||
security_group.authorize(cidr_ip='10.3.2.45/32')
|
||||
security_group = conn.get_all_dbsecurity_groups()[0]
|
||||
list(security_group.ip_ranges).should.have.length_of(1)
|
||||
security_group.ip_ranges[0].cidr_ip.should.equal('10.3.2.45/32')
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_add_security_group_to_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
database = conn.create_dbinstance(
|
||||
"db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
security_group = conn.create_dbsecurity_group('db_sg', 'DB Security Group')
|
||||
database.modify(security_groups=[security_group])
|
||||
|
||||
database = conn.get_all_dbinstances()[0]
|
||||
list(database.security_groups).should.have.length_of(1)
|
||||
|
||||
database.security_groups[0].name.should.equal("db_sg")
|
||||
|
||||
|
||||
@mock_ec2_deprecated
|
||||
@mock_rds_deprecated
|
||||
def test_add_database_subnet_group():
|
||||
vpc_conn = boto.vpc.connect_to_region("us-west-2")
|
||||
vpc = vpc_conn.create_vpc("10.0.0.0/16")
|
||||
subnet1 = vpc_conn.create_subnet(vpc.id, "10.1.0.0/24")
|
||||
subnet2 = vpc_conn.create_subnet(vpc.id, "10.2.0.0/24")
|
||||
|
||||
subnet_ids = [subnet1.id, subnet2.id]
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
subnet_group = conn.create_db_subnet_group(
|
||||
"db_subnet", "my db subnet", subnet_ids)
|
||||
subnet_group.name.should.equal('db_subnet')
|
||||
subnet_group.description.should.equal("my db subnet")
|
||||
list(subnet_group.subnet_ids).should.equal(subnet_ids)
|
||||
|
||||
|
||||
@mock_ec2_deprecated
|
||||
@mock_rds_deprecated
|
||||
def test_describe_database_subnet_group():
|
||||
vpc_conn = boto.vpc.connect_to_region("us-west-2")
|
||||
vpc = vpc_conn.create_vpc("10.0.0.0/16")
|
||||
subnet = vpc_conn.create_subnet(vpc.id, "10.1.0.0/24")
|
||||
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.create_db_subnet_group("db_subnet1", "my db subnet", [subnet.id])
|
||||
conn.create_db_subnet_group("db_subnet2", "my db subnet", [subnet.id])
|
||||
|
||||
list(conn.get_all_db_subnet_groups()).should.have.length_of(2)
|
||||
list(conn.get_all_db_subnet_groups("db_subnet1")).should.have.length_of(1)
|
||||
|
||||
conn.get_all_db_subnet_groups.when.called_with(
|
||||
"not-a-subnet").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_ec2_deprecated
|
||||
@mock_rds_deprecated
|
||||
def test_delete_database_subnet_group():
|
||||
vpc_conn = boto.vpc.connect_to_region("us-west-2")
|
||||
vpc = vpc_conn.create_vpc("10.0.0.0/16")
|
||||
subnet = vpc_conn.create_subnet(vpc.id, "10.1.0.0/24")
|
||||
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.create_db_subnet_group("db_subnet1", "my db subnet", [subnet.id])
|
||||
list(conn.get_all_db_subnet_groups()).should.have.length_of(1)
|
||||
|
||||
conn.delete_db_subnet_group("db_subnet1")
|
||||
list(conn.get_all_db_subnet_groups()).should.have.length_of(0)
|
||||
|
||||
conn.delete_db_subnet_group.when.called_with(
|
||||
"db_subnet1").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_ec2_deprecated
|
||||
@mock_rds_deprecated
|
||||
def test_create_database_in_subnet_group():
|
||||
vpc_conn = boto.vpc.connect_to_region("us-west-2")
|
||||
vpc = vpc_conn.create_vpc("10.0.0.0/16")
|
||||
subnet = vpc_conn.create_subnet(vpc.id, "10.1.0.0/24")
|
||||
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.create_db_subnet_group("db_subnet1", "my db subnet", [subnet.id])
|
||||
|
||||
database = conn.create_dbinstance("db-master-1", 10, 'db.m1.small',
|
||||
'root', 'hunter2', db_subnet_group_name="db_subnet1")
|
||||
|
||||
database = conn.get_all_dbinstances("db-master-1")[0]
|
||||
database.subnet_group.name.should.equal("db_subnet1")
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_create_database_replica():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
primary = conn.create_dbinstance(
|
||||
"db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
|
||||
replica = conn.create_dbinstance_read_replica(
|
||||
"replica", "db-master-1", "db.m1.small")
|
||||
replica.id.should.equal("replica")
|
||||
replica.instance_class.should.equal("db.m1.small")
|
||||
status_info = replica.status_infos[0]
|
||||
status_info.normal.should.equal(True)
|
||||
status_info.status_type.should.equal('read replication')
|
||||
status_info.status.should.equal('replicating')
|
||||
|
||||
primary = conn.get_all_dbinstances("db-master-1")[0]
|
||||
primary.read_replica_dbinstance_identifiers[0].should.equal("replica")
|
||||
|
||||
conn.delete_dbinstance("replica")
|
||||
|
||||
primary = conn.get_all_dbinstances("db-master-1")[0]
|
||||
list(primary.read_replica_dbinstance_identifiers).should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_create_cross_region_database_replica():
|
||||
west_1_conn = boto.rds.connect_to_region("us-west-1")
|
||||
west_2_conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
primary = west_1_conn.create_dbinstance(
|
||||
"db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
|
||||
primary_arn = "arn:aws:rds:us-west-1:1234567890:db:db-master-1"
|
||||
replica = west_2_conn.create_dbinstance_read_replica(
|
||||
"replica",
|
||||
primary_arn,
|
||||
"db.m1.small",
|
||||
)
|
||||
|
||||
primary = west_1_conn.get_all_dbinstances("db-master-1")[0]
|
||||
primary.read_replica_dbinstance_identifiers[0].should.equal("replica")
|
||||
|
||||
replica = west_2_conn.get_all_dbinstances("replica")[0]
|
||||
replica.instance_class.should.equal("db.m1.small")
|
||||
|
||||
west_2_conn.delete_dbinstance("replica")
|
||||
|
||||
primary = west_1_conn.get_all_dbinstances("db-master-1")[0]
|
||||
list(primary.read_replica_dbinstance_identifiers).should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_connecting_to_us_east_1():
|
||||
# boto does not use us-east-1 in the URL for RDS,
|
||||
# and that broke moto in the past:
|
||||
# https://github.com/boto/boto/blob/e271ff09364ea18d9d8b6f4d63d6b0ac6cbc9b75/boto/endpoints.json#L285
|
||||
conn = boto.rds.connect_to_region("us-east-1")
|
||||
|
||||
database = conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2',
|
||||
security_groups=["my_sg"])
|
||||
|
||||
database.status.should.equal('available')
|
||||
database.id.should.equal("db-master-1")
|
||||
database.allocated_storage.should.equal(10)
|
||||
database.instance_class.should.equal("db.m1.small")
|
||||
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')
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
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)
|
||||
# boto>2.36.0 may change the following property name to `storage_type`
|
||||
database.StorageType.should.equal('io1')
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import boto3
|
||||
import boto.rds
|
||||
import boto.vpc
|
||||
from boto.exception import BotoServerError
|
||||
import sure # noqa
|
||||
|
||||
from moto import mock_ec2_deprecated, mock_rds_deprecated, mock_rds
|
||||
from tests.helpers import disable_on_py3
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_create_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
database = conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2',
|
||||
security_groups=["my_sg"])
|
||||
|
||||
database.status.should.equal('available')
|
||||
database.id.should.equal("db-master-1")
|
||||
database.allocated_storage.should.equal(10)
|
||||
database.instance_class.should.equal("db.m1.small")
|
||||
database.master_username.should.equal("root")
|
||||
database.endpoint.should.equal(
|
||||
('db-master-1.aaaaaaaaaa.us-west-2.rds.amazonaws.com', 3306))
|
||||
database.security_groups[0].name.should.equal('my_sg')
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_get_databases():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(0)
|
||||
|
||||
conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
conn.create_dbinstance("db-master-2", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(2)
|
||||
|
||||
databases = conn.get_all_dbinstances("db-master-1")
|
||||
list(databases).should.have.length_of(1)
|
||||
|
||||
databases[0].id.should.equal("db-master-1")
|
||||
|
||||
|
||||
@mock_rds
|
||||
def test_get_databases_paginated():
|
||||
conn = boto3.client('rds', region_name="us-west-2")
|
||||
|
||||
for i in range(51):
|
||||
conn.create_db_instance(AllocatedStorage=5,
|
||||
Port=5432,
|
||||
DBInstanceIdentifier='rds%d' % i,
|
||||
DBInstanceClass='db.t1.micro',
|
||||
Engine='postgres')
|
||||
|
||||
resp = conn.describe_db_instances()
|
||||
resp["DBInstances"].should.have.length_of(50)
|
||||
resp["Marker"].should.equal(resp["DBInstances"][-1]['DBInstanceIdentifier'])
|
||||
|
||||
resp2 = conn.describe_db_instances(Marker=resp["Marker"])
|
||||
resp2["DBInstances"].should.have.length_of(1)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_describe_non_existant_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.get_all_dbinstances.when.called_with(
|
||||
"not-a-db").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_delete_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(0)
|
||||
|
||||
conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(1)
|
||||
|
||||
conn.delete_dbinstance("db-master-1")
|
||||
list(conn.get_all_dbinstances()).should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_delete_non_existant_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.delete_dbinstance.when.called_with(
|
||||
"not-a-db").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_create_database_security_group():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
security_group = conn.create_dbsecurity_group('db_sg', 'DB Security Group')
|
||||
security_group.name.should.equal('db_sg')
|
||||
security_group.description.should.equal("DB Security Group")
|
||||
list(security_group.ip_ranges).should.equal([])
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_get_security_groups():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
list(conn.get_all_dbsecurity_groups()).should.have.length_of(0)
|
||||
|
||||
conn.create_dbsecurity_group('db_sg1', 'DB Security Group')
|
||||
conn.create_dbsecurity_group('db_sg2', 'DB Security Group')
|
||||
|
||||
list(conn.get_all_dbsecurity_groups()).should.have.length_of(2)
|
||||
|
||||
databases = conn.get_all_dbsecurity_groups("db_sg1")
|
||||
list(databases).should.have.length_of(1)
|
||||
|
||||
databases[0].name.should.equal("db_sg1")
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_get_non_existant_security_group():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.get_all_dbsecurity_groups.when.called_with(
|
||||
"not-a-sg").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_delete_database_security_group():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.create_dbsecurity_group('db_sg', 'DB Security Group')
|
||||
|
||||
list(conn.get_all_dbsecurity_groups()).should.have.length_of(1)
|
||||
|
||||
conn.delete_dbsecurity_group("db_sg")
|
||||
list(conn.get_all_dbsecurity_groups()).should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_delete_non_existant_security_group():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.delete_dbsecurity_group.when.called_with(
|
||||
"not-a-db").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@disable_on_py3()
|
||||
@mock_rds_deprecated
|
||||
def test_security_group_authorize():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
security_group = conn.create_dbsecurity_group('db_sg', 'DB Security Group')
|
||||
list(security_group.ip_ranges).should.equal([])
|
||||
|
||||
security_group.authorize(cidr_ip='10.3.2.45/32')
|
||||
security_group = conn.get_all_dbsecurity_groups()[0]
|
||||
list(security_group.ip_ranges).should.have.length_of(1)
|
||||
security_group.ip_ranges[0].cidr_ip.should.equal('10.3.2.45/32')
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_add_security_group_to_database():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
database = conn.create_dbinstance(
|
||||
"db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
security_group = conn.create_dbsecurity_group('db_sg', 'DB Security Group')
|
||||
database.modify(security_groups=[security_group])
|
||||
|
||||
database = conn.get_all_dbinstances()[0]
|
||||
list(database.security_groups).should.have.length_of(1)
|
||||
|
||||
database.security_groups[0].name.should.equal("db_sg")
|
||||
|
||||
|
||||
@mock_ec2_deprecated
|
||||
@mock_rds_deprecated
|
||||
def test_add_database_subnet_group():
|
||||
vpc_conn = boto.vpc.connect_to_region("us-west-2")
|
||||
vpc = vpc_conn.create_vpc("10.0.0.0/16")
|
||||
subnet1 = vpc_conn.create_subnet(vpc.id, "10.1.0.0/24")
|
||||
subnet2 = vpc_conn.create_subnet(vpc.id, "10.2.0.0/24")
|
||||
|
||||
subnet_ids = [subnet1.id, subnet2.id]
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
subnet_group = conn.create_db_subnet_group(
|
||||
"db_subnet", "my db subnet", subnet_ids)
|
||||
subnet_group.name.should.equal('db_subnet')
|
||||
subnet_group.description.should.equal("my db subnet")
|
||||
list(subnet_group.subnet_ids).should.equal(subnet_ids)
|
||||
|
||||
|
||||
@mock_ec2_deprecated
|
||||
@mock_rds_deprecated
|
||||
def test_describe_database_subnet_group():
|
||||
vpc_conn = boto.vpc.connect_to_region("us-west-2")
|
||||
vpc = vpc_conn.create_vpc("10.0.0.0/16")
|
||||
subnet = vpc_conn.create_subnet(vpc.id, "10.1.0.0/24")
|
||||
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.create_db_subnet_group("db_subnet1", "my db subnet", [subnet.id])
|
||||
conn.create_db_subnet_group("db_subnet2", "my db subnet", [subnet.id])
|
||||
|
||||
list(conn.get_all_db_subnet_groups()).should.have.length_of(2)
|
||||
list(conn.get_all_db_subnet_groups("db_subnet1")).should.have.length_of(1)
|
||||
|
||||
conn.get_all_db_subnet_groups.when.called_with(
|
||||
"not-a-subnet").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_ec2_deprecated
|
||||
@mock_rds_deprecated
|
||||
def test_delete_database_subnet_group():
|
||||
vpc_conn = boto.vpc.connect_to_region("us-west-2")
|
||||
vpc = vpc_conn.create_vpc("10.0.0.0/16")
|
||||
subnet = vpc_conn.create_subnet(vpc.id, "10.1.0.0/24")
|
||||
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.create_db_subnet_group("db_subnet1", "my db subnet", [subnet.id])
|
||||
list(conn.get_all_db_subnet_groups()).should.have.length_of(1)
|
||||
|
||||
conn.delete_db_subnet_group("db_subnet1")
|
||||
list(conn.get_all_db_subnet_groups()).should.have.length_of(0)
|
||||
|
||||
conn.delete_db_subnet_group.when.called_with(
|
||||
"db_subnet1").should.throw(BotoServerError)
|
||||
|
||||
|
||||
@mock_ec2_deprecated
|
||||
@mock_rds_deprecated
|
||||
def test_create_database_in_subnet_group():
|
||||
vpc_conn = boto.vpc.connect_to_region("us-west-2")
|
||||
vpc = vpc_conn.create_vpc("10.0.0.0/16")
|
||||
subnet = vpc_conn.create_subnet(vpc.id, "10.1.0.0/24")
|
||||
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
conn.create_db_subnet_group("db_subnet1", "my db subnet", [subnet.id])
|
||||
|
||||
database = conn.create_dbinstance("db-master-1", 10, 'db.m1.small',
|
||||
'root', 'hunter2', db_subnet_group_name="db_subnet1")
|
||||
|
||||
database = conn.get_all_dbinstances("db-master-1")[0]
|
||||
database.subnet_group.name.should.equal("db_subnet1")
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_create_database_replica():
|
||||
conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
primary = conn.create_dbinstance(
|
||||
"db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
|
||||
replica = conn.create_dbinstance_read_replica(
|
||||
"replica", "db-master-1", "db.m1.small")
|
||||
replica.id.should.equal("replica")
|
||||
replica.instance_class.should.equal("db.m1.small")
|
||||
status_info = replica.status_infos[0]
|
||||
status_info.normal.should.equal(True)
|
||||
status_info.status_type.should.equal('read replication')
|
||||
status_info.status.should.equal('replicating')
|
||||
|
||||
primary = conn.get_all_dbinstances("db-master-1")[0]
|
||||
primary.read_replica_dbinstance_identifiers[0].should.equal("replica")
|
||||
|
||||
conn.delete_dbinstance("replica")
|
||||
|
||||
primary = conn.get_all_dbinstances("db-master-1")[0]
|
||||
list(primary.read_replica_dbinstance_identifiers).should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_create_cross_region_database_replica():
|
||||
west_1_conn = boto.rds.connect_to_region("us-west-1")
|
||||
west_2_conn = boto.rds.connect_to_region("us-west-2")
|
||||
|
||||
primary = west_1_conn.create_dbinstance(
|
||||
"db-master-1", 10, 'db.m1.small', 'root', 'hunter2')
|
||||
|
||||
primary_arn = "arn:aws:rds:us-west-1:1234567890:db:db-master-1"
|
||||
replica = west_2_conn.create_dbinstance_read_replica(
|
||||
"replica",
|
||||
primary_arn,
|
||||
"db.m1.small",
|
||||
)
|
||||
|
||||
primary = west_1_conn.get_all_dbinstances("db-master-1")[0]
|
||||
primary.read_replica_dbinstance_identifiers[0].should.equal("replica")
|
||||
|
||||
replica = west_2_conn.get_all_dbinstances("replica")[0]
|
||||
replica.instance_class.should.equal("db.m1.small")
|
||||
|
||||
west_2_conn.delete_dbinstance("replica")
|
||||
|
||||
primary = west_1_conn.get_all_dbinstances("db-master-1")[0]
|
||||
list(primary.read_replica_dbinstance_identifiers).should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
def test_connecting_to_us_east_1():
|
||||
# boto does not use us-east-1 in the URL for RDS,
|
||||
# and that broke moto in the past:
|
||||
# https://github.com/boto/boto/blob/e271ff09364ea18d9d8b6f4d63d6b0ac6cbc9b75/boto/endpoints.json#L285
|
||||
conn = boto.rds.connect_to_region("us-east-1")
|
||||
|
||||
database = conn.create_dbinstance("db-master-1", 10, 'db.m1.small', 'root', 'hunter2',
|
||||
security_groups=["my_sg"])
|
||||
|
||||
database.status.should.equal('available')
|
||||
database.id.should.equal("db-master-1")
|
||||
database.allocated_storage.should.equal(10)
|
||||
database.instance_class.should.equal("db.m1.small")
|
||||
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')
|
||||
|
||||
|
||||
@mock_rds_deprecated
|
||||
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)
|
||||
# boto>2.36.0 may change the following property name to `storage_type`
|
||||
database.StorageType.should.equal('io1')
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
import sure # noqa
|
||||
|
||||
import moto.server as server
|
||||
from moto import mock_rds
|
||||
|
||||
'''
|
||||
Test the different server responses
|
||||
'''
|
||||
|
||||
|
||||
@mock_rds
|
||||
def test_list_databases():
|
||||
backend = server.create_backend_app("rds")
|
||||
test_client = backend.test_client()
|
||||
|
||||
res = test_client.get('/?Action=DescribeDBInstances')
|
||||
|
||||
res.data.decode("utf-8").should.contain("<DescribeDBInstancesResult>")
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import sure # noqa
|
||||
|
||||
import moto.server as server
|
||||
from moto import mock_rds
|
||||
|
||||
'''
|
||||
Test the different server responses
|
||||
'''
|
||||
|
||||
|
||||
@mock_rds
|
||||
def test_list_databases():
|
||||
backend = server.create_backend_app("rds")
|
||||
test_client = backend.test_client()
|
||||
|
||||
res = test_client.get('/?Action=DescribeDBInstances')
|
||||
|
||||
res.data.decode("utf-8").should.contain("<DescribeDBInstancesResult>")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue