How would you modify non-param variables? Basically, this is a temporary variable that should be generated and not used elsewhere.
I'm thinking that a mock is the only real way to solve this. Thanks, Trevor On Mon, Mar 31, 2014 at 2:07 AM, Johan De Wit <[email protected]> wrote: > On 28/03/14 18:53, Trevor Vaughan wrote: > > Yep, but I need the value of $bar to figure out what the later resource > name is! > > A better example: > > class foo { > $bar = interesting_function('baz') > > file { "/some/path/$bar": > content => 'whatever' > } > } > > Aren't we mixing some things here ? > > IMHO, what should be tested is that, given $bar a 'value', no matter what > the source of that value is (be it generates using a function, provided by > hiera or given as parameter during classification). > > In your spec file, just assign a 'value' to $bar, and just test that value > is the resource > > > let(:param) { { :bar => 'somevalue' } } > > it should contain_file('/some/path/somevalue).with_content(/whatever/) > > Thats about your test for your class. > > > The second test you could do, is to test your function with rspec : > > it { should run.with_params('foo').and_return('somevalue') } > > > > > > So, given that I don't necessarily know what interesting_function is > going to generate, I need to actually run it to get the result. > > Thanks, > > Trevor > > > On Fri, Mar 28, 2014 at 12:23 PM, James Sweeny < > [email protected]> wrote: > >> I could be way off here, but shouldn't you be testing the resource $bar >> ends up in, rather than the value of $bar itself? >> >> >> On Fri, Mar 28, 2014 at 11:15 AM, Trevor Vaughan < >> [email protected]> wrote: >> >>> Hmm...so you're saying that I would mock the variable result with the >>> real function to get the real result? >>> >>> That's doesn't make me super happy but if it works, I'll take it! >>> >>> Trevor >>> >>> >>> On Fri, Mar 28, 2014 at 11:26 AM, Johan De Wit <[email protected]>wrote: >>> >>>> I stumbled against this text : >>>> >>>> you can write a mock function my_mock_function.rb and put it under >>>> >>>> {module name}/spec / fixtures / modules / {module name}/ lib / puppet / >>>> parser / >>>> >>>> If you put the real function(s) so there ? >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> On 28/03/14 15:39, Trevor Vaughan wrote: >>>> >>>> Hopefully I didn't just overlook this in the docs but, in >>>> rspec-puppet, how would you go about getting the value of $bar from the >>>> following? >>>> >>>> class foo { >>>> $bar = interesting_function('baz') >>>> } >>>> >>>> I've inspected everything that I think is obvious and I don't want to >>>> try and stub what 'interesting_function' should be doing since it's >>>> dynamic. >>>> >>>> Any ideas? >>>> >>>> Thanks, >>>> >>>> Trevor >>>> >>>> -- >>>> Trevor Vaughan >>>> Vice President, Onyx Point, Inc >>>> (410) 541-6699 <%28410%29%20541-6699> >>>> [email protected] >>>> >>>> -- This account not approved for unencrypted proprietary information -- >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Puppet Developers" 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-dev/CANs%2BFoVY%3DCtqRSjbOQYN-j%2B9PCkfYbXnGW-9qPOf1R6ZB%3DtNSA%40mail.gmail.com<https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoVY%3DCtqRSjbOQYN-j%2B9PCkfYbXnGW-9qPOf1R6ZB%3DtNSA%40mail.gmail.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 Introduction Course | >>>> http://www.open-future.be/puppet-introduction-course-14th-april >>>> >>>> Puppet Advanced Training | >>>> http://www.open-future.be/puppet-advanced-training-15-till-17th-april >>>> >>>> Linux Training | >>>> https://www.open-future.be/linux-training-5-till-9th-may >>>> >>>> Puppet Introduction Course | >>>> https://www.open-future.be/puppet-introduction-course-12th-may >>>> >>>> Subscribe to our newsletter: http://eepurl.com/BUG8H >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Puppet Developers" 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-dev/5335948B.5070003%40open-future.be<https://groups.google.com/d/msgid/puppet-dev/5335948B.5070003%40open-future.be?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> Trevor Vaughan >>> Vice President, Onyx Point, Inc >>> (410) 541-6699 <%28410%29%20541-6699> >>> [email protected] >>> >>> -- This account not approved for unencrypted proprietary information -- >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Puppet Developers" 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-dev/CANs%2BFoVR2zGd_Tj4BTdb-UvRQnLpU%3D7vBRHOfPN3JTi%2BJHVJOA%40mail.gmail.com<https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoVR2zGd_Tj4BTdb-UvRQnLpU%3D7vBRHOfPN3JTi%2BJHVJOA%40mail.gmail.com?utm_medium=email&utm_source=footer>. >>> >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> >> James Sweeny >> Professional Services >> http://puppetlabs.com/ >> >> *Join us at PuppetConf 2014, September 23-24 in San Francisco - >> http://2014.puppetconf.com <http://2014.puppetconf.com>* >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Developers" 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-dev/CAKDACKubSgMpn2gfmFjrRV4N5vGRzXk4oyDrb5BW9FRyE8iJ8Q%40mail.gmail.com<https://groups.google.com/d/msgid/puppet-dev/CAKDACKubSgMpn2gfmFjrRV4N5vGRzXk4oyDrb5BW9FRyE8iJ8Q%40mail.gmail.com?utm_medium=email&utm_source=footer>. >> >> >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Trevor Vaughan > Vice President, Onyx Point, Inc > (410) 541-6699 > [email protected] > > -- This account not approved for unencrypted proprietary information -- > -- > You received this message because you are subscribed to the Google Groups > "Puppet Developers" 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-dev/CANs%2BFoVrJ_Lw%3Dm940eu1io1dCZn-dPObaSgARZecx-rDu2rbyg%40mail.gmail.com<https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoVrJ_Lw%3Dm940eu1io1dCZn-dPObaSgARZecx-rDu2rbyg%40mail.gmail.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 Introduction Course | > http://www.open-future.be/puppet-introduction-course-14th-april > > Puppet Advanced Training | > http://www.open-future.be/puppet-advanced-training-15-till-17th-april > > Linux Training | https://www.open-future.be/linux-training-5-till-9th-may > > Puppet Introduction Course | > https://www.open-future.be/puppet-introduction-course-12th-may > > Subscribe to our newsletter: http://eepurl.com/BUG8H > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Developers" 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-dev/53390619.8060804%40open-future.be<https://groups.google.com/d/msgid/puppet-dev/53390619.8060804%40open-future.be?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- Trevor Vaughan Vice President, Onyx Point, Inc (410) 541-6699 [email protected] -- This account not approved for unencrypted proprietary information -- -- You received this message because you are subscribed to the Google Groups "Puppet Developers" 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-dev/CANs%2BFoX9RKi7Cmmn3prHsqTLEC6EEWS-vC7ihh4Cg05S9dKPqw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
