Sha256: 5e1e215551c3c9fd44e579d5c4ba092e174bc6a3e1b4969b0de96473d3675323
Contents?: true
Size: 1.17 KB
Versions: 42
Compression:
Stored size: 1.17 KB
Contents
require "spec_helper" describe Berkshelf::Packager do let(:target) { tmp_path.join("cookbooks.tar.gz").to_s } subject { described_class.new(target) } it "has the correct out_file" do expect(subject.out_file).to eq(target) end describe "#run" do let(:cookbooks) { fixtures_path.join("cookbooks") } it "writes a tar to the #out_file" do subject.run(cookbooks) expect(File.exist?(subject.out_file)).to be(true) end end describe "#validate!" do let(:out_dir) { File.dirname(target) } context "when the out_file's directory is not writable" do before { allow(File).to receive(:directory?).with(out_dir).and_return(false) } it "raises an error" do expect { subject.validate! }.to raise_error(Berkshelf::PackageError, "Path is not a directory: #{out_dir}") end end context "when the out_file's directory is not a directory" do before { allow(File).to receive(:writable?).with(out_dir).and_return(false) } it "raises an error" do expect { subject.validate! }.to raise_error(Berkshelf::PackageError, "Directory is not writable: #{out_dir}") end end end end
Version data entries
42 entries across 42 versions & 1 rubygems