Sha256: 33152753c8c23b5ffed9c0e3a37b3c6554c6279eb044eb1842319d313832bb86

Contents?: true

Size: 936 Bytes

Versions: 4

Compression:

Stored size: 936 Bytes

Contents

module Fog
  module Compute
    class Ecloud
      class Real
        basic_request :get_operating_system
      end

      class Mock
        def get_operating_system(uri)
          os_name, compute_pool_id = uri.match(/operatingsystems\/(.*)\/computepools\/(\d+)$/).captures
          compute_pool_id          = compute_pool_id.to_i

          operating_systems = data[:operating_systems].values.select { |os| os[:compute_pool_id] == compute_pool_id }
          operating_system = operating_systems.detect { |os| os[:short_name] == os_name }

          if operating_system
            response(:body => Fog::Ecloud.slice(operating_system, :id, :compute_pool_id, :short_name))
          else
            body = "<Error message=\"Resource Not Found\" majorErrorCode=\"404\" minorErrorCode=\"ResourceNotFound\" />"
            response(:body => body, :expects => 200, :status => 404)
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 2 versions & 2 rubygems

Version Path
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-ecloud-0.3.0/lib/fog/compute/ecloud/requests/get_operating_system.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-ecloud-0.3.0/lib/fog/compute/ecloud/requests/get_operating_system.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-ecloud-0.3.0/lib/fog/compute/ecloud/requests/get_operating_system.rb
fog-ecloud-0.3.0 lib/fog/compute/ecloud/requests/get_operating_system.rb