Sha256: c4402d4779a92fef654423b7edc34fc0d0021f75a0ae46f4cb20122866837aed

Contents?: true

Size: 1.17 KB

Versions: 25

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

25 entries across 25 versions & 1 rubygems

Version Path
berkshelf-5.5.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-5.4.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-5.3.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-5.2.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-5.1.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-5.0.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.3.5 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.3.3 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.3.2 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.3.1 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.3.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.2.3 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.2.2 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.2.1 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.2.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.1.1 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.1.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.0.1 spec/unit/berkshelf/packager_spec.rb
berkshelf-4.0.0 spec/unit/berkshelf/packager_spec.rb
berkshelf-3.3.0 spec/unit/berkshelf/packager_spec.rb