Sha256: 2b729e642a0b1aa3b07b8479d887fe6dd3523839bdcd0ccf43b85381f47e6bcc

Contents?: true

Size: 1.64 KB

Versions: 3

Compression:

Stored size: 1.64 KB

Contents

class Ey::Core::Client
  class Real
    def create_database_service(params={})
      request(
        :method => :post,
        :path   => "/database-services",
        :url    => params.delete("url"),
        :body   => params,
      )
    end
  end

  class Mock
    def create_database_service(_params={})
      params = Cistern::Hash.stringify_keys(_params)

      require_parameters(params, "provider")
      provider_id = resource_identity(params["provider"])
      find(:providers, provider_id)

      require_parameters(params["database_service"], "name")
      request_id  = self.uuid
      resource_id = self.uuid

      database_service = params["database_service"].dup
      database_service["id"] = resource_id
      database_server = params["database_server"].dup
      database_server["storage"] ||= 50

      request_block = create_database_service_resource(
        "database_service" => database_service,
        "database_server"  => database_server,
        "provider_id"      => provider_id,
      )

      request = {
        "id"           => request_id,
        "type"         => "provision_database_service",
        "successful"   => "true",
        "started_at"   => Time.now,
        "finished_at"  => nil,
        "resource_url" => database_service["resource_url"],
        "resource"     => [:database_services, request_id, request_block],
      }

      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

3 entries across 3 versions & 1 rubygems

Version Path
ey-core-3.6.6 lib/ey-core/requests/create_database_service.rb
ey-core-3.4.5 lib/ey-core/requests/create_database_service.rb
ey-core-3.6.5 lib/ey-core/requests/create_database_service.rb