Sha256: d4689741c86b20de8b02365ae00a20e7d12a147c258dd2ff097c3c86143eb2f3
Contents?: true
Size: 1.53 KB
Versions: 43
Compression:
Stored size: 1.53 KB
Contents
module Fog module Compute class Linode class Real def linode_ip_list(linode_id, ip_id=nil) options = {} if ip_id options.merge!(:ipaddressId => ip_id) end request( :expects => 200, :method => 'GET', :query => { :api_action => 'linode.ip.list', :linodeId => linode_id }.merge!(options) ) end end class Mock def linode_ip_list(linode_id, ip_id=nil) response = Excon::Response.new response.status = 200 body = { "ERRORARRAY" => [], "ACTION" => "linode.ip.list" } if ip_id # one IP mock_ip = create_mock_ip(ip_id) response.body = body.merge("DATA" => [mock_ip]) else # all IPs mock_ips = [] ip_id = rand(10000..99999) mock_ips << create_mock_ip(linode_id, ip_id) ip_id = rand(10000..99999) mock_ips << create_mock_ip(linode_id, ip_id, false) response.body = body.merge("DATA" => mock_ips) end response end private def create_mock_ip(linode_id, ip_id, is_public=true) { "IPADDRESSID" => ip_id, "RDNS_NAME" => "li-test.members.linode.com", "LINODEID" => linode_id, "ISPUBLIC" => is_public ? 1 : 0, "IPADDRESS" => is_public ? "1.2.3.4" : "192.168.1.2" } end end end end end
Version data entries
43 entries across 41 versions & 6 rubygems