Thanks Johan. It turns out that I had to set my path's explicitly in my 
spec_helper.rb. For some reason, the automatically created spec_helper.rb 
created by rspec-puppet-init did not create a usuable file. My tests are 
running successfully now.

Brian

On Wednesday, June 4, 2014 5:05:05 PM UTC-4, Johan De Wit wrote:
>
>  Hi, 
>
> the scoping of the class is indeed needed, but i believe that is a parser 
> issue.
>
> I did the test wit class { '::vim': version => '7.4' }
>
> on my master with puppet master --compile <certname> i got following :
>
> {
>   "metadata": {
>     "api_version": 1
>   },
>   "data": {
>     "classes": [
>       "settings",
>
>      <snip> 
>
>      "vim",
>
>     <snip>
>
> And that is what you should check in your rspec file.  
>
> In your manifests, you need indeed the scoping, in your spec, you don't
>
> hth
>
> jo   
>
>
> On 04/06/14 21:56, Brian Wilkins wrote:
>  
> It is needed to disambiguate from profiles::logstash and just logstash 
> classes. If I remove it, then it will complain that logstash is already 
> loaded when it tries to load profiles::logstash.
>
> On Wednesday, June 4, 2014 3:52:01 PM UTC-4, Garrett Honeycutt wrote: 
>>
>> On 6/4/14, 3:13 PM, Brian Wilkins wrote: 
>> > I think you missed the part where it is complaining about line 10 in my 
>> > profiles::logstash::install module 
>> > 
>> > class { '::logstash': 
>> > 
>> > Removing ::logstash from the spec file has the same complaint. 
>> > 
>> > Brian 
>> > 
>> > On Wednesday, June 4, 2014 3:11:14 PM UTC-4, Garrett Honeycutt wrote: 
>> > 
>> >     On 6/4/14, 2:30 PM, Brian Wilkins wrote: 
>> >     > 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? 
>> > 
>> >     Hi Brian, 
>> > 
>> >     Using ::class is not needed and should not be done. If you still 
>> >     want to 
>> >     do that in your class, try changing the spec by dropping the 
>> preceding 
>> >     double colons. 
>> > 
>> >     Best regards, 
>> >     -g 
>> > 
>> >     -- 
>> >     Garrett Honeycutt 
>> >     @learnpuppet 
>> >     Puppet Training with LearnPuppet.com 
>> >     Mobile: +1.206.414.8658 
>> > 
>>
>> Hi Brian, 
>>
>> Recommend dropping the preceding double colons all around. It is not 
>> needed at all. 
>>
>> Br, 
>> -g 
>>
>>
>>
>> -- 
>> Garrett Honeycutt 
>> @learnpuppet 
>> Puppet Training with LearnPuppet.com 
>> Mobile: +1.206.414.8658 
>>
>  -- 
> 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] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/puppet-users/141ee867-2464-4187-9e55-5aab364c1700%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/puppet-users/141ee867-2464-4187-9e55-5aab364c1700%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
>
> -- 
> Johan De Wit
>
> Open Source Consultant
>
> Red Hat Certified Engineer              (805008667232363)
> Puppet Certified Professional 2013/2014 (PCP0000006)
> _________________________________________________________
>  
> Open-Future                 Phone     +32 (0)2/255 70 70
> Zavelstraat 72              Fax       +32 (0)2/255 70 71
> 3071 KORTENBERG             Mobile    +32 (0)474/42 40 73
> BELGIUM                     http://www.open-future.be
> _________________________________________________________
>  
>
>
> Upcoming Events:
>
> Puppet Advanced Training | 
> https://www.open-future.be/puppet-advanced-training-10-till-12th-june
>
> Puppet Introduction Course | 
> https://www.open-future.be/puppet-introduction-course-13th-june
>
> Linux Training | 
> https://www.open-future.be/linux-training-16-till-20th-june
>
> Subscribe to our newsletter: http://eepurl.com/BUG8H
>  
>  

-- 
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/fc6a0b91-cc77-4aa3-ba66-749961663714%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to