示例#1
0
def test_provision_db_instance():
    client = RDSClient()
    db_instance = RDSDBInstance({})
    db_instance.region = AWSAccount.get_aws_region()

    db_instance.id = "instance-db-test-1"
    db_instance.db_instance_class = "db.t3.medium"
    db_instance.db_cluster_identifier = "cluster-db-test"
    db_instance.db_subnet_group_name = "db_subnet-test"
    db_instance.db_parameter_group_name = "param-group-test"
    db_instance.engine = "aurora-mysql"
    db_instance.engine_version = "5.7.mysql_aurora.2.09.2"

    db_instance.preferred_maintenance_window = "sun:03:30-sun:04:00"
    db_instance.storage_encrypted = True

    db_instance.copy_tags_to_snapshot = True

    db_instance.tags = [{
        'Key': 'lvl',
        'Value': "tst"
    }, {
        'Key': 'name',
        'Value': db_instance.id
    }]

    client.provision_db_instance(db_instance)

    assert db_instance.arn is not None
示例#2
0
def test_dispose_db_cluster():
    client = RDSClient()
    cluster = RDSDBCluster({})
    cluster.region = AWSAccount.get_aws_region()

    cluster.skip_final_snapshot = True
    cluster.id = "cluster-db-test"

    client.dispose_db_cluster(cluster)
示例#3
0
def test_provision_db_cluster_parameter_group():
    client = RDSClient()
    db_cluster_parameter_group = RDSDBClusterParameterGroup({})
    db_cluster_parameter_group.region = AWSAccount.get_aws_region()
    db_cluster_parameter_group.name = "cluster-param-group-test"
    db_cluster_parameter_group.db_parameter_group_family = "aurora-mysql5.7"
    db_cluster_parameter_group.description = "test"
    db_cluster_parameter_group.tags = [{
        'Key': 'lvl',
        'Value': "tst"
    }, {
        'Key': 'name',
        'Value': db_cluster_parameter_group.name
    }]
    client.provision_db_cluster_parameter_group(db_cluster_parameter_group)

    assert db_cluster_parameter_group.arn is not None
示例#4
0
def test_provision_subnet_group():
    client = RDSClient()
    subnet_group = RDSDBSubnetGroup({})
    subnet_group.region = AWSAccount.get_aws_region()
    subnet_group.name = "db_subnet-test"
    subnet_group.db_subnet_group_description = "db subnet test"
    subnet_group.subnet_ids = ["subnet-yy", "subnet-xx"]
    subnet_group.tags = [{
        'Key': 'lvl',
        'Value': "tst"
    }, {
        'Key': 'name',
        'Value': subnet_group.name
    }]
    client.provision_db_subnet_group(subnet_group)

    assert subnet_group.arn is not None
示例#5
0
def test_copy_db_cluster_snapshot():
    client = RDSClient()
    snapshot_src = RDSDBClusterSnapshot({})
    snapshot_src.region = Region.get_region("us-east-1")
    snapshot_src.db_cluster_identifier = mock_values[
        "snapshot_src.db_cluster_identifier"]

    snapshot_dst = RDSDBClusterSnapshot({})
    snapshot_dst.region = Region.get_region("us-west-2")
    snapshot_dst.id = "horey-test-snapshot-id"
    snapshot_dst.tags = [{
        'Key': 'lvl',
        'Value': "tst"
    }, {
        'Key': 'name',
        'Value': snapshot_dst.id
    }]
    client.copy_db_cluster_snapshot(snapshot_src, snapshot_dst)
示例#6
0
def test_provision_cluster_from_snapshot():
    client = RDSClient()
    cluster = RDSDBCluster({})
    cluster.region = AWSAccount.get_aws_region()

    cluster.db_subnet_group_name = "db_subnet-test"
    cluster.db_cluster_parameter_group_name = "cluster-param-group-test"
    cluster.backup_retention_period = 35
    cluster.database_name = "db_test"
    cluster.id = "cluster-db-test"
    cluster.vpc_security_group_ids = [
        mock_values["cluster.vpc_security_group_ids"]
    ]
    cluster.engine = "aurora-mysql"
    cluster.engine_version = "5.7.mysql_aurora.2.09.2"
    cluster.port = 3306

    cluster.master_username = "******"
    cluster.master_user_password = "******"
    cluster.preferred_backup_window = "09:23-09:53"
    cluster.preferred_maintenance_window = "sun:03:30-sun:04:00"
    cluster.storage_encrypted = True
    #cluster.kms_key_id = True
    cluster.engine_mode = "provisioned"

    cluster.deletion_protection = False
    cluster.copy_tags_to_snapshot = True
    cluster.enable_cloudwatch_logs_exports = [
        "audit", "error", "general", "slowquery"
    ]

    cluster.tags = [{
        'Key': 'lvl',
        'Value': "tst"
    }, {
        'Key': 'name',
        'Value': cluster.id
    }]

    client.provision_db_cluster(cluster, snapshot_id="horey-test-snapshot-id")

    assert cluster.arn is not None
示例#7
0
def test_init_rds_client():
    assert isinstance(RDSClient(), RDSClient)