Skip to content

Instantly share code, notes, and snippets.

@petems
Created June 18, 2014 10:30
Show Gist options
  • Save petems/a38ec1861c6db075b629 to your computer and use it in GitHub Desktop.
Save petems/a38ec1861c6db075b629 to your computer and use it in GitHub Desktop.
Weird Error
Failures:
1) ClassMixedWithDSLHelpers#apply_manifest_on can set the --noops flag
Failure/Error: subject.apply_manifest_on(
#<ClassMixedWithDSLHelpers:0x007fd370940390> received :on with unexpected arguments
expected: (no args)
got: (#<Unix::Host:0x007fd370976dc8 @logger=#<RSpec::Mocks::Mock:0x3fe9b84a8774 @name="logger">, @options={:project=>"Beaker", :department=>"peterso", :validate=>true, :jenkins_build_url=>nil, :forge_host=>"vulcan-acceptance.delivery.puppetlabs.net", :log_level=>"verbose", :trace_limit=>10, :hosts_file=>"sample.cfg", :options_file=>nil, :type=>:foss, :provision=>true, :preserve_hosts=>"never", :root_keys=>false, :quiet=>false, :xml=>false, :color=>true, :dry_run=>false, :timeout=>300, :fail_mode=>"slow", :timesync=>false, :repo_proxy=>false, :package_proxy=>false, :add_el_extras=>false, :add_master_entry=>false, :consoleport=>443, :pe_dir=>"/opt/enterprise/dists", :pe_version_file=>"LATEST", :pe_version_file_win=>"LATEST-win", :dot_fog=>"/Users/peterso/.fog", :ec2_yaml=>"config/image_templates/ec2.yaml", :help=>false, :ssh=>{:config=>false, :paranoid=>false, :timeout=>300, :auth_methods=>["publickey"], :port=>22, :forward_agent=>true, :keys=>["/Users/peterso/.ssh/id_rsa"], :user_known_hosts_file=>"/Users/peterso/.ssh/known_hosts"}, :home=>"/Users/peterso", :answers=>{:q_puppet_enterpriseconsole_auth_user_email=>"[email protected]", :q_puppet_enterpriseconsole_auth_password=>"~!@\#$%^*-/ aZ", :q_puppet_enterpriseconsole_smtp_host=>nil, :q_puppet_enterpriseconsole_smtp_port=>25, :q_puppet_enterpriseconsole_smtp_username=>nil, :q_puppet_enterpriseconsole_smtp_password=>nil, :q_puppet_enterpriseconsole_smtp_use_tls=>"n", :q_verify_packages=>"y", :q_puppetdb_password=>"~!@\#$%^*-/ aZ"}, :logger=>#<RSpec::Mocks::Mock:0x3fe9b84a8774 @name="logger">, :host_config=>"sample.config", :pooling_api=>"http://vcloud.delivery.puppetlabs.net/", :datastore=>"instance0", :folder=>"Delivery/Quality Assurance/Staging/Dynamic", :resourcepool=>"delivery/Quality Assurance/Staging/Dynamic", :gce_project=>"beaker-compute", :gce_keyfile=>"/path/to/keyfile.p12", :gce_password=>"notasecret", :gce_email=>"[email protected]", :HOSTS=>{:agent=>{:platform=>"unix", :snapshot=>"snap", :box=>"default_box_name", :roles=>["agent"], :ip=>"default.ip.address", :box_url=>"http://default.box.url"}}, :platform=>"unix", :snapshot=>"snap", :box=>"default_box_name", :roles=>["agent"], :ip=>"default.ip.address", :box_url=>"http://default.box.url"}, @name="agent", @defaults={:user=>"root", :group=>"puppet", :"service-wait"=>false, :puppetpath=>"/etc/puppet", :puppetvardir=>"/var/lib/puppet", :puppetbin=>"/usr/bin/puppet", :puppetbindir=>"/usr/bin", :hieralibdir=>"/opt/puppet-git-repos/hiera/lib", :hierapuppetlibdir=>"/opt/puppet-git-repos/hiera-puppet/lib", :hierabindir=>"/opt/puppet-git-repos/hiera/bin", :hieradatadir=>"/etc/puppet/hieradata", :hieraconf=>"/etc/puppet/hiera.yaml", :distmoduledir=>"/etc/puppet/modules", :sitemoduledir=>"/usr/share/puppet/modules", :pathseparator=>":", :project=>"Beaker", :department=>"peterso", :validate=>true, :jenkins_build_url=>nil, :forge_host=>"vulcan-acceptance.delivery.puppetlabs.net", :log_level=>"verbose", :trace_limit=>10, :hosts_file=>"sample.cfg", :options_file=>nil, :type=>:foss, :provision=>true, :preserve_hosts=>"never", :root_keys=>false, :quiet=>false, :xml=>false, :color=>true, :dry_run=>false, :timeout=>300, :fail_mode=>"slow", :timesync=>false, :repo_proxy=>false, :package_proxy=>false, :add_el_extras=>false, :add_master_entry=>false, :consoleport=>443, :pe_dir=>"/opt/enterprise/dists", :pe_version_file=>"LATEST", :pe_version_file_win=>"LATEST-win", :dot_fog=>"/Users/peterso/.fog", :ec2_yaml=>"config/image_templates/ec2.yaml", :help=>false, :ssh=>{:config=>false, :paranoid=>false, :timeout=>300, :auth_methods=>["publickey"], :port=>22, :forward_agent=>true, :keys=>["/Users/peterso/.ssh/id_rsa"], :user_known_hosts_file=>"/Users/peterso/.ssh/known_hosts"}, :home=>"/Users/peterso", :answers=>{:q_puppet_enterpriseconsole_auth_user_email=>"[email protected]", :q_puppet_enterpriseconsole_auth_password=>"~!@\#$%^*-/ aZ", :q_puppet_enterpriseconsole_smtp_host=>nil, :q_puppet_enterpriseconsole_smtp_port=>25, :q_puppet_enterpriseconsole_smtp_username=>nil, :q_puppet_enterpriseconsole_smtp_password=>nil, :q_puppet_enterpriseconsole_smtp_use_tls=>"n", :q_verify_packages=>"y", :q_puppetdb_password=>"~!@\#$%^*-/ aZ"}, :logger=>#<RSpec::Mocks::Mock:0x3fe9b84a8774 @name="logger">, :host_config=>"sample.config", :pooling_api=>"http://vcloud.delivery.puppetlabs.net/", :datastore=>"instance0", :folder=>"Delivery/Quality Assurance/Staging/Dynamic", :resourcepool=>"delivery/Quality Assurance/Staging/Dynamic", :gce_project=>"beaker-compute", :gce_keyfile=>"/path/to/keyfile.p12", :gce_password=>"notasecret", :gce_email=>"[email protected]", :HOSTS=>{:agent=>{:platform=>"unix", :snapshot=>"snap", :box=>"default_box_name", :roles=>["agent"], :ip=>"default.ip.address", :box_url=>"http://default.box.url"}}, :platform=>"unix", :snapshot=>"snap", :box=>"default_box_name", :roles=>["agent"], :ip=>"default.ip.address", :box_url=>"http://default.box.url"}, @apt_needs_update=true>, #<Beaker::Command:0x007fd370998ab8 @command="puppet apply", @options={:verbose=>nil, :noop=>nil, "detailed-exitcodes"=>nil}, @args=["agent"], @environment={:PATH=>{:default=>[], :host=>["puppetbindir", "facterbindir", "hierabindir"], :opts=>{:additive=>true, :separator=>":"}}, :RUBYLIB=>{:default=>[], :host=>["hieralibdir", "hierapuppetlibdir", "pluginlibpath", "puppetlibdir", "facterlibdir"], :opts=>{:additive=>true, :separator=>{:host=>"pathseparator"}}}}>, {:acceptable_exit_codes=>[1, 2, 3, 4, 5, 6]})
# ./lib/beaker/dsl/helpers.rb:807:in `apply_manifest_on'
# ./spec/beaker/dsl/helpers_spec.rb:488:in `block (3 levels) in <top (required)>'
it 'can set the --noops flag' do
subject.should_receive( :create_remote_file ).and_return( true )
expect( subject ).to receive( :on ).with {|h, command, opts|
cmdline = command.cmd_line( h )
expect( h ).to be == agent
expect( cmdline ).to include('puppet apply')
expect( cmdline ).to include('--detailed-exitcodes')
expect( cmdline ).to include('--noop')
expect( cmdline ).to_not include('--noop=')
}
subject.apply_manifest_on(
agent,
'class { "boo": }',
:acceptable_exit_codes => (1..5),
:noop => true,
:expect_failures => true
)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment