Sha256: ec32009ab9e4e4d7986d98a7e6bfa19aaec60498736c227a5945ebbfef75e32f

Contents?: true

Size: 1.72 KB

Versions: 340

Compression:

Stored size: 1.72 KB

Contents

require 'spec_helper'

describe Puppet::Type.type(:package).provider(:freebsd) do
  before :each do
    # Create a mock resource
    @resource = double('resource')

    # A catch all; no parameters set
    allow(@resource).to receive(:[]).and_return(nil)

    # But set name and source
    allow(@resource).to receive(:[]).with(:name).and_return("mypackage")
    allow(@resource).to receive(:[]).with(:ensure).and_return(:installed)

    @provider = subject()
    @provider.resource = @resource
  end

  it "should have an install method" do
    @provider = subject()
    expect(@provider).to respond_to(:install)
  end

  context "when installing" do
    before :each do
      allow(@resource).to receive(:should).with(:ensure).and_return(:installed)
    end

    it "should install a package from a path to a directory" do
      # For better or worse, trailing '/' is needed. --daniel 2011-01-26
      path = '/path/to/directory/'
      allow(@resource).to receive(:[]).with(:source).and_return(path)
      expect(Puppet::Util).to receive(:withenv).once.with({:PKG_PATH => path}).and_yield
      expect(@provider).to receive(:pkgadd).once.with("mypackage")

      expect { @provider.install }.to_not raise_error
    end

    %w{http https ftp}.each do |protocol|
      it "should install a package via #{protocol}" do
        # For better or worse, trailing '/' is needed. --daniel 2011-01-26
        path = "#{protocol}://localhost/"
        allow(@resource).to receive(:[]).with(:source).and_return(path)
        expect(Puppet::Util).to receive(:withenv).once.with({:PACKAGESITE => path}).and_yield
        expect(@provider).to receive(:pkgadd).once.with('-r', "mypackage")

        expect { @provider.install }.to_not raise_error
      end
    end
  end
end

Version data entries

340 entries across 340 versions & 1 rubygems

Version Path
puppet-8.3.0 spec/unit/provider/package/freebsd_spec.rb
puppet-8.3.0-x86-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-8.3.0-x64-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-8.3.0-universal-darwin spec/unit/provider/package/freebsd_spec.rb
puppet-8.4.0 spec/unit/provider/package/freebsd_spec.rb
puppet-8.4.0-x86-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-8.4.0-x64-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-8.4.0-universal-darwin spec/unit/provider/package/freebsd_spec.rb
puppet-7.28.0 spec/unit/provider/package/freebsd_spec.rb
puppet-7.28.0-x86-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-7.28.0-x64-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-7.28.0-universal-darwin spec/unit/provider/package/freebsd_spec.rb
puppet-8.3.1 spec/unit/provider/package/freebsd_spec.rb
puppet-8.3.1-x86-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-8.3.1-x64-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-8.3.1-universal-darwin spec/unit/provider/package/freebsd_spec.rb
puppet-7.27.0 spec/unit/provider/package/freebsd_spec.rb
puppet-7.27.0-x86-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-7.27.0-x64-mingw32 spec/unit/provider/package/freebsd_spec.rb
puppet-7.27.0-universal-darwin spec/unit/provider/package/freebsd_spec.rb