mirror of
https://github.com/fog/fog-aws.git
synced 2022-11-09 13:50:52 -05:00
62 lines
2 KiB
Ruby
62 lines
2 KiB
Ruby
Shindo.tests('Fog::Rds[:aws] | db snapshot requests', ['aws']) do
|
|
|
|
@snapshot_format = {
|
|
'AllocatedStorage' => Integer,
|
|
'AvailabilityZone' => Fog::Nullable::String,
|
|
'Engine' => String,
|
|
'EngineVersion' => String,
|
|
'InstanceCreateTime' => Time,
|
|
'DBInstanceIdentifier' => String,
|
|
'DBSnapshotIdentifier' => String,
|
|
'Iops' => Fog::Nullable::Integer,
|
|
'MasterUsername' => String,
|
|
'Port' => Fog::Nullable::Integer,
|
|
'Status' => String,
|
|
'StorageType' => String,
|
|
'SnapshotType' => String,
|
|
'SnapshotCreateTime' => Fog::Nullable::Time,
|
|
}
|
|
|
|
@snapshots_format = {
|
|
'requestId' => String
|
|
}
|
|
|
|
@rds_identity = "test_rds"
|
|
|
|
Fog::AWS[:rds].create_db_instance(@rds_identity,{
|
|
"DBInstanceClass"=>"db.m3.xlarge",
|
|
"Engine"=>"PostgreSQL",
|
|
"AllocatedStorage"=>100,
|
|
"MasterUserPassword"=>"password",
|
|
"MasterUsername"=>"username"
|
|
})
|
|
|
|
@rds = Fog::AWS[:rds].servers.get(@rds_identity)
|
|
|
|
tests('success') do
|
|
@snapshot_id = "testRdsSnapshot"
|
|
tests("#create_snapshot(#{@rds.identity})").formats(@snapshot_format) do
|
|
Fog::AWS[:rds].create_db_snapshot(@rds.identity,@snapshot_id).body["CreateDBSnapshotResult"]["DBSnapshot"]
|
|
end
|
|
|
|
Fog.wait_for { Fog::AWS[:rds].snapshots.get(@snapshot_id) }
|
|
Fog::AWS[:rds].snapshots.get(@snapshot_id).wait_for { ready? }
|
|
|
|
tests("#modify_db_snapshot_attribute").formats(@snapshots_format) do
|
|
Fog::AWS[:rds].modify_db_snapshot_attribute(@snapshot_id, {"Add.MemberId"=>["389480430104"]}).body
|
|
end
|
|
|
|
tests("#copy_db_snapshot (#{@snapshot_id}, target_snapshot_id)").formats(@snapshot_format) do
|
|
Fog::AWS[:rds].copy_db_snapshot(@snapshot_id, "target_snapshot_id").body["CopyDBSnapshotResult"]["DBSnapshot"]
|
|
end
|
|
end
|
|
|
|
tests('failure') do
|
|
tests("#delete_snapshot('snap-00000000')").raises(Fog::AWS::RDS::NotFound) do
|
|
Fog::AWS[:rds].delete_db_snapshot(@rds.identity)
|
|
end
|
|
end
|
|
|
|
@rds.destroy
|
|
|
|
end
|