Merge pull request #14948 from hyuraku/remove-cask/cmd/fetch

remove `cask/cmd/fetch`
This commit is contained in:
Mike McQuaid 2023-03-19 17:21:22 -04:00 committed by GitHub
commit c31ae1ce6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 107 deletions

View File

@ -11,7 +11,6 @@ require "cask/config"
require "cask/cmd/abstract_command"
require "cask/cmd/audit"
require "cask/cmd/fetch"
require "cask/cmd/install"
require "cask/cmd/reinstall"

View File

@ -1,41 +0,0 @@
# typed: false
# frozen_string_literal: true
module Cask
class Cmd
# Cask implementation of the `brew fetch` command.
#
# @api private
class Fetch < AbstractCommand
extend T::Sig
def self.parser
super do
switch "--force",
description: "Force redownloading even if files already exist in local cache."
end
end
sig { void }
def run
require "cask/download"
require "cask/installer"
options = {
quarantine: args.quarantine?,
}.compact
options[:quarantine] = true if options[:quarantine].nil?
casks.each do |cask|
puts Installer.caveats(cask)
ohai "Downloading external files for Cask #{cask}"
download = Download.new(cask, **options)
download.clear_cache if args.force?
downloaded_path = download.fetch
ohai "Success! Downloaded to: #{downloaded_path}"
end
end
end
end
end

View File

@ -1,60 +0,0 @@
# typed: false
# frozen_string_literal: true
describe Cask::Cmd::Fetch, :cask do
let(:local_transmission) do
Cask::CaskLoader.load(cask_path("local-transmission"))
end
let(:local_caffeine) do
Cask::CaskLoader.load(cask_path("local-caffeine"))
end
it "allows downloading the installer of a Cask" do
transmission_location = CurlDownloadStrategy.new(
local_transmission.url.to_s, local_transmission.token, local_transmission.version,
cache: Cask::Cache.path, **local_transmission.url.specs
).cached_location
caffeine_location = CurlDownloadStrategy.new(
local_caffeine.url.to_s, local_caffeine.token, local_caffeine.version,
cache: Cask::Cache.path, **local_caffeine.url.specs
).cached_location
expect(transmission_location).not_to exist
expect(caffeine_location).not_to exist
described_class.run("local-transmission", "local-caffeine")
expect(transmission_location).to exist
expect(caffeine_location).to exist
end
it "prevents double fetch (without nuking existing installation)" do
cached_location = Cask::Download.new(local_transmission).fetch
old_ctime = File.stat(cached_location).ctime
described_class.run("local-transmission", "--no-quarantine")
new_ctime = File.stat(cached_location).ctime
expect(old_ctime.to_i).to eq(new_ctime.to_i)
end
it "allows double fetch with --force" do
cached_location = Cask::Download.new(local_transmission).fetch
old_ctime = File.stat(cached_location).ctime
sleep(1)
described_class.run("local-transmission", "--force", "--no-quarantine")
new_ctime = File.stat(cached_location).ctime
expect(new_ctime.to_i).to be > old_ctime.to_i
end
it "properly handles Casks that are not present" do
expect do
described_class.run("notacask")
end.to raise_error(Cask::CaskUnavailableError)
end
end

View File

@ -2,7 +2,6 @@
# frozen_string_literal: true
require "cask/cmd/audit"
require "cask/cmd/fetch"
require "cask/cmd/install"
require "cask/cask_loader"
require "cask/download"
@ -29,7 +28,8 @@ describe Cask::Quarantine, :cask do
end
it "quarantines Cask fetches" do
Cask::Cmd::Fetch.run("local-transmission")
download = Cask::Download.new(Cask::CaskLoader.load("local-transmission"), quarantine: true)
download.fetch
local_transmission = Cask::CaskLoader.load(cask_path("local-transmission"))
cached_location = Cask::Download.new(local_transmission).fetch
@ -50,7 +50,8 @@ describe Cask::Quarantine, :cask do
end
it "quarantines Cask installs even if the fetch was not" do
Cask::Cmd::Fetch.run("local-transmission", "--no-quarantine")
download = Cask::Download.new(Cask::CaskLoader.load("local-transmission"), quarantine: false)
download.fetch
Cask::Cmd::Install.run("local-transmission")
@ -144,7 +145,8 @@ describe Cask::Quarantine, :cask do
end
it "does not quarantine Cask fetches" do
Cask::Cmd::Fetch.run("local-transmission", "--no-quarantine")
download = Cask::Download.new(Cask::CaskLoader.load("local-transmission"), quarantine: false)
download.fetch
local_transmission = Cask::CaskLoader.load(cask_path("local-transmission"))
cached_location = Cask::Download.new(local_transmission).fetch
@ -165,7 +167,8 @@ describe Cask::Quarantine, :cask do
end
it "does not quarantine Cask installs even if the fetch was" do
Cask::Cmd::Fetch.run("local-transmission")
download = Cask::Download.new(Cask::CaskLoader.load("local-transmission"), quarantine: true)
download.fetch
Cask::Cmd::Install.run("local-transmission", "--no-quarantine")