Uploaded image for project: 'Modules'
  1. Modules
  2. MODULES-3285

Remove beaker-rspec from Powershell Module test suite

    XMLWordPrintable

Details

    • Task
    • Status: Resolved
    • Normal
    • Resolution: Won't Do
    • None
    • None
    • powershell
    • Hide

      The same acceptance tests are exercised but using vanilla beaker syntax
      No addtional tests added
      No tests removed

      Show
      The same acceptance tests are exercised but using vanilla beaker syntax No addtional tests added No tests removed
    • Modules
    • 2
    • Windows 2016-05-04, Windows 2016-05-18

    Description

      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
        properly.
      • 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
        to Beaker.
      • 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

      Attachments

        Issue Links

          Activity

            People

              glenn.sarti Glenn Sarti
              glenn.sarti Glenn Sarti
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support