diff --git a/.gitignore b/.gitignore index 1142e2d..c6ba7b7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ -.bundle -.cookbooks/ +.bundle/ Berksfile.lock diff --git a/Gemfile b/Gemfile index e5ab73c..e8527c1 100644 --- a/Gemfile +++ b/Gemfile @@ -2,6 +2,7 @@ source "https://rubygems.org" gem "chef", "~> 11.4.4" gem "json", "<= 1.7.7" # chef 11 dependency -gem "berkshelf", "~> 1.4.0" +gem "berkshelf", "~> 1.4.5" gem "chefspec", "~> 1.2.0" -gem "foodcritic", "~> 2.1.0" +gem "foodcritic" +gem "strainer" diff --git a/Gemfile.lock b/Gemfile.lock index c81dc1c..0af241a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -164,6 +164,8 @@ GEM wasabi (~> 1.0) solve (0.4.4) json + strainer (2.1.0) + berkshelf (~> 1.3) systemu (2.5.2) thor (0.18.1) timers (1.1.0) @@ -187,8 +189,9 @@ PLATFORMS ruby DEPENDENCIES - berkshelf (~> 1.4.0) + berkshelf (~> 1.4.5) chef (~> 11.4.4) chefspec (~> 1.2.0) - foodcritic (~> 2.1.0) + foodcritic json (<= 1.7.7) + strainer diff --git a/README.md b/README.md index 8a080e8..89531f8 100644 --- a/README.md +++ b/README.md @@ -128,11 +128,15 @@ Attributes for the Image service are in the ['openstack']['image'] namespace. Testing ===== -This cookbook is using [ChefSpec](https://github.com/acrmp/chefspec) for -testing. Run the following before commiting. It will run your tests, -and check for lint errors. +This cookbook uses [bundler](http://gembundler.com/), [berkshelf](http://berkshelf.com/), and [strainer](https://github.com/customink/strainer) to isolate dependencies and run tests. - $ ./run_tests.bash +Tests are defined in Strainerfile. + +To run tests: + + $ bundle install # install gem dependencies + $ bundle exec berks install # install cookbook dependencies + $ bundle exec strainer test # run tests License and Author ================== @@ -148,6 +152,7 @@ Author:: Matt Ray () Author:: Jay Pipes () Author:: John Dewey () Author:: Craig Tracey () +Author:: Sean Gallagher () Copyright 2012, Rackspace US, Inc. Copyright 2012-2013, Opscode, Inc. diff --git a/Strainerfile b/Strainerfile new file mode 100644 index 0000000..541388e --- /dev/null +++ b/Strainerfile @@ -0,0 +1,4 @@ +# Strainerfile +knife test: bundle exec knife cookbook test $COOKBOOK +foodcritic: bundle exec foodcritic -f any -t ~FC003 -t ~FC023 $SANDBOX/$COOKBOOK +chefspec: bundle exec rspec $SANDBOX/$COOKBOOK/spec diff --git a/run_tests.bash b/run_tests.bash deleted file mode 100755 index 141e8ee..0000000 --- a/run_tests.bash +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -# A script to run tests locally before committing. - -set -e - -COOKBOOK=$(awk '/^name/ {print $NF}' metadata.rb |tr -d \"\') -if [ -z $COOKBOOK ]; then - echo "Cookbook name not defined in metadata.rb" - exit 1 -fi - -BUNDLE_PATH=${BUNDLE_PATH:-.bundle} -BERKSHELF_PATH=${BERKSHELF_PATH:-.cookbooks} - -bundle install --path=${BUNDLE_PATH} -bundle exec berks install --path=${BERKSHELF_PATH} -bundle exec foodcritic -f any -t ~FC003 -t ~FC023 ${BERKSHELF_PATH}/${COOKBOOK} -bundle exec rspec ${BERKSHELF_PATH}/${COOKBOOK} diff --git a/spec/identity_registration_spec.rb b/spec/identity_registration_spec.rb index a796b91..cb87987 100644 --- a/spec/identity_registration_spec.rb +++ b/spec/identity_registration_spec.rb @@ -1,4 +1,4 @@ -require "spec_helper" +require_relative "spec_helper" describe "openstack-image::identity_registration" do before do