[chef] Re: Re: Access attributes in serverspec tests excuted in a report handler


Chronological Thread 
  • From: Sander van Zoest < >
  • To:
  • Subject: [chef] Re: Re: Access attributes in serverspec tests excuted in a report handler
  • Date: Tue, 17 Feb 2015 23:56:24 -0800



On Thu, Feb 12, 2015 at 5:00 PM, Phil Mocek < " target="_blank"> > wrote:
"> wrote:
> Is it possible to access the attributes of the current chef run in
> these rspec-tests? And when, how?

Julian C. Dunn responded:
> I don't recommend this approach, because you're conflating the
> variables of the system under test with the test vectors, so how do
> you know if you have a valid test?

What do others recommend doing to verify, for example, that use of a
recipe results in a file existing in a location described in a node
attribute?  The recipe I want to test includes golang::default,
downloads some source code, then creates files in a subdirectory of
node['go']['gopath'].

I'm considering these options:

 - Hard-coding the default values of applicable node attributes
   in my serverspec tests
 - Overriding the attributes in .kitchen.yml and hard-coding the
   override values in my tests
 - [Dumping attributes with a helper cookbook][1], then loading
   the result in my tests
 - Figuring out where the "property" hash in the [apache2
   cookbook's tests][2] comes from and doing something similar

The property hash comes from the per platform fixtures at test/fixtures/platforms. They are per platform static attributes.
I would have just used the ones in .kitchen.yml, but with needing to test permutations on each of the platforms, having
several suites would make it way to complex. The idea came from serverspec (http://serverspec.org/advanced_tips.html),
I just applied it to chefspec as well.


-- Sander




Archive powered by MHonArc 2.6.16.

§