Shindo.tests('Fog::Rackspace::Database | instance_tests', ['rackspace']) do pending if Fog.mocking? service = Fog::Rackspace::Databases.new tests('success') do instance_id = nil instance_name = 'fog' + Time.now.to_i.to_s tests("#list_instances").formats(LIST_INSTANCES_FORMAT) do service.list_instances.body end tests("#create_instance(#{instance_name}, 1, 1)").formats(CREATE_INSTANCE_FORMAT) do data = service.create_instance(instance_name, 1, 1).body instance_id = data['instance']['id'] data end until service.get_instance(instance_id).body["instance"]["status"] == 'ACTIVE' sleep 10 end tests("#get_instance(#{instance_id})").formats(GET_INSTANCE_FORMAT) do service.get_instance(instance_id).body end tests("#check_root_user(#{instance_id})").formats(CHECK_ROOT_USER_FORMAT) do service.check_root_user(instance_id).body end tests("#enable_root_user(#{instance_id})").formats(ENABLE_ROOT_USER_FORMAT) do service.enable_root_user(instance_id).body end tests("#restart_instance(#{instance_id})").succeeds do service.restart_instance(instance_id) end until service.get_instance(instance_id).body["instance"]["status"] == 'ACTIVE' sleep 10 end tests("#resize_instance(#{instance_id}, 2)").succeeds do service.resize_instance(instance_id, 2) end until service.get_instance(instance_id).body["instance"]["status"] == 'ACTIVE' sleep 10 end tests("#resize_instance_volume(#{instance_id}, 2)").succeeds do service.resize_instance_volume(instance_id, 2) end until service.get_instance(instance_id).body["instance"]["status"] == 'ACTIVE' sleep 10 end tests("#delete_instance(#{instance_id})").succeeds do service.delete_instance(instance_id) end end tests('failure') do tests("#create_instance('', 0, 0) => Invalid Create Critera").raises(Fog::Rackspace::Databases::BadRequest) do service.create_instance('', 0, 0) end tests("#get_instance('') => Does not exist").raises(Fog::Rackspace::Databases::NotFound) do service.get_instance('') end end end