2012-06-23 11:36:50 -04:00
|
|
|
Shindo.tests('Fog::Rackspace::Database | database_tests', ['rackspace']) do
|
|
|
|
|
|
|
|
pending if Fog.mocking?
|
|
|
|
|
|
|
|
service = Fog::Rackspace::Databases.new
|
|
|
|
instance_name = 'fog' + Time.now.to_i.to_s
|
|
|
|
|
2013-06-26 09:26:25 -05:00
|
|
|
begin
|
|
|
|
@instance_id = service.create_instance(instance_name, 1, 1).body['instance']['id']
|
2012-06-23 11:36:50 -04:00
|
|
|
|
2013-06-26 09:26:25 -05:00
|
|
|
wait_for_request("waiting for database to be created") do
|
|
|
|
service.get_instance(@instance_id).body["instance"]["status"] == 'ACTIVE'
|
2012-06-23 11:36:50 -04:00
|
|
|
end
|
|
|
|
|
2013-06-26 09:26:25 -05:00
|
|
|
tests('success') do
|
|
|
|
database_name = 'fogdb' + Time.now.to_i.to_s
|
|
|
|
|
|
|
|
tests("#create_database(#{@instance_id}, #{database_name})").returns(202) do
|
|
|
|
service.create_database(@instance_id, database_name).status
|
|
|
|
end
|
2012-06-23 11:36:50 -04:00
|
|
|
|
2013-06-26 09:26:25 -05:00
|
|
|
tests("#list_databases{#{@instance_id})").formats(LIST_DATABASES_FORMAT) do
|
|
|
|
service.list_databases(@instance_id).body
|
|
|
|
end
|
|
|
|
|
|
|
|
tests("#delete_database(#{@instance_id}, #{database_name})").returns(202) do
|
|
|
|
service.delete_database(@instance_id, database_name).status
|
|
|
|
end
|
2012-06-23 11:36:50 -04:00
|
|
|
end
|
|
|
|
|
2013-06-26 09:26:25 -05:00
|
|
|
tests('failure') do
|
|
|
|
tests("#create_database(#{@instance_id}, '') => Invalid Create Critera").raises(Fog::Rackspace::Databases::BadRequest) do
|
|
|
|
service.create_database(@instance_id, '')
|
|
|
|
end
|
2012-06-23 11:36:50 -04:00
|
|
|
end
|
2013-06-26 09:26:25 -05:00
|
|
|
ensure
|
|
|
|
service.delete_instance(@instance_id) if @instance_id
|
2012-06-23 11:36:50 -04:00
|
|
|
end
|
|
|
|
end
|