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.

Reply via email to