Sha256: 0f3ab7fe5089fbcbb8802a2b79b2734361322c847fd6ff18796e58a18b00df98

Contents?: true

Size: 1.69 KB

Versions: 54

Compression:

Stored size: 1.69 KB

Contents

class Ey::Core::Client
  class Real
    def create_load_balancer(params={})
      url = params.delete("url")

      request(
        :method => :post,
        :path   => "/load-balancers",
        :url    => url,
        :body   => params,
      )
    end
  end # Real

  class Mock
    def create_load_balancer(params={})
      request_id  = self.uuid
      resource_id = self.serial_id

      provider_id    = params.delete("provider")
      firewall_id    = params.delete("firewall")

      find(:providers, provider_id)
      find(:firewalls, firewall_id) if firewall_id

      resource = params["load_balancer"].dup

      resource.merge!(
        "id"             => resource_id,
        "provisioned_id" => SecureRandom.hex(10),
        "resource_url"   => "/load_balancers/#{resource_id}",
        "provider"       => url_for("/providers/#{provider_id}"),
        "location"       => resource["location"],
        "name"           => resource["name"],
      )
      resource.merge!("firewall" => url_for("/firewalls/#{firewall_id}")) if firewall_id

      request = {
        "id"          => request_id,
        "type"        => "provision_load_balancer",
        "successful"  => true,
        "started_at"  => Time.now,
        "finished_at" => nil,
        "resource"    => [:load_balancers, resource_id, resource],
      }

      self.data[:requests][request_id] = request
      self.data[:load_balancers][resource_id] = resource

      response_hash = request.dup
      response_hash.delete("resource")

      response(
        :body => {"request" => response_hash},
        :status => 201,
        :headers => {
          "Content-Type" => "application/json; charset=utf8",
        }
      )
    end
  end # Mock
end

Version data entries

54 entries across 54 versions & 3 rubygems

Version Path
ey-core-3.6.0.autoscaling1 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.6.4 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.6.3 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.6.1 lib/ey-core/requests/create_load_balancer.rb
groove-ey-core-3.6.3 lib/ey-core/requests/create_load_balancer.rb
groove-ey-core-3.6.2 lib/ey-core/requests/create_load_balancer.rb
groove-ey-core-3.6.1 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.5.0 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.4.4 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.4.2 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.4.1 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.4.0 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.3.1 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.3.0 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.2.6 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.2.5 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.2.4 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.2.3 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.2.2 lib/ey-core/requests/create_load_balancer.rb
ey-core-3.2.1 lib/ey-core/requests/create_load_balancer.rb