Sha256: a6c719356b603e8ab6a1df77dcbcd2a7b58652094d2e9fec58896efd7e71baa4

Contents?: true

Size: 1.34 KB

Versions: 18

Compression:

Stored size: 1.34 KB

Contents

extend Beaker::DSL::InstallUtils::FOSSUtils

test_name "Install puppet gem"

agents.each do |agent|
  sha = ENV['SHA']
  base_url = "http://builds.delivery.puppetlabs.net/puppet/#{sha}/artifacts"

  ruby_command = ruby_command(agent)
  gem_command = gem_command(agent)

  # retrieve the build data, since the gem version is based on the short git
  # describe, not the full git SHA
  on(agent, "curl -s -o build_data.yaml #{base_url}/#{sha}.yaml")
  gem_version = on(agent, "#{ruby_command} -ryaml -e 'puts YAML.load_file(\"build_data.yaml\")[:gemversion]'").stdout.chomp

  if agent['platform'] =~ /windows/
    # wipe existing gems first
    default_dir = on(agent, "#{ruby_command} -rrbconfig -e 'puts Gem.default_dir'").stdout.chomp
    on(agent, "rm -rf '#{default_dir}'")

    arch = agent[:ruby_arch] || 'x86'
    gem_arch = arch == 'x64' ? 'x64-mingw32' : 'x86-mingw32'
    url = "#{base_url}/puppet-#{gem_version}-#{gem_arch}.gem"
  else
    url = "#{base_url}/puppet-#{gem_version}.gem"
  end

  step "Download puppet gem from #{url}"
  on(agent, "curl -s -o puppet.gem #{url}")

  step "Install puppet.gem"
  on(agent, "#{gem_command} install puppet.gem")

  step "Verify it's sane"
  on(agent, puppet('--version'))
  on(agent, puppet('apply', "-e \"notify { 'hello': }\"")) do |result|
    assert_match(/defined 'message' as 'hello'/, result.stdout)
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
beaker-puppet-1.0.0 setup/gem/010_GemInstall.rb
beaker-puppet-0.17.1 setup/gem/010_GemInstall.rb
beaker-puppet-0.17.0 setup/gem/010_GemInstall.rb
beaker-puppet-0.16.0 setup/gem/010_GemInstall.rb
beaker-puppet-0.15.2 setup/gem/010_GemInstall.rb
beaker-puppet-0.15.1 setup/gem/010_GemInstall.rb
beaker-puppet-0.15.0 setup/gem/010_GemInstall.rb
beaker-puppet-0.14.0 setup/gem/010_GemInstall.rb
beaker-puppet-0.13.6 setup/gem/010_GemInstall.rb
beaker-puppet-0.13.5 setup/gem/010_GemInstall.rb
beaker-puppet-0.13.4 setup/gem/010_GemInstall.rb
beaker-puppet-0.13.3 setup/gem/010_GemInstall.rb
beaker-puppet-0.13.2 setup/gem/010_GemInstall.rb
beaker-puppet-0.13.1 setup/gem/010_GemInstall.rb
beaker-puppet-0.13.0 setup/gem/010_GemInstall.rb
beaker-puppet-0.12.0 setup/gem/010_GemInstall.rb
beaker-puppet-0.11.1 setup/gem/010_GemInstall.rb
beaker-puppet-0.11.0 setup/gem/010_GemInstall.rb