The Puppet Enterprise (PE) Beaker Library
The PE Beaker library contains all PE-specific
- installation methods
- helpers
that help someone acceptance test PE easier with Beaker.
- Rubydocs contain the technical reference for APIs and other aspects of beaker-pe. They describe how it works and how to use it but assume that you have a basic understanding of key concepts.
- How-to guides are recipes. They guide you through the steps involved in addressing key problems and use-cases. For instance, checkout our How-to Install Puppet Enterprise doc.
If you've used beaker-pe previously (during the 0.y versions), you'll have to change the way that you include beaker-pe for 1.y versions & beyond.
Before, you could just include beaker itself and you'd get beaker-pe because beaker required beaker-pe. With beaker 3.0, this dependency has been taken out of beaker. Now to use beaker-pe, you'll have to do two things:
- add a beaker-pe requirement as a sibling to your current beaker gem requirement
- put a
require 'beaker-pe'
statement in your tests/code that need beaker-pe-specific functionality
Spec tests all live under the spec
folder. These are the default rake task, &
so can be run with a simple bundle exec rake
, as well as being fully specified
by running bundle exec rake test:spec:run
or using the test:spec
task.
There are also code coverage tests built into the template, which can be run
with spec testing by running the test:spec:coverage
rake task.
Acceptance tests live in the acceptance/tests
folder. These are Beaker tests,
& are dependent on having Beaker installed. Note that this will happen with a
bundle install
execution, but can be avoided if you're not looking to run
acceptance tests by ignoring the acceptance_testing
gem group.
You can run the acceptance testing suite by invoking the test:acceptance
rake
task. It should be noted that this is a shortcut for the test:acceptance:quick
task, which is named as such because it uses no pre-suite. This uses a default
provided hosts file for acceptance under the acceptance/config
directory. If
you'd like to provide your own hosts file, set the CONFIG
environment variable.
To release new versions, we use a Jenkins job (access to internal infrastructure will be required to view job).
To release a new version (from the master branch), you'll need to just provide a new beaker-pe version number to the job, and you're off to the races.
If you have questions, please reach out to our MAINTAINERS.