From f213860f8628ca870c9b2d2fbc06969a49a1c681 Mon Sep 17 00:00:00 2001 From: Mikhail Zholobov Date: Sun, 23 Apr 2017 17:41:32 +0200 Subject: [PATCH 1/5] Use Berkshelf for dep resolving in ChefSpec Policyfile resolver for ChefSpec requires "chef-dk" gem, which has pretty big dependency tree. So, for unit tests it's better just to use Berkshelf. --- Berksfile | 8 ++++++++ Gemfile | 2 +- test/spec/spec_helper.rb | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 Berksfile diff --git a/Berksfile b/Berksfile new file mode 100644 index 00000000..05d9a8e5 --- /dev/null +++ b/Berksfile @@ -0,0 +1,8 @@ +source 'https://supermarket.chef.io' + +metadata + +group :integration do + cookbook 'selinux' + cookbook 'consul_spec', path: 'test/fixtures/cookbooks/consul_spec' +end diff --git a/Gemfile b/Gemfile index 50655c4a..ddac9379 100644 --- a/Gemfile +++ b/Gemfile @@ -11,7 +11,7 @@ group :lint do end group :unit, :integration do - gem 'chef-dk', '~> 1.0' + gem 'berkshelf' gem 'chefspec' gem 'rubyzip' gem 'serverspec' diff --git a/test/spec/spec_helper.rb b/test/spec/spec_helper.rb index cdcaa92e..514ce44a 100644 --- a/test/spec/spec_helper.rb +++ b/test/spec/spec_helper.rb @@ -1,5 +1,5 @@ require 'chefspec' -require 'chefspec/policyfile' +require 'chefspec/berkshelf' require 'poise_boiler/spec_helper' require_relative '../../libraries/helpers' From b18f4eee23c77fd95e2a00ed92f94f35a0499c61 Mon Sep 17 00:00:00 2001 From: Mikhail Zholobov Date: Sun, 23 Apr 2017 18:01:54 +0200 Subject: [PATCH 2/5] Disable CodeClimate reporter --- test/spec/spec_helper.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/test/spec/spec_helper.rb b/test/spec/spec_helper.rb index 514ce44a..054bcd22 100644 --- a/test/spec/spec_helper.rb +++ b/test/spec/spec_helper.rb @@ -2,6 +2,3 @@ require 'chefspec/berkshelf' require 'poise_boiler/spec_helper' require_relative '../../libraries/helpers' - -require 'codeclimate-test-reporter' -CodeClimate::TestReporter.start From 949cca0edb43eabf99497f21d17de01811add6c8 Mon Sep 17 00:00:00 2001 From: Mikhail Zholobov Date: Sun, 23 Apr 2017 18:05:35 +0200 Subject: [PATCH 3/5] Gemfile: Remove unnecessary gems --- Gemfile | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/Gemfile b/Gemfile index ddac9379..1ef183e0 100644 --- a/Gemfile +++ b/Gemfile @@ -1,28 +1,14 @@ +# This gemfile provides additional gems for testing and releasing this cookbook +# It is meant to be installed on top of ChefDK which provides the majority +# of the necessary gems for testing this cookbook +# +# Run 'chef exec bundle install' to install these dependencies + source 'https://rubygems.org' + +gem 'berkshelf' gem 'poise', '~> 2.2' -gem 'poise-service', '~> 1.0' gem 'poise-boiler' -gem 'chef-sugar' - -group :lint do - gem 'cookstyle', '~> 1.0' - gem 'rubocop' - gem 'foodcritic' -end - -group :unit, :integration do - gem 'berkshelf' - gem 'chefspec' - gem 'rubyzip' - gem 'serverspec' - gem 'rb-readline' -end - -group :development do - gem 'awesome_print' - gem 'stove' -end - -group :doc do - gem 'yard' -end +gem 'poise-service', '~> 1.0' +gem 'rb-readline' +gem 'stove' From 99a9b9bb77b93e01236084db5822a6e326844eff Mon Sep 17 00:00:00 2001 From: Mikhail Zholobov Date: Sun, 23 Apr 2017 18:10:16 +0200 Subject: [PATCH 4/5] Use Chef Delivery CLI to run spec and style checks --- .delivery/project.toml | 9 +++++++++ .travis.yml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .delivery/project.toml diff --git a/.delivery/project.toml b/.delivery/project.toml new file mode 100644 index 00000000..3d104906 --- /dev/null +++ b/.delivery/project.toml @@ -0,0 +1,9 @@ +[local_phases] +unit = "bundle exec rspec test/spec/" +lint = 'cookstyle --display-cop-names --extra-details' +syntax = "foodcritic ." +provision = "echo skipping" +deploy = "echo skipping" +smoke = "echo skipping" +functional = "echo skipping" +cleanup = "echo skipping" diff --git a/.travis.yml b/.travis.yml index ef3ce579..ced2889c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,7 @@ matrix: include: - script: - bundle install - - bundle exec rake + - chef exec delivery local all env: UNIT_AND_LINT=1 notifications: From 0324cfa8862077a8caef85826659404f204a10c4 Mon Sep 17 00:00:00 2001 From: Mikhail Zholobov Date: Sun, 23 Apr 2017 18:10:44 +0200 Subject: [PATCH 5/5] Add "chef_version" to metadata --- metadata.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/metadata.rb b/metadata.rb index f74a52d2..66439bd7 100644 --- a/metadata.rb +++ b/metadata.rb @@ -25,3 +25,5 @@ source_url 'https://github.com/johnbellone/consul-cookbook' if respond_to?(:source_url) issues_url 'https://github.com/johnbellone/consul-cookbook/issues' if respond_to?(:issues_url) + +chef_version '>= 12.1' if respond_to?(:chef_version)