49 lines
1.6 KiB
Ruby
49 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "bottle_publisher"
|
|
|
|
describe BottlePublisher do
|
|
subject(:bottle_publisher) {
|
|
described_class.new(
|
|
CoreTap.instance, ["#{CoreTap.instance.name}/hello.rb"], "homebrew", false, false
|
|
)
|
|
}
|
|
|
|
let(:tap) { CoreTap.new }
|
|
|
|
describe "publish_and_check_bottles" do
|
|
it "fails if HOMEBREW_DISABLE_LOAD_FORMULA is set to 1" do
|
|
ENV["HOMEBREW_DISABLE_LOAD_FORMULA"] = "1"
|
|
expect { bottle_publisher.publish_and_check_bottles }
|
|
.to raise_error("Need to load formulae to publish them!")
|
|
end
|
|
|
|
it "returns nil because HOMEBREW_BINTRAY_USER and HOMEBREW_BINTRAY_KEY are not set" do
|
|
ENV["HOMEBREW_BINTRAY_USER"] = nil
|
|
ENV["HOMEBREW_BINTRAY_KEY"] = nil
|
|
expect(bottle_publisher.publish_and_check_bottles)
|
|
.to eq nil
|
|
end
|
|
end
|
|
|
|
describe "verify_bintray_published" do
|
|
it "returns nil if no formula has been defined" do
|
|
expect(bottle_publisher.verify_bintray_published([]))
|
|
.to eq nil
|
|
end
|
|
|
|
it "fails if HOMEBREW_DISABLE_LOAD_FORMULA is set to 1" do
|
|
ENV["HOMEBREW_DISABLE_LOAD_FORMULA"] = "1"
|
|
stub_formula_loader(formula("foo") { url "foo-1.0" })
|
|
expect { bottle_publisher.verify_bintray_published(["foo"]) }
|
|
.to raise_error("Need to load formulae to verify their publication!")
|
|
end
|
|
|
|
it "checks if a bottle has been published" do
|
|
stub_formula_loader(formula("foo") { url "foo-1.0" })
|
|
expect { bottle_publisher.verify_bintray_published(["foo"]) }
|
|
.to output("Warning: Cannot publish bottle: Failed reading info for formula foo\n").to_stderr
|
|
end
|
|
end
|
|
end
|