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

Version Path
berkshelf-8.0.15 spec/unit/berkshelf/packager_spec.rb
berkshelf-8.0.13 spec/unit/berkshelf/packager_spec.rb
berkshelf-8.0.12 spec/unit/berkshelf/packager_spec.rb
berkshelf-8.0.9 spec/unit/berkshelf/packager_spec.rb
berkshelf-8.0.7 spec/unit/berkshelf/packager_spec.rb
berkshelf-8.0.5 spec/unit/berkshelf/packager_spec.rb
berkshelf-8.0.2 spec/unit/berkshelf/packager_spec.rb
berkshelf-8.0.1 spec/unit/berkshelf/packager_spec.rb
berkshelf-8.0.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.2.2 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.2.1 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.2.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.1.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.0.10 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.0.9 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.0.8 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.0.7 spec/unit/berkshelf/packager_spec.rb
berkshelf-6.3.4 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.0.6 spec/unit/berkshelf/packager_spec.rb
berkshelf-7.0.5 spec/unit/berkshelf/packager_spec.rb