Sha256: becf6179f60163f09143ef74b0470f8dfbbf2d9943ac9ca11cd18053e6c61a3f

Contents?: true

Size: 1.33 KB

Versions: 5

Compression:

Stored size: 1.33 KB

Contents

test_name 'Install puppet gem'

agents.each do |agent|
  sha = ENV.fetch('SHA', nil)
  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

5 entries across 5 versions & 1 rubygems

Version Path
beaker-puppet-4.1.1 setup/gem/010_GemInstall.rb
beaker-puppet-4.1.0 setup/gem/010_GemInstall.rb
beaker-puppet-4.0.0 setup/gem/010_GemInstall.rb
beaker-puppet-3.0.1 setup/gem/010_GemInstall.rb
beaker-puppet-3.0.0 setup/gem/010_GemInstall.rb