Shindo.tests('Fog::Compute[:ninefold] | load balancers', ['ninefold']) do # NOTE: all of these tests require you to have a vm built with a public IP address. tests('success') do before do @compute = Fog::Compute[:ninefold] unless Fog.mocking? @public_ip_id = @compute.list_public_ip_addresses.first['id'] @server_id = @compute.servers.all.first.id @create_load_balancer = @compute.create_load_balancer_rule(:algorithm => 'roundrobin', :name => 'test', :privateport => 1000, :publicport => 2000, :publicipid => @public_ip_id) end end after do unless Fog.mocking? delete = @compute.delete_load_balancer_ruler(:id => @create_load_balancer['id']) Ninefold::Compute::TestSupport.wait_for_job(delete['jobid']) end end tests("#create_load_balancer_rule()").formats(Ninefold::Compute::Formats::LoadBalancers::CREATE_LOAD_BALANCER_RULE_RESPONSE) do pending if Fog.mocking? result = Ninefold::Compute::TestSupport.wait_for_job(@create_load_balancer['jobid']) result['jobresult']['loadbalancer'] end tests("#assign_to_load_balancer_rule()").formats(Ninefold::Compute::Formats::LoadBalancers::ASSIGN_LOAD_BALANCER_RULE_RESPONSE) do pending if Fog.mocking? assign_load_balancer = @compute.assign_to_load_balancer_rule(:id => @create_load_balancer['id'], :virtualmachineids => @server_id) result = Ninefold::Compute::TestSupport.wait_for_job(assign_load_balancer['jobid']) result['jobresult'] end tests("#list_to_load_balancer_rules()").formats(Ninefold::Compute::Formats::LoadBalancers::LIST_LOAD_BALANCER_RULES_RESPONSE) do pending if Fog.mocking? list_load_balancer_rules = @compute.list_load_balancer_rules list_load_balancer_rules['loadbalancerrule'].first end tests("#update_to_load_balancer_rule()").formats(Ninefold::Compute::Formats::LoadBalancers::UPDATE_LOAD_BALANCER_RULE_RESPONSE) do pending if Fog.mocking? update_load_balancer = @compute.update_load_balancer_rule(:id => @create_load_balancer['id'], :algorithm => 'source') result = Ninefold::Compute::TestSupport.wait_for_job(update_load_balancer['jobid']) result['jobresult']['loadbalancer'] end tests('with assigned to load balancer rule') do before do unless Fog.mocking? assign_load_balancer = @compute.assign_to_load_balancer_rule(:id => @create_load_balancer['id'], :virtualmachineids => @server_id) result = Ninefold::Compute::TestSupport.wait_for_job(assign_load_balancer['jobid']) end end tests("#remove_from_load_balancer_rule()").formats(Ninefold::Compute::Formats::LoadBalancers::REMOVE_FROM_LOAD_BALANCER_RULE_RESPONSE) do pending if Fog.mocking? remove = @compute.remove_from_load_balancer_rule(:id => @create_load_balancer['id'], :virtualmachineids => @server_id) result = Ninefold::Compute::TestSupport.wait_for_job(remove['jobid']) result['jobresult'] end end end end