[chef] Re: Re: Using Minitest for "Other" Resources


Chronological Thread 
  • From: "Nguyen, Dang" < >
  • To: " " < >
  • Subject: [chef] Re: Re: Using Minitest for "Other" Resources
  • Date: Thu, 1 Nov 2012 17:19:48 -0700
  • Accept-language: en-US
  • Acceptlanguage: en-US

This doesn't address the minitest question, but it's a handy way to check for a required gem. It doesn't narrow the possibilities down to a specific version, but it can be a quick sanity check.

Simply try requiring the gem, wrapped inside a begin/rescue block:

begin
require 'httparty'
rescue LoadError
Chef::Log.warn("Missing gem 'httparty'")
chef_gem 'httparty'   ## go ahead and install the gem once you've found it's missing.
require 'httparty' ## then require it again
end

Dang H. Nguyen


On 11/1/12 2:34 PM, "David Petzel" < "> > wrote:

Any chance, someone has any advice for me on this? I've restored to doing a system call and gem list as a totally hack workaround, given the multitude of ways it could not work right, but my ruby skillz are not top notch, and I'm struggling to understand how I might expose the resource for testing like shown below.

Any advice at all would be greatly appreciated.
Thanks

On Wed, Oct 31, 2012 at 11:36 AM, < " target="_blank"> > wrote:
Sorry if this is a dumb question, but I'm not having much luck in finding an
answer.

I've been using minitests for a short while now in my recipes, so I have a
basic understanding of how it works.  What I'm trying to figure out is how to
test a resource that is not one of the pre-defined ones here:
https://github.com/calavera/minitest-chef-handler/blob/master/lib/minitest-chef-handler/resources.rb#L31

Specifically what I'm trying to do is something like:
chef_gem("blah").must_be_installed

Whats the best/proper way to be able to that? I tried the above, and it of
course didn't work.  I was also trying to see if I could use the pre-defined
package resource and specify the provider, like you might do in a recipe,
without success.




Archive powered by MHonArc 2.6.16.

§