Sha256: 2c17eae9c2ebfe52a535f0b83ea7163f462f8a0822fd3ecc3d6e74368b993fa6

Contents?: true

Size: 1.38 KB

Versions: 54

Compression:

Stored size: 1.38 KB

Contents

class Ey::Core::Client
  class Real
    def create_backup_file(params={})
      id  = params["id"]
      url = params["url"]

      request(
        :method => :post,
        :path   => "backup_files/#{id}",
        :url    => url,
        :body   => params,
      )
    end
  end # Real

  class Mock
    def create_backup_file(params={})
      resource_id = self.uuid

      unless resource = params["backup_file"].dup
        response(status: 422)
      end

      unless filename = resource["filename"]
        response(status: 422, body: {"error" => ["Missing required attribute: filename"]})
      end

      backup_id = params["url"].split("/")[-2]

      uuid = self.uuid

      resource.merge!(
        "id"           => resource_id,
        "files"        => url_for("/backup_files/#{resource_id}/files"),
        "mime_type"    => resource["mime_type"] || MIME::Types.type_for(filename).first.to_s,
        # these need to be the same for mocking purposes
        "download_url" => "http://example.org/#{uuid}",
        "upload_url"   => "http://example.org/#{uuid}",
        "backup"       => url_for("/backups/#{backup_id}"),
        "created_at"   => Time.now,
        "updated_at"   => Time.now,
      )

      self.data[:backup_files][resource_id] = resource

      response(
        :body   => {"backup_file" => resource},
        :status => 201,
      )
    end
  end # Mock
end # Ey::Core::Client

Version data entries

54 entries across 54 versions & 3 rubygems

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