Ask Your Question

Testing Puppet manifests at multiple levels, what are the tools available and how maintained are they ?

asked 2014-11-14 12:53:18 -0600

gCardinal gravatar image

I am admittedly new to the world of Puppet, so I'm not that aware of what the community is talking about and what's coming up for Puppet.

That being said, looking around I see many tools that don't seem to have the support required.

  • rspec-puppet: Last commit was a pull request 22 days ago with the last commit done by the author more than 2 months ago
  • hiera-puppet-helper: A tool that I find amazing to mock hiera data so the tests and their results aren't bound by the real hiera data. Yet its last update was on Sep 18, 2013
  • rspec-puppet-unit-testing: This tool seemed really nice to do real unit tests on modules, as it is now I haven't found a tool that allows mocking other modules so unit testing isn't really possible. Last update 8 months ago...
  • beaker: The only tool I found that is actively worked on. Only downside is that Windows support is... Very limited. At least from my experience.

Right now, I have two testing levels:

  • Acceptance
    • Done with Serverspec (like I said, I couldn't get beaker to behave properly on Windows...)
    • What I can test is limited, but I least I can test
  • Integration
    • Done with rspec-puppet and hiera-puppet-helper to create fake hiera data
    • I really like how I don't have to deal with symlinks (on Windows, eww) and can change my actually hiera data without changing my tests' expected data

It works, but seeing as those projects are... let's say on the slow burner, I want to know what you guys use to test your modules. What's your setup like? Did you fork those project to keep them updated or do you simply keep using the last stable versions? Is testing in the Puppet world too young? I feel as if the frameworks and tools for this aren't mature yet. Am I just missing something?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2014-11-17 16:22:42 -0600

You may want to look at the puppet source code to see how we do it.

And for modules, you could look at and for some examples.

edit flag offensive delete link more


Thanks for pointing those out, I'll look them up!!

gCardinal gravatar imagegCardinal ( 2014-11-18 08:31:11 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2014-11-14 12:53:18 -0600

Seen: 1,033 times

Last updated: Nov 17 '14