1
0
Fork 0
mirror of https://github.com/fog/fog-aws.git synced 2022-11-09 13:50:52 -05:00
fog--fog-aws/tests/models/rds/cluster_tests.rb
2016-03-02 12:01:40 -05:00

54 lines
1.9 KiB
Ruby

Shindo.tests("AWS::RDS | cluster", ["aws", "rds"]) do
model_tests(Fog::AWS[:rds].clusters, rds_default_cluster_params) do
@cluster_id = @instance.id
@instance.wait_for(20*60) { ready? }
@cluster_with_final_snapshot = Fog::AWS[:rds].clusters.create(rds_default_cluster_params.merge(:id => uniq_id("fog-snapshot-test"), :backup_retention_period => 1))
tests("#servers") do
returns([]) { @instance.servers }
end
@server = Fog::AWS[:rds].servers.create(rds_default_server_params.reject { |k,v| [:allocated_storage, :master_username, :password, :backup_retention_period].include?(k) }.merge(:engine => "aurora", :cluster_id => @instance.id, :flavor_id => "db.r3.large"))
@server.wait_for(20*60) { ready? }
tests("#servers") do
@instance.reload
returns([{"DBInstanceIdentifier" => @server.id, "master" => true}]) { @instance.db_cluster_members }
returns([@server]) { @instance.servers }
end
tests("#snapshots") do
returns([]) { @instance.snapshots }
snapshot_id = uniq_id("manual-snapshot")
snapshot = @instance.snapshots.create(:id => snapshot_id)
returns(snapshot_id) { snapshot.id }
snapshot.wait_for { ready? }
returns([snapshot.id]) { @instance.snapshots.map(&:id) }
snapshot.destroy
end
tests("#destroy") do
snapshot_id = uniq_id("fog-snapshot")
@instance.servers.map(&:destroy)
@cluster_with_final_snapshot.wait_for(20*60) { ready? }
@cluster_with_final_snapshot.destroy(snapshot_id)
snapshot = Fog::AWS[:rds].cluster_snapshots.get(snapshot_id)
snapshot.wait_for { ready? }
returns(snapshot_id) { snapshot.id }
snapshot.destroy
end
after do
if cluster = Fog::AWS[:rds].clusters.get(@cluster_id)
unless cluster.state = 'deleting'
cluster.servers.map(&:destroy)
cluster.destroy
end
end
end
end
end