Skip to content

Instantly share code, notes, and snippets.

@op-ct
Created January 24, 2018 16:52
Show Gist options
  • Select an option

  • Save op-ct/8e5e5d40e0a1e8fce64a49f0b7d466bf to your computer and use it in GitHub Desktop.

Select an option

Save op-ct/8e5e5d40e0a1e8fce64a49f0b7d466bf to your computer and use it in GitHub Desktop.
Setting $server_facts using `let (:facts) {}`

Using PUPPET_VERSION='~> 4.10'

empty_class
  setting server_facts
    should contain Notify[servername-v85ix8blah.delivery.puppetlabs.net]

Finished in 0.13964 seconds (files took 0.82091 seconds to load)
1 example, 0 failures

Using PUPPET_VERSION='~> 5.3'

empty_class
  setting server_facts
    should contain Notify[servername-v85ix8blah.delivery.puppetlabs.net] (FAILED - 1)

Failures:

  1) empty_class setting server_facts should contain Notify[servername-v85ix8blah.delivery.puppetlabs.net]
     Failure/Error: it { is_expected.to contain_notify('servername-v85ix8blah.delivery.puppetlabs.net') }
     
     Puppet::Error:
       Attempt to assign to a reserved variable name: 'server_facts' on node speedy03.tasty.bacon
     # /home/user/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'
     # ./spec/classes/init_spec.rb:16:in `block (3 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # Puppet::ParseError: 
     #   Attempt to assign to a reserved variable name: 'server_facts'
     #   /home/user/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'

Finished in 0.07855 seconds (files took 0.88445 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/classes/init_spec.rb:16 # empty_class setting server_facts should contain Notify[servername-v85ix8blah.delivery.puppetlabs.net]
require 'spec_helper'
describe 'empty_class' do
context 'setting server_facts' do
let(:facts) do
{
:server_facts => {
'serverversion' => "4.1.0",
'servername' => "v85ix8blah.delivery.puppetlabs.net",
'serverip' => "10.32.115.182",
'environment' => "production",
}
}
end
let(:pre_condition){ %q[notify { "servername-${server_facts['servername']}": }] }
it { is_expected.to contain_notify('servername-v85ix8blah.delivery.puppetlabs.net') }
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment