Resolution: Won't Do
Affects Version/s: None
Fix Version/s: None
Sprint:Windows 2016-05-04, Windows 2016-05-18
During Development and testing
MODULES-2634 it was found the beaker-rspec was causing a whole host of issues with readability and tests
- The existence of beaker-rspec was causing a lot of confusion in this
test suite, making it difficult to determine how to invoke Beaker
- Beaker-rspec also appeard to expect that there be -database and
-dashboard roles defined in the node defintions, else it would
error during initial provisioning. Since this test suite does not
require a master, and is significantly slowed with a master present,
remove that requirement and update the node definitions accordingly.
- Beaker-rspec also had an expectation that the BEAKER_setfile env
var was always set (even if trying to use bundle exec beaker
--config at the command line), making for a painful user experience
when trying to run this job.
- Update the node definitions to use PE 2016.1.1 instead of PE 3.2
as the default PE version selected.
- Default the PUPPET_INSTALL_TYPE environment variable to 'agent'
so that this value does not have to be specified directly in
default Beaker command line invocation.
- Remove spec_helper_acceptance and move to a standard Beaker style
pre-suite setup by splitting it into spec/acceptance/setup, files
00-install_puppet.rb and 01_install_module.rb. Continue to use
the `run_puppet_install_helper` command to bootstrap initial agent
install while moving to `install_dev_puppet_module_on` to
bootstrap the module installation on agent nodes. This supports
both local testing / dev, and fake forge usage in the pipeline.
- Ignore the local ./tmp directory which Beaker uses to stange
the Windows installer in.
- Take all of the individual tests in exec_powershell_spec.rb, and
move them into spec/acceptance/tests as individual files. Since
the pre-suite lives inside the spec/acceptance/setup directory
now, --tests spec/acceptance can longer be passed to Beaker as it
would run the pre-suite a second time. This allows for
--pre-suite spec/acceptance/tests to be passed in the invocation
- Remove all rspec concepts - describe / it / expect and shared
examples, rewriting these constructs in vanilla Beaker. Move
individual test teardown (mostly removing files, but in one case
removing global env vars) to the individual tests rather than at
the suite level.
- Fixed the test that verifies pre-existing environment variables
continue to be available in their original state, despite
modifications in manifests. The test, based on envar_ext_test_pp,
had mulitple problems: it was invoking the wrong manifest, and was
manipulating env vars improperly to demonstrate the desired behavior.
- This test setup now allows for individual tests to be exercised
via the command line much more easily