Sha256: 45425e3305f518c911ecdeed907cb4c6811cb98c399e673b0284a54b0df23c87

Contents?: true

Size: 1.38 KB

Versions: 30

Compression:

Stored size: 1.38 KB

Contents

#! /usr/bin/env ruby
require 'spec_helper'

describe Puppet::Type.type(:package).provider(:appdmg) do
  let(:resource) { Puppet::Type.type(:package).new(:name => 'foo', :provider => :appdmg) }
  let(:provider) { described_class.new(resource) }

  describe "when installing an appdmg" do
    let(:fake_mountpoint) { "/tmp/dmg.foo" }
    let(:empty_hdiutil_plist) { Plist::Emit.dump({}) }
    let(:fake_hdiutil_plist) { Plist::Emit.dump({"system-entities" => [{"mount-point" => fake_mountpoint}]}) }

    before do
      fh = mock 'filehandle'
      fh.stubs(:path).yields "/tmp/foo"
      resource[:source] = "foo.dmg"
      described_class.stubs(:open).yields fh
      Dir.stubs(:mktmpdir).returns "/tmp/testtmp123"
      FileUtils.stubs(:remove_entry_secure)
    end

    describe "from a remote source" do
      let(:tmpdir) { "/tmp/good123" }

      before :each do
        resource[:source] = "http://fake.puppetlabs.com/foo.dmg"
      end

      it "should call tmpdir and use the returned directory" do
        Dir.expects(:mktmpdir).returns tmpdir
        Dir.stubs(:entries).returns ["foo.app"]
        described_class.expects(:curl).with do |*args|
          args[0] == "-o" && args[1].include?(tmpdir) && ! args.include?("-k")
        end
        described_class.stubs(:hdiutil).returns fake_hdiutil_plist
        described_class.expects(:installapp)

        provider.install
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
puppet-4.3.2 spec/unit/provider/package/appdmg_spec.rb
puppet-4.3.2-x86-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.3.2-x64-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.3.1 spec/unit/provider/package/appdmg_spec.rb
puppet-4.3.1-x86-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.3.1-x64-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.3.0 spec/unit/provider/package/appdmg_spec.rb
puppet-4.3.0-x86-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.3.0-x64-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.3 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.3-x86-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.3-x64-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.2 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.2-x86-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.2-x64-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.1 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.1-x86-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.1-x64-mingw32 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.0 spec/unit/provider/package/appdmg_spec.rb
puppet-4.2.0-x86-mingw32 spec/unit/provider/package/appdmg_spec.rb