Sha256: d46b1a3bd5fd9f1fb64b29c02a93c8b7581b6645fc71b01cf982faee056cf117

Contents?: true

Size: 1.67 KB

Versions: 54

Compression:

Stored size: 1.67 KB

Contents

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

      request(
        :method => :post,
        :path   => "/firewalls",
        :url    => url,
        :body   => params,
      )
    end
  end

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

      provider_id = resource_identity(params["provider"])
      cluster_id  = resource_identity(params["cluster"])

      find(:providers, provider_id)

      cluster  = find(:clusters, cluster_id) if cluster_id

      resource = params["firewall"].dup

      resource.merge!(
        "id"             => resource_id,
        "provisioned_id" => SecureRandom.hex(10),
        "resource_url"   => "/firewalls/#{resource_id}",
        "provider"       => url_for("/providers/#{provider_id}"),
        "clusters"       => url_for("/firewalls/#{resource_id}/clusters"),
        "location"       => resource["location"] || cluster["location"],
        "rules"          => url_for("/firewalls/#{resource_id}/rules"),
        "deleted_at"     => nil,
      )

      self.data[:cluster_firewalls] << [cluster_id, resource_id] if cluster_id

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

      self.data[:requests][request_id] = request

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

      response(
        :body    => {"request" => response_hash},
        :status  => 201,
      )
    end
  end
end

Version data entries

54 entries across 54 versions & 3 rubygems

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