Sha256: 125003949ad024e628a5f2873e72ca675f697c42e6011ead1b63093a2eca9bb2

Contents?: true

Size: 1.17 KB

Versions: 1

Compression:

Stored size: 1.17 KB

Contents

shared_examples "provider/provisioner/puppet" do |provider, options|
  box = options[:box_puppet] || options[:box]
  if !box
    raise ArgumentError,
      "box_basic option must be specified for provider: #{provider}"
  end

  include_context "acceptance"

  before do
    environment.skeleton("provisioner_puppet")

    vagrantfile = environment.workdir.join('Vagrantfile')
    # TODO: Can we just shell out to something?
    new_vagrantfile = "Vagrant.require_plugin('docker-provider')\n#{vagrantfile.read}"
    vagrantfile.open('w') { |f| f.puts(new_vagrantfile) }

    assert_execute("vagrant", "box", "add", "box", box)
    assert_execute("vagrant", "up", "--provider=#{provider}")
  end

  after do
    assert_execute("vagrant", "destroy", "--force")
  end

  it "provisions with puppet" do
    status("Test: basic manifests")
    result = execute("vagrant", "ssh", "-c", "cat /vagrant-puppet-basic")
    expect(result).to exit_with(0)
    expect(result.stdout).to match(/basic$/)

    status("Test: basic modules")
    result = execute("vagrant", "ssh", "-c", "cat /vagrant-puppet-basic-modules")
    expect(result).to exit_with(0)
    expect(result.stdout).to match(/modules$/)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
docker-provider-0.1.0 spec/acceptance/provisioner/puppet_spec.rb