I am trying to write unit tests of my puppet modules. In my 
profiles::logstash::install, I disambiguate the call to 
/etc/puppet/modules/logstash by using ::logstash in my class definition 
like so:

class profiles::logstash::install() {
  $ensure = $profiles::logstash::enable ? {true => present, default => 
absent}
  $status = $profiles::logstash::start ? {true => enabled, default => 
disabled}

  class { '::logstash':
    ensure  => $ensure,
    status  => $status,
    version => $profiles::logstash::version
  }
}

However, when I run my spec file:

require 'spec_helper'

describe "profiles::logstash" do
  it { should contain_class("::logstash") }
  it { should contain_class("profiles::logstash::install") }
  it { should contain_class("profiles::logstash::config") }
end

I get the errors:

1) profiles::logstash
     Failure/Error: it { should contain_class("::logstash") }
     Puppet::Error:
       Puppet::Parser::AST::Resource failed with error ArgumentError: Could 
not find declared class ::logstash at 
/etc/puppet/modules/profiles/spec/fixtures/modules/profiles/manifests/logstash/install.pp:10
 
on node els4167.els.dev
     # ./spec/classes/logstash_spec.rb:4

  2) profiles::logstash
     Failure/Error: it { should 
contain_class("profiles::logstash::install") }
     Puppet::Error:
       Puppet::Parser::AST::Resource failed with error ArgumentError: Could 
not find declared class ::logstash at 
/etc/puppet/modules/profiles/spec/fixtures/modules/profiles/manifests/logstash/install.pp:10
 
on node els4167.els.dev
     # ./spec/classes/logstash_spec.rb:5

  3) profiles::logstash
     Failure/Error: it { should contain_class("profiles::logstash::config") 
}
     Puppet::Error:
       Puppet::Parser::AST::Resource failed with error ArgumentError: Could 
not find declared class ::logstash at 
/etc/puppet/modules/profiles/spec/fixtures/modules/profiles/manifests/logstash/install.pp:10
 
on node els4167.els.dev
     # ./spec/classes/logstash_spec.rb:6

How do I get rspec to find my class /etc/puppet/modules/logstash and get it 
to reference ::logstash as a disambiguation?

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/a47b6fdb-519a-453c-92ec-40787c7d2470%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to