1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/openstack/requests/compute/address_tests.rb
Alfonso Juan Dillera fc88380f4a [openstack|compute] Add requests, models and tests for address
management

- Fixed other tests, but tests for address has a problem.
- Needs to be revisited.
2012-04-30 10:34:59 +08:00

47 lines
1.9 KiB
Ruby

Shindo.tests('Fog::Compute[:openstack] | address requests', ['openstack']) do
# clean the servers
=begin
@servers = Fog::Compute[:openstack].servers.each do |server|
Fog::Compute[:openstack].list_all_addresses(server.id).body['floating_ips'].each do |ip_add|
Fog::Compute[:openstack].release_address(ip_add['id'])
end
Fog::Compute[:openstack].delete_server(server.id)
end
=end
@server = Fog::Compute[:openstack].create_server("shindo_test_server", Fog::Compute[:openstack].list_images.body['images'].last['links'].first['href'], Fog::Compute[:openstack].list_flavors.body['flavors'].first['links'].first['href'])
@address_format = {
"instance_id" => NilClass,
"ip" => String,
"fixed_ip" => NilClass,
"id" => Integer,
"pool" => String
}
tests('success') do
tests('#allocate_address').formats({"floating_ip" => @address_format}) do
Fog::Compute[:openstack].allocate_address.body
end
tests('#list_all_addresses(server_id)').formats({"floating_ips" => [@address_format]}) do
Fog::Compute[:openstack].list_all_addresses(@server.body['server']['id']).body
end
tests('#get_address(address_id)').formats({"floating_ip" => @address_format}) do
address_id = Fog::Compute[:openstack].addresses.all(Fog::Compute[:openstack].servers.last.id).first.id
Fog::Compute[:openstack].get_address(address_id).body
end
tests('#associate_address(server_id, ip_address)').succeeds do
address_ip = Fog::Compute[:openstack].addresses.all(Fog::Compute[:openstack].servers.last.id).first.ip
Fog::Compute[:openstack].associate_address(@server.body['server']['id'], address_ip).body
end
tests('#disassociate_address(server_id, ip_address)').succeeds do
address_ip = Fog::Compute[:openstack].addresses.all(Fog::Compute[:openstack].servers.last.id).first.ip
Fog::Compute[:openstack].disassociate_address(@server.body['server']['id'], address_ip).body
end
end
end