Hi Peter On 27 November 2015 at 20:23, Peter Berghold <salty.cowd...@gmail.com> wrote: > So, > > Now that my schedule has some slack in it I've turned my attention back to > doing spec testing of my Puppet modules. Taking a really really simple > module that I wrote as an example I started in again. > > Here is the one and only file making up the class. > > ---------- init.pp ------------------------------ > class ntp { > > package { 'ntp': > ensure => latest > } > service { 'ntp': > ensure => running, > enable => true, > require => Package[ntp] > } > > > } > ----------------------------------------------------- > > That should be really easy to run tests against in my opinion. I wrote a > Gemfle for the occasion. > > ---------Gemfile--------------------------- > source 'https://rubygems.org' > > puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : > ['>= 3.3'] > gem 'puppet', puppetversion > gem 'puppetlabs_spec_helper', '>= 0.1.0' > gem 'puppet-lint', '>= 0.3.2' > gem 'facter', '>= 1.7.0' > gem 'rake','>= 0.0.0' > gem 'spec','>= 0.0.0' > -------------------------------------------------------------------- > and my spec file looks like this: > > ------- spec/classes/init_spec.rb --------------- > require 'spec_helper' > describe 'ntp', :type => 'class' do > > context 'On Debian' do > let :facts do { > :osfamily => 'Debian' > } > end > > it { > should contain_package('ntp').with({ 'name' => 'ntp' }) > should contain_service('ntp').with({ 'name' => 'ntp' }) > } > end > > end > ------------------------------------------------------------------- > > and when I run "rake spec" I get this (severely trimmed) set of errors: > -------------errors-------------------------------------------------- > 1) ntp On Debian should contain Package[ntp] with name => "ntp" > Failure/Error: should contain_package('ntp').with({ 'name' => 'ntp' }) > > ArgumentError: > wrong number of arguments (2 for 1) > ------------------------------------------------------------------------ > > Looks to me after reading "The Next Generation of Puppet Module Testing" at > this page: > https://puppetlabs.com/blog/the-next-generation-of-puppet-module-testing > there should only be one argument to "with" so.. if that's not an > authoritative page for that information, which one is? >
That blog post is a good 3 years old. Probably the best place to look for up-to-date information is the rspec-puppet site itself. http://rspec-puppet.com/ You'll also find lots of examples in the the supported and approved modules on the Forge, and the module skeleton I maintain generates working tests out-of-the-box from which you could copy the requisite files. https://github.com/garethr/puppet-module-skeleton My guess here is this is something to do with versions or some other file you're using to setup the tests. If you checkout the skeleton above you should be able to do: puppet module generate yourname/ntp cd ntp bundle install bundle exec rake spec You don't need to then use the resulting module if you don't want, but you should have a working setup from which you can port to your existing modules. Gareth > Can somebody clarify for me what;s going on here? > > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to puppet-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/CAArvnv0%3DEobRO49%3DhYNuf6D2e2feN4md2rFqmx%2BGySCNByhtCw%40mail.gmail.com. > For more options, visit https://groups.google.com/d/optout. -- Gareth Rushgrove @garethr devopsweekly.com morethanseven.net garethrushgrove.com -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAFi_6y%2BZtf46%2Bf5ht4A1SVB%2B_uJE3AQ4OCo9V4H0ovrkbeywyA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.