Use strainer to isolate and test individual cookbooks
Included: - Add strainer gem - Update test-related gems - Add Strainer file - Remove run_tests.bash - Update .gitignore - Update README file - Update specs to use require_relative Partial fix for bug 1188345 Change-Id: I6cb9e535212346cccb45f8c41c647b8daa8a4c7d
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,2 @@
|
|||||||
.bundle
|
.bundle/
|
||||||
.cookbooks/
|
|
||||||
Berksfile.lock
|
Berksfile.lock
|
||||||
|
|||||||
9
Gemfile
9
Gemfile
@@ -1,8 +1,9 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "chef", "~> 11.4.4"
|
gem "chef", "~> 11.4.4"
|
||||||
gem "json", "= 1.7.7" # chef 11 dependency
|
gem "json", "<= 1.7.7" # chef 11 dependency
|
||||||
gem "berkshelf", "~> 1.4.0"
|
gem "berkshelf", "~> 1.4.5"
|
||||||
gem "chefspec", "~> 1.2.0"
|
gem "chefspec", "~> 1.2.0"
|
||||||
gem "foodcritic", "~> 2.1.0"
|
gem "foodcritic"
|
||||||
gem "tailor", "~> 1.2.1"
|
gem "strainer"
|
||||||
|
gem "tailor"
|
||||||
|
|||||||
11
Gemfile.lock
11
Gemfile.lock
@@ -165,6 +165,8 @@ GEM
|
|||||||
wasabi (~> 1.0)
|
wasabi (~> 1.0)
|
||||||
solve (0.4.4)
|
solve (0.4.4)
|
||||||
json
|
json
|
||||||
|
strainer (2.1.0)
|
||||||
|
berkshelf (~> 1.3)
|
||||||
systemu (2.5.2)
|
systemu (2.5.2)
|
||||||
tailor (1.2.1)
|
tailor (1.2.1)
|
||||||
log_switch (>= 0.3.0)
|
log_switch (>= 0.3.0)
|
||||||
@@ -196,9 +198,10 @@ PLATFORMS
|
|||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
berkshelf (~> 1.4.0)
|
berkshelf (~> 1.4.5)
|
||||||
chef (~> 11.4.4)
|
chef (~> 11.4.4)
|
||||||
chefspec (~> 1.2.0)
|
chefspec (~> 1.2.0)
|
||||||
foodcritic (~> 2.1.0)
|
foodcritic
|
||||||
json (= 1.7.7)
|
json (<= 1.7.7)
|
||||||
tailor (~> 1.2.1)
|
strainer
|
||||||
|
tailor
|
||||||
|
|||||||
13
README.md
13
README.md
@@ -212,11 +212,15 @@ OSAPI Compute Extentions
|
|||||||
Testing
|
Testing
|
||||||
=====
|
=====
|
||||||
|
|
||||||
This cookbook is using [ChefSpec](https://github.com/acrmp/chefspec) for
|
This cookbook uses [bundler](http://gembundler.com/), [berkshelf](http://berkshelf.com/), and [strainer](https://github.com/customink/strainer) to isolate dependencies and run tests.
|
||||||
testing. Run the following before commiting. It will run your tests,
|
|
||||||
and check for lint errors.
|
|
||||||
|
|
||||||
$ ./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
|
License and Author
|
||||||
==================
|
==================
|
||||||
@@ -234,6 +238,7 @@ License and Author
|
|||||||
| **Author** | Jay Pipes (<jaypipes@att.com>) |
|
| **Author** | Jay Pipes (<jaypipes@att.com>) |
|
||||||
| **Author** | John Dewey (<jdewey@att.com>) |
|
| **Author** | John Dewey (<jdewey@att.com>) |
|
||||||
| **Author** | Craig Tracey (<craigtracey@gmail.com>) |
|
| **Author** | Craig Tracey (<craigtracey@gmail.com>) |
|
||||||
|
| **Author** | Sean Gallagher (<sean.gallagher@att.com>) |
|
||||||
| | |
|
| | |
|
||||||
| **Copyright** | Copyright (c) 2012-2013, Rackspace US, Inc. |
|
| **Copyright** | Copyright (c) 2012-2013, Rackspace US, Inc. |
|
||||||
| **Copyright** | Copyright (c) 2012-2013, Opscode, Inc. |
|
| **Copyright** | Copyright (c) 2012-2013, Opscode, Inc. |
|
||||||
|
|||||||
5
Strainerfile
Normal file
5
Strainerfile
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Strainerfile
|
||||||
|
tailor: bundle exec tailor
|
||||||
|
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
|
||||||
@@ -1,20 +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 tailor
|
|
||||||
bundle exec rspec ${BERKSHELF_PATH}/${COOKBOOK}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
require "spec_helper"
|
require_relative "spec_helper"
|
||||||
|
|
||||||
describe "openstack-compute::ceilometer-agent-central" do
|
describe "openstack-compute::ceilometer-agent-central" do
|
||||||
describe "opensuse" do
|
describe "opensuse" do
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require "spec_helper"
|
require_relative "spec_helper"
|
||||||
|
|
||||||
describe "openstack-compute::ceilometer-agent-central" do
|
describe "openstack-compute::ceilometer-agent-central" do
|
||||||
describe "ubuntu" do
|
describe "ubuntu" do
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require "spec_helper"
|
require_relative "spec_helper"
|
||||||
|
|
||||||
describe "openstack-compute::ceilometer-agent-compute" do
|
describe "openstack-compute::ceilometer-agent-compute" do
|
||||||
describe "ubuntu" do
|
describe "ubuntu" do
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require "spec_helper"
|
require_relative "spec_helper"
|
||||||
|
|
||||||
describe "openstack-compute::ceilometer-common" do
|
describe "openstack-compute::ceilometer-common" do
|
||||||
describe "opensuse" do
|
describe "opensuse" do
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require "spec_helper"
|
require_relative "spec_helper"
|
||||||
|
|
||||||
describe "openstack-compute::ceilometer-common" do
|
describe "openstack-compute::ceilometer-common" do
|
||||||
describe "ubuntu" do
|
describe "ubuntu" do
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require "spec_helper"
|
require_relative "spec_helper"
|
||||||
|
|
||||||
describe "openstack-compute::libvirt" do
|
describe "openstack-compute::libvirt" do
|
||||||
before do
|
before do
|
||||||
|
|||||||
Reference in New Issue
Block a user