Skip to content

Latest commit

 

History

History
76 lines (46 loc) · 2.04 KB

TESTING.md

File metadata and controls

76 lines (46 loc) · 2.04 KB

This cookbook uses a variety of testing components:

Prerequisites

To develop on this cookbook, you must have a sane Ruby 1.9+ environment. Given the nature of this installation process (and it's variance across multiple operating systems), we will leave this installation process to the user.

You must also have bundler installed:

$ gem install bundler

You must also have Vagrant and VirtualBox installed:

Once installed, you must install the vagrant-berkshelf and vagrant-omnibus plugins:

$ vagrant plugin install vagrant-berkshelf vagrant-omnibus

Development

  1. Clone the git repository from GitHub:

     $ git clone [email protected]:chef-cookbooks/COOKBOOK.git
    
  2. Install the dependencies using bundler:

     $ bundle install
    
  3. Create a branch for your changes:

     $ git checkout -b my_bug_fix
    
  4. Make any changes

  5. Write tests to support those changes. It is highly recommended you write both unit and integration tests.

  6. Run the tests:

    • bundle exec rspec
    • bundle exec foodcritic .
    • bundle exec rubocop
    • bundle exec kitchen test
  7. Assuming the tests pass, open a Pull Request on GitHub

  8. Open a JIRA ticket for this compontent, linking the JIRA ticket to the Pull Request and visa versa.

  9. Mark the JIRA ticket as "Fix Provided"

For more information, see Chef's Contribution Guidelines.

Using the Rake tasks

The Rakefile is a work in progress. To run all tests:

    $ rake test

Rubocop:

	$ rake style:rubocop

Foodcritic:

	$ rake style:foodcritic

ChefSpec:

	$ rake unit:chefspec

Integration (currently only test-kitchen):

	$ rake integration