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


Chronological Thread 
  • From: John Dewey < >
  • To:
  • Subject: [chef] Re: Re: ChefSpec for LWRPs without recipes...
  • Date: Wed, 1 May 2013 09:34:54 -0700


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.

§