mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
test/bundle: improve coverage
This commit is contained in:
parent
650f62bcba
commit
c273d8b467
@ -46,6 +46,14 @@ RSpec.describe Homebrew::Bundle::BrewServices do
|
||||
expect(described_class.started_services).to include("nginx")
|
||||
end
|
||||
|
||||
it "runs the service" do
|
||||
allow(described_class).to receive(:started_services).and_return([])
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "services", "run", "nginx",
|
||||
verbose: false).and_return(true)
|
||||
expect(described_class.run("nginx")).to be(true)
|
||||
expect(described_class.started_services).to include("nginx")
|
||||
end
|
||||
|
||||
it "restarts the service" do
|
||||
allow(described_class).to receive(:started_services).and_return([])
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "services", "restart", "nginx",
|
||||
@ -54,4 +62,32 @@ RSpec.describe Homebrew::Bundle::BrewServices do
|
||||
expect(described_class.started_services).to include("nginx")
|
||||
end
|
||||
end
|
||||
|
||||
describe ".versioned_service_file" do
|
||||
let(:foo) do
|
||||
instance_double(
|
||||
Formula,
|
||||
name: "fooformula",
|
||||
version: "1.0",
|
||||
rack: HOMEBREW_CELLAR/"fooformula",
|
||||
plist_name: "homebrew.mxcl.fooformula",
|
||||
)
|
||||
end
|
||||
|
||||
it "returns the versioned service file" do
|
||||
expect(Formula).to receive(:[]).with(foo.name).and_return(foo)
|
||||
expect(Homebrew::Bundle).to receive(:formula_versions_from_env).and_return(foo.name => foo.version)
|
||||
|
||||
prefix = foo.rack/"1.0"
|
||||
allow(FileTest).to receive(:directory?).and_call_original
|
||||
expect(FileTest).to receive(:directory?).with(prefix.to_s).and_return(true)
|
||||
|
||||
service_file = prefix/"#{foo.plist_name}.plist"
|
||||
expect(Homebrew::Services::System).to receive(:launchctl?).and_return(true)
|
||||
allow(FileTest).to receive(:file?).and_call_original
|
||||
expect(FileTest).to receive(:file?).with(service_file.to_s).and_return(true)
|
||||
|
||||
expect(described_class.versioned_service_file(foo.name)).to eq(service_file)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user