[chef] Re: Re: Re: ChefSpec for LWRPs without recipes...


Chronological Thread 
  • From: Mike < >
  • To: " " < >
  • Subject: [chef] Re: Re: Re: ChefSpec for LWRPs without recipes...
  • Date: Wed, 1 May 2013 12:38:15 -0400

John is right - it's becoming common to provide an empty default.rb
for a cookbook that doesn't have any recipes.

On Wed, May 1, 2013 at 12:34 PM, John Dewey 
< >
 wrote:
>
> I believe you can simply create an empty default.rb,
> and "step into" the LWRP you wish to test.
>
> John
>
> On Wed, May 01, 2013 at 10:12:18PM +0545, millisami r wrote:
>>    +1
>>
>>    I m too kinda similar situation.
>>    On Wednesday, May 1, 2013, Bryan Stenson wrote:
>>
>>    Ohai!
>>    Following the cookbook pattern described in the "Berkshelf Way", I'm
>>    trying to create a library cookbook which contains some custom LWRPs.
>>    This library cookbook will not have any meaningful recipe on its
>>    own...it will only supply providers and resources to be consumed by
>>    application cookbooks.
>>    I'd like to test the library cookbook separately, and I think ChefSpec
>>    is the correct approach for unit testing.  I see that ChefSpec takes a
>>    recipe list when "converging", but, since my library cookbook won't
>>    have recipes, I don't have one to give to ChefRunner.
>>    I suppose I'd like some suggestions/experiences on how to do this.
>>    From my perspective, I can see at least two ways to solve it (with a
>>    STRONG preference on the latter):
>>    1. Create a "lwrp_testing.rb" recipe which will specifically call out
>>    to each LWRP the library cookbook provides.  I don't like this cause
>>    then I've got a testing recipe floating around which COULD be applied
>>    to a node in production - and that's just silly.  I could prefix this
>>    recipe with a "_" (as in, "_lwrp_testing.rb"), but again, it feels like
>>    a hack.
>>    2. Create a recipe fixture for testing the LWRP for use only during
>>    ChefSpec runs.  The recipe would only exist in the context of a
>>    ChefSpec run, and allow for valid exercise of the underlying LWRPs
>>    during testing...at the same time, the recipe would not exist "for
>>    reals" in the cookbook, and couldn't be assigned to a run_list.  This
>>    seems like an elegant approach (design wise), but my Ruby skills are
>>    not to the level they should be to easily implement this.  Anybody else
>>    try this?
>>    Or, perhaps there's another solution I'm overlooking?
>>    Thanks for your thoughts.
>>    Bryan
>>    PS - Thanks to everybody for another great ChefConf!
>>
>>    --
>>    @millisami
>>    ~Sachin Sagar Rai
>>    Ruby on Rails Developer
>>    [1]http://tfm.com.np
>>    [2]http://nepalonrails.com
>>
>> References
>>
>>    1. http://tfm.com.np/
>>    2. http://nepalonrails.com/



Archive powered by MHonArc 2.6.16.

§