Sha256: 339eeadd5d47932bb90bffad70aa4063a819ef2a20c82d0b747cc565a1b21be0

Contents?: true

Size: 1.81 KB

Versions: 9

Compression:

Stored size: 1.81 KB

Contents

require File.expand_path("../../../../../base", __FILE__)

require Vagrant.source_root.join("plugins/provisioners/puppet/provisioner/puppet")

describe VagrantPlugins::Puppet::Provisioner::Puppet do
  include_context "unit"

  let(:iso_env) do
    # We have to create a Vagrantfile so there is a root path
    env = isolated_environment
    env.vagrantfile("")
    env.create_vagrant_env
  end

  let(:machine) { iso_env.machine(iso_env.machine_names[0], :dummy) }
  let(:config)       { double("config") }
  let(:facts)        { [] }
  let(:communicator) { double("comm") }
  let(:guest)        { double("guest") }
  let(:comm) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
  let(:module_paths) { ["etc/puppet/modules"] } # make this something real

  subject { described_class.new(machine, config) }

  before do
    allow(machine).to receive(:communicate).and_return(comm)
  end

  describe "#run_puppet_apply" do
    let(:options) { double("options") }
    let(:binary_path) { "/opt/puppetlabs/bin" }
    let(:manifest_file) { "default.pp" }

    it "runs puppet on a manifest" do
      allow(config).to receive(:options).and_return(options)
      allow(config).to receive(:environment_path).and_return(false)
      allow(config).to receive(:facter).and_return(facts)
      allow(config).to receive(:binary_path).and_return(binary_path)
      allow(config).to receive(:environment_variables).and_return(nil)
      allow(config).to receive(:working_directory).and_return(false)
      allow(config).to receive(:manifest_file).and_return(manifest_file)

      allow_message_expectations_on_nil
      allow(@module_paths).to receive(:map) { module_paths }
      allow(@module_paths).to receive(:empty?).and_return(true)

      expect(machine).to receive(:communicate).and_return(comm)
      subject.run_puppet_apply()
    end
  end
end

Version data entries

9 entries across 9 versions & 3 rubygems

Version Path
vagrant-aws-detiber-0.7.2.pre.4 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb
vagrant-aws-detiber-0.7.2.pre.3 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb
vagrant-aws-detiber-0.7.2.pre.2 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-419afb4dcffe/test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb
vagrant-unbundled-2.0.2.0 test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb
vagrant-unbundled-2.0.1.0 test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb
vagrant-aws-mkubenka-0.7.2.pre.22 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-f3fdbf414272/test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb
vagrant-aws-mkubenka-0.7.2.pre.16 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-1ee58c40e3f5/test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb
vagrant-unbundled-2.0.0.1 test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb
vagrant-unbundled-1.9.8.1 test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb