Sha256: b4ff782ede7fc4d329e913ff07c1291f59061435cd14cfa7868d70d11b21906d

Contents?: true

Size: 1.73 KB

Versions: 30

Compression:

Stored size: 1.73 KB

Contents

module Fog
  module Vcloud
    module Terremark
      module Ecloud

        module Real
          # Handled by the main Vcloud get_network
        end

        module Mock

          def get_network(network_uri)
            #
            # Based off of:
            # http://support.theenterprisecloud.com/kb/default.asp?id=546&Lang=1&SID=
            #
            network_uri = ensure_unparsed(network_uri)
            type = "application/vnd.vmware.vcloud.network+xml"
            response = Excon::Response.new
            if network = mock_data[:organizations].map { |org| org[:vdcs].map { |vdc| vdc[:networks] } }.flatten.detect { |network| network[:href] == network_uri }
              xml = Builder::XmlMarkup.new
              mock_it 200,
                xml.Network(xmlns.merge(:href => network[:href], :name => network[:name], :type => type)) {
                  xml.Link( :rel => "down", :href => network[:href] + "/ips", :type => "application/xml", :name => "IP Addresses" )
                  xml.Link( :rel => "down", :href => network[:extension_href], :type => "application/xml", :name => network[:name] )
                  xml.Configuration {
                    xml.Gateway(network[:gateway])
                    xml.Netmask(network[:netmask])
                  }
                  if network[:features]
                    xml.Features {
                      network[:features].each do |feature|
                        eval "xml.#{feature[:type].to_sym}('#{feature[:value]}')"
                      end
                    }
                  end
                },
                { 'Content-Type' => type }
            else
              mock_error 200, "401 Unauthorized"
            end
          end
        end
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 2 rubygems

Version Path
fog-0.2.30 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.28 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.27 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.26 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.25 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.24 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
tecnh-fog-0.2.23.vpc lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.23 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.22 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.21 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.20 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.19 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.18 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.17 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.16 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.15 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.14 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.13 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.12 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.2.11 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb