Shantanu
2012-Apr-23 15:51 UTC
[Puppet Users] RSpec test to verify variable/parameter declaration
I have a module in which parameterized classes inherit regular (non- parameterized) ''params'' class. I am writing RSpec tests for this module and would like to make sure that required variables have been declared in the params class. Also, is it possible to write RSpec test to make sure that these variables/parameters are accepted by the required parameterized classes? Any pointers will be really helpful. -- Thanks, Shantanu Pavgi -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Craig Dunn
2012-Apr-23 17:06 UTC
Re: [Puppet Users] RSpec test to verify variable/parameter declaration
On 23/04/2012 16:51, Shantanu wrote:> > I have a module in which parameterized classes inherit regular (non- > parameterized) ''params'' class. I am writing RSpec tests for this > module and would like to make sure that required variables have been > declared in the params class. Also, is it possible to write RSpec test > to make sure that these variables/parameters are accepted by the > required parameterized classes? Any pointers will be really helpful.Funnily enough I was asking a similar thing on IRC the other day but didn''t get much luck. We''re implementing Hiera across modules that require significant amounts of variables. We have a lot of environments (>20) and we often get problems where someone introduces a new variable, adds it to a template and tests it in dev but dont add a default, or add it to each environment, therefore catalog compilation fails in non-dev environments. Ideally I''d like to be able to catch this with rspec-puppet but can''t see an easy way to say "class bar should have variable foo and it shouldn''t be undefined", or something when sourcing variables from other classes or hiera. Craig -- Craig Dunn | http://www.craigdunn.org Yahoo/Skype: craigrdunn | Twitter: @crayfishX -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Tim Sharpe
2012-Apr-23 22:49 UTC
Re: [Puppet Users] RSpec test to verify variable/parameter declaration
So, rspec-puppet can''t and won''t ever work this way. What it''s testing is the resulting catalogue of Puppet resources that your host executes (the behaviour of Puppet). Instead of testing that a variable is defined, you should be testing the resource(s) that those variables control/adjust. For example, if your variable changes the templated contents of a file resource, then you should be testing the contents of that file resource. On Monday, 23 April 2012 at 10:06 AM, Craig Dunn wrote:> On 23/04/2012 16:51, Shantanu wrote: > > > > I have a module in which parameterized classes inherit regular (non- > > parameterized) ''params'' class. I am writing RSpec tests for this > > module and would like to make sure that required variables have been > > declared in the params class. Also, is it possible to write RSpec test > > to make sure that these variables/parameters are accepted by the > > required parameterized classes? Any pointers will be really helpful. > > > > > Funnily enough I was asking a similar thing on IRC the other day but > didn''t get much luck. We''re implementing Hiera across modules that > require significant amounts of variables. We have a lot of environments > (>20) and we often get problems where someone introduces a new variable, > adds it to a template and tests it in dev but dont add a default, or add > it to each environment, therefore catalog compilation fails in non-dev > environments. > > Ideally I''d like to be able to catch this with rspec-puppet but can''t > see an easy way to say "class bar should have variable foo and it > shouldn''t be undefined", or something when sourcing variables from other > classes or hiera. > > Craig > > -- > Craig Dunn | http://www.craigdunn.org > Yahoo/Skype: craigrdunn | Twitter: @crayfishX > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com (mailto:puppet-users@googlegroups.com). > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com (mailto:puppet-users+unsubscribe@googlegroups.com). > For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Shantanu
2012-Apr-24 20:49 UTC
[Puppet Users] Re: RSpec test to verify variable/parameter declaration
On Apr 23, 5:49 pm, Tim Sharpe <tim@sharpe.id.au> wrote:> So, rspec-puppet can''t and won''t ever work this way. What it''s testing is the resulting catalogue of Puppet resources that your host executes (the behaviour of Puppet). Instead of testing that a variable is defined, you should be testing the resource(s) that those variables control/adjust. > > For example, if your variable changes the templated contents of a file resource, then you should be testing the contents of that file resource. >Thanks for the details Tim. That''s helpful. -- Shantanu -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Markus Falb
2012-Jun-04 08:12 UTC
Re: [Puppet Users] RSpec test to verify variable/parameter declaration
On 24.4.2012 00:49, Tim Sharpe wrote:> So, rspec-puppet can''t and won''t ever work this way. What it''s testing is the resulting catalogue of Puppet resources that your host executes (the behaviour of Puppet). Instead of testing that a variable is defined, you should be testing the resource(s) that those variables control/adjust. > > For example, if your variable changes the templated contents of a file resource, then you should be testing the contents of that file resource.What''s with virtual resources that are realized on another host? Is there any way to test that? -- Kind Regards, Markus Falb