From 1bc1272adecce72b30cd53a6d52b71e94434e503 Mon Sep 17 00:00:00 2001 From: JJ Asghar Date: Tue, 8 Jul 2014 14:24:37 -0500 Subject: [PATCH] This is to get closer to 100% chefspec coverage Ok, I admit it, it's only 94% but it's getting closer. Change-Id: Ice7c47863a6e545a15366cd909e4d7c37cd397c8 --- Gemfile | 6 +++--- spec/api_spec.rb | 8 ++++++++ spec/cinder_common_spec.rb | 12 ++++++++++++ spec/scheduler_spec.rb | 1 + spec/volume_spec.rb | 8 ++++++++ 5 files changed, 32 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index f345dd0..8698392 100644 --- a/Gemfile +++ b/Gemfile @@ -1,12 +1,12 @@ # encoding: UTF-8 source 'https://rubygems.org' -gem 'chef', '~> 11.8' +gem 'chef', '~> 11.12' gem 'json', '<= 1.7.7' # chef 11 dependency gem 'berkshelf', '~> 2.0.18' gem 'hashie', '~> 2.0' -gem 'chefspec', '~> 3.4.0' -gem 'rspec', '~> 2.14.1' +gem 'chefspec', '~> 4.0.0' +gem 'rspec', '~> 3.0.0' gem 'foodcritic', '~> 3.0.3' gem 'strainer' gem 'rubocop', '~> 0.18.1' diff --git a/spec/api_spec.rb b/spec/api_spec.rb index 9b5739c..d7707f5 100644 --- a/spec/api_spec.rb +++ b/spec/api_spec.rb @@ -38,6 +38,10 @@ describe 'openstack-block-storage::api' do describe '/var/cache/cinder' do let(:dir) { chef_run.directory('/var/cache/cinder') } + it 'should create the directory' do + expect(chef_run).to create_directory(dir.name) + end + it 'has proper owner' do expect(dir.owner).to eq('cinder') expect(dir.group).to eq('cinder') @@ -55,6 +59,10 @@ describe 'openstack-block-storage::api' do describe 'api-paste.ini' do let(:file) { chef_run.template('/etc/cinder/api-paste.ini') } + it 'should create api-paste.ini' do + expect(chef_run).to create_template(file.name) + end + it 'has proper owner' do expect(file.owner).to eq('cinder') expect(file.group).to eq('cinder') diff --git a/spec/cinder_common_spec.rb b/spec/cinder_common_spec.rb index 2b0f4a5..5ab072e 100644 --- a/spec/cinder_common_spec.rb +++ b/spec/cinder_common_spec.rb @@ -24,6 +24,10 @@ describe 'openstack-block-storage::cinder-common' do describe '/etc/cinder' do let(:dir) { chef_run.directory('/etc/cinder') } + it 'should create the /etc/cinder directory' do + expect(chef_run).to create_directory(dir.name) + end + it 'has proper owner' do expect(dir.owner).to eq('cinder') expect(dir.group).to eq('cinder') @@ -37,6 +41,10 @@ describe 'openstack-block-storage::cinder-common' do describe 'cinder.conf' do let(:file) { chef_run.template('/etc/cinder/cinder.conf') } + it 'should create the cinder.conf template' do + expect(chef_run).to create_template(file.name) + end + it 'has proper owner' do expect(file.owner).to eq('cinder') expect(file.group).to eq('cinder') @@ -719,6 +727,10 @@ describe 'openstack-block-storage::cinder-common' do describe '/var/lock/cinder' do let(:dir) { chef_run.directory('/var/lock/cinder') } + it 'should create the /var/lock/cinder directory' do + expect(chef_run).to create_directory(dir.name) + end + it 'has proper owner' do expect(dir.owner).to eq('cinder') expect(dir.group).to eq('cinder') diff --git a/spec/scheduler_spec.rb b/spec/scheduler_spec.rb index 4f6ab2c..2de22d0 100644 --- a/spec/scheduler_spec.rb +++ b/spec/scheduler_spec.rb @@ -55,6 +55,7 @@ describe 'openstack-block-storage::scheduler' do [:weekday, '*'], [:month, '*'], [:user, 'cinder']] crontests.each do |k, v| expect(cron.send(k)).to eq v + expect(chef_run).to create_cron('cinder-volume-usage-audit') end expect(cron.action).to include :create end diff --git a/spec/volume_spec.rb b/spec/volume_spec.rb index ee7590a..8894aed 100644 --- a/spec/volume_spec.rb +++ b/spec/volume_spec.rb @@ -205,6 +205,10 @@ describe 'openstack-block-storage::volume' do it 'configures storewize private key' do san_key = chef_run.file chef_run.node['openstack']['block-storage']['san']['san_private_key'] expect(san_key.mode).to eq('0400') + expect(chef_run).to create_file('/v7000_rsa').with( + user: 'cinder', + group: 'cinder' + ) end context 'ISCSI' do @@ -233,6 +237,10 @@ describe 'openstack-block-storage::volume' do describe 'targets.conf' do let(:file) { chef_run.template('/etc/tgt/targets.conf') } + it 'should create the targets.conf' do + expect(chef_run).to create_template(file.name) + end + it 'has proper modes' do expect(sprintf('%o', file.mode)).to eq '600' end