Test cleanups for chefspec 1.3.0

ChefSpec 1.3.0 allows tests to evaluate guards.  Wired in
this cookbook to use that functionality.  Made tests a
bit clearer, and better utilize the block_storage_stubs.

Change-Id: Ib2e3ee8e00bdc5fb5dcda6b48beb0c405e9d8b92
This commit is contained in:
John Dewey 2013-06-07 13:55:24 -07:00
parent 16d36e2acc
commit e2fc07597b
11 changed files with 44 additions and 46 deletions

View File

@ -3,6 +3,6 @@ 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.5" gem "berkshelf", "~> 1.4.5"
gem "chefspec", "~> 1.2.0" gem "chefspec", "~> 1.3.0"
gem "foodcritic" gem "foodcritic"
gem "strainer" gem "strainer"

View File

@ -42,7 +42,7 @@ GEM
ohai (>= 0.6.0) ohai (>= 0.6.0)
rest-client (>= 1.0.4, < 1.7.0) rest-client (>= 1.0.4, < 1.7.0)
yajl-ruby (~> 1.1) yajl-ruby (~> 1.1)
chefspec (1.2.0) chefspec (1.3.0)
chef (>= 10.0) chef (>= 10.0)
erubis erubis
fauxhai (>= 0.1.1, < 2.0) fauxhai (>= 0.1.1, < 2.0)
@ -191,7 +191,7 @@ PLATFORMS
DEPENDENCIES DEPENDENCIES
berkshelf (~> 1.4.5) berkshelf (~> 1.4.5)
chef (~> 11.4.4) chef (~> 11.4.4)
chefspec (~> 1.2.0) chefspec (~> 1.3.0)
foodcritic foodcritic
json (<= 1.7.7) json (<= 1.7.7)
strainer strainer

View File

@ -1,9 +1,9 @@
require_relative "spec_helper" require_relative "spec_helper"
describe "openstack-block-storage::api" do describe "openstack-block-storage::api" do
before { block_storage_stubs }
describe "redhat" do describe "redhat" do
before do before do
block_storage_stubs
@chef_run = ::ChefSpec::ChefRunner.new ::REDHAT_OPTS @chef_run = ::ChefSpec::ChefRunner.new ::REDHAT_OPTS
@chef_run.converge "openstack-block-storage::api" @chef_run.converge "openstack-block-storage::api"
end end

View File

@ -1,12 +1,12 @@
require_relative "spec_helper" require_relative "spec_helper"
describe "openstack-block-storage::api" do describe "openstack-block-storage::api" do
before { block_storage_stubs }
describe "ubuntu" do describe "ubuntu" do
before do before do
block_storage_stubs @chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS do |n|
@chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS n.set["openstack"]["block-storage"]["syslog"]["use"] = true
@node = @chef_run.node end
@node.set["openstack"]["block-storage"]["syslog"]["use"] = true
@chef_run.converge "openstack-block-storage::api" @chef_run.converge "openstack-block-storage::api"
end end
@ -65,11 +65,11 @@ describe "openstack-block-storage::api" do
end end
it "has rbd driver settings" do it "has rbd driver settings" do
chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS do |n|
node = chef_run.node n.set["openstack"]["block-storage"]["volume"] = {
node.set["openstack"]["block-storage"]["volume"] = { "driver" => "cinder.volume.drivers.RBDDriver"
"driver" => "cinder.volume.drivers.RBDDriver" }
} end
chef_run.converge "openstack-block-storage::api" chef_run.converge "openstack-block-storage::api"
expect(chef_run).to create_file_with_content @file, expect(chef_run).to create_file_with_content @file,
@ -79,11 +79,11 @@ describe "openstack-block-storage::api" do
end end
it "has netapp driver settings" do it "has netapp driver settings" do
chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS do |n|
node = chef_run.node n.set["openstack"]["block-storage"]["volume"] = {
node.set["openstack"]["block-storage"]["volume"] = { "driver" => "cinder.volume.drivers.netapp.NetAppISCSIDriver"
"driver" => "cinder.volume.drivers.netapp.NetAppISCSIDriver" }
} end
chef_run.converge "openstack-block-storage::api" chef_run.converge "openstack-block-storage::api"
expect(chef_run).to create_file_with_content @file, expect(chef_run).to create_file_with_content @file,
@ -95,6 +95,7 @@ describe "openstack-block-storage::api" do
it "runs db migrations" do it "runs db migrations" do
cmd = "cinder-manage db sync" cmd = "cinder-manage db sync"
expect(@chef_run).to execute_command cmd expect(@chef_run).to execute_command cmd
end end
@ -118,7 +119,7 @@ describe "openstack-block-storage::api" do
"signing_dir = /var/cache/cinder/api" "signing_dir = /var/cache/cinder/api"
end end
it "notifies nova-api-ec2 restart" do it "notifies cinder-api restart" do
expect(@file).to notify "service[cinder-api]", :restart expect(@file).to notify "service[cinder-api]", :restart
end end
end end

View File

@ -1,11 +1,11 @@
require_relative "spec_helper" require_relative "spec_helper"
describe "openstack-block-storage::cinder-common" do describe "openstack-block-storage::cinder-common" do
before { block_storage_stubs }
before do before do
block_storage_stubs @chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS do |n|
@chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS n.set["openstack"]["block-storage"]["syslog"]["use"] = true
@node = @chef_run.node end
@node.set["openstack"]["block-storage"]["syslog"]["use"] = true
@chef_run.converge "openstack-block-storage::cinder-common" @chef_run.converge "openstack-block-storage::cinder-common"
end end
@ -21,6 +21,5 @@ describe "openstack-block-storage::cinder-common" do
it "has proper modes" do it "has proper modes" do
expect(sprintf("%o", @file.mode)).to eq "644" expect(sprintf("%o", @file.mode)).to eq "644"
end end
end end
end end

View File

@ -2,11 +2,11 @@ require_relative "spec_helper"
describe "openstack-block-storage::identity_registration" do describe "openstack-block-storage::identity_registration" do
before do before do
block_storage_stubs
@identity_register_mock = double "identity_register" @identity_register_mock = double "identity_register"
end end
it "registers cinder volume service" do it "registers cinder volume service" do
block_storage_stubs
::Chef::Recipe.any_instance.stub(:openstack_identity_register) ::Chef::Recipe.any_instance.stub(:openstack_identity_register)
::Chef::Recipe.any_instance.should_receive(:openstack_identity_register). ::Chef::Recipe.any_instance.should_receive(:openstack_identity_register).
with("Register Cinder Volume Service") do |&arg| with("Register Cinder Volume Service") do |&arg|
@ -39,7 +39,6 @@ describe "openstack-block-storage::identity_registration" do
end end
it "registers cinder volume endpoint" do it "registers cinder volume endpoint" do
block_storage_stubs
::Chef::Recipe.any_instance.stub(:openstack_identity_register) ::Chef::Recipe.any_instance.stub(:openstack_identity_register)
::Chef::Recipe.any_instance.should_receive(:openstack_identity_register). ::Chef::Recipe.any_instance.should_receive(:openstack_identity_register).
with("Register Cinder Volume Endpoint") do |&arg| with("Register Cinder Volume Endpoint") do |&arg|
@ -72,7 +71,6 @@ describe "openstack-block-storage::identity_registration" do
end end
it "registers service user" do it "registers service user" do
block_storage_stubs
::Chef::Recipe.any_instance.stub(:openstack_identity_register) ::Chef::Recipe.any_instance.stub(:openstack_identity_register)
::Chef::Recipe.any_instance.should_receive(:openstack_identity_register). ::Chef::Recipe.any_instance.should_receive(:openstack_identity_register).
with("Register Cinder Service User") do |&arg| with("Register Cinder Service User") do |&arg|
@ -99,7 +97,6 @@ describe "openstack-block-storage::identity_registration" do
end end
it "grants admin role to service user for service tenant" do it "grants admin role to service user for service tenant" do
block_storage_stubs
::Chef::Recipe.any_instance.stub(:openstack_identity_register) ::Chef::Recipe.any_instance.stub(:openstack_identity_register)
::Chef::Recipe.any_instance.should_receive(:openstack_identity_register). ::Chef::Recipe.any_instance.should_receive(:openstack_identity_register).
with("Grant service Role to Cinder Service User for Cinder Service Tenant") do |&arg| with("Grant service Role to Cinder Service User for Cinder Service Tenant") do |&arg|

View File

@ -1,9 +1,9 @@
require_relative "spec_helper" require_relative "spec_helper"
describe "openstack-block-storage::scheduler" do describe "openstack-block-storage::scheduler" do
before { block_storage_stubs }
describe "redhat" do describe "redhat" do
before do before do
block_storage_stubs
@chef_run = ::ChefSpec::ChefRunner.new ::REDHAT_OPTS @chef_run = ::ChefSpec::ChefRunner.new ::REDHAT_OPTS
@chef_run.converge "openstack-block-storage::scheduler" @chef_run.converge "openstack-block-storage::scheduler"
end end

View File

@ -1,12 +1,12 @@
require_relative "spec_helper" require_relative "spec_helper"
describe "openstack-block-storage::scheduler" do describe "openstack-block-storage::scheduler" do
before { block_storage_stubs }
describe "ubuntu" do describe "ubuntu" do
before do before do
block_storage_stubs @chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS do |n|
@chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS n.set["openstack"]["block-storage"]["syslog"]["use"] = true
@node = @chef_run.node end
@node.set["openstack"]["block-storage"]["syslog"]["use"] = true
@chef_run.converge "openstack-block-storage::scheduler" @chef_run.converge "openstack-block-storage::scheduler"
end end

View File

@ -2,13 +2,13 @@ require "chefspec"
::LOG_LEVEL = :fatal ::LOG_LEVEL = :fatal
::REDHAT_OPTS = { ::REDHAT_OPTS = {
:platform => "redhat", :platform => "redhat",
:version => "6.3", :version => "6.3",
:log_level => ::LOG_LEVEL :log_level => ::LOG_LEVEL
} }
::UBUNTU_OPTS = { ::UBUNTU_OPTS = {
:platform => "ubuntu", :platform => "ubuntu",
:version => "12.04", :version => "12.04",
:log_level => ::LOG_LEVEL :log_level => ::LOG_LEVEL
} }
@ -48,7 +48,7 @@ def expect_creates_cinder_conf service, action=:restart
expect(sprintf("%o", @file.mode)).to eq "644" expect(sprintf("%o", @file.mode)).to eq "644"
end end
it "notifies nova-api-ec2 restart" do it "notifies service restart" do
expect(@file).to notify service, action expect(@file).to notify service, action
end end
end end
@ -68,7 +68,7 @@ def expect_creates_policy_json service, action=:restart
expect(sprintf("%o", @file.mode)).to eq "644" expect(sprintf("%o", @file.mode)).to eq "644"
end end
it "notifies nova-api-ec2 restart" do it "notifies service restart" do
expect(@file).to notify service, action expect(@file).to notify service, action
end end
end end

View File

@ -1,9 +1,9 @@
require_relative "spec_helper" require_relative "spec_helper"
describe "openstack-block-storage::volume" do describe "openstack-block-storage::volume" do
before { block_storage_stubs }
describe "redhat" do describe "redhat" do
before do before do
block_storage_stubs
@chef_run = ::ChefSpec::ChefRunner.new ::REDHAT_OPTS @chef_run = ::ChefSpec::ChefRunner.new ::REDHAT_OPTS
@chef_run.converge "openstack-block-storage::volume" @chef_run.converge "openstack-block-storage::volume"
end end
@ -32,6 +32,7 @@ describe "openstack-block-storage::volume" do
it "has redhat include" do it "has redhat include" do
file = "/etc/tgt/targets.conf" file = "/etc/tgt/targets.conf"
expect(@chef_run).to create_file_with_content file, expect(@chef_run).to create_file_with_content file,
"include /var/lib/cinder/volumes/*" "include /var/lib/cinder/volumes/*"
expect(@chef_run).not_to create_file_with_content file, expect(@chef_run).not_to create_file_with_content file,

View File

@ -1,12 +1,12 @@
require_relative "spec_helper" require_relative "spec_helper"
describe "openstack-block-storage::volume" do describe "openstack-block-storage::volume" do
before { block_storage_stubs }
describe "ubuntu" do describe "ubuntu" do
before do before do
block_storage_stubs @chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS do |n|
@chef_run = ::ChefSpec::ChefRunner.new ::UBUNTU_OPTS n.set["openstack"]["block-storage"]["syslog"]["use"] = true
@node = @chef_run.node end
@node.set["openstack"]["block-storage"]["syslog"]["use"] = true
@chef_run.converge "openstack-block-storage::volume" @chef_run.converge "openstack-block-storage::volume"
end end
@ -35,8 +35,8 @@ describe "openstack-block-storage::volume" do
n.set["openstack"]["block-storage"]["volume"]["driver"] = "cinder.volume.drivers.netapp.NetAppISCSIDriver" n.set["openstack"]["block-storage"]["volume"]["driver"] = "cinder.volume.drivers.netapp.NetAppISCSIDriver"
end end
chef_run.converge "openstack-block-storage::volume" chef_run.converge "openstack-block-storage::volume"
n = chef_run.node["openstack"]["block-storage"]["netapp"]["dfm_password"] n = chef_run.node["openstack"]["block-storage"]["netapp"]["dfm_password"]
expect(n).to eq "netapp-pass" expect(n).to eq "netapp-pass"
end end
@ -47,8 +47,8 @@ describe "openstack-block-storage::volume" do
n.set["openstack"]["block-storage"]["volume"]["driver"] = "cinder.volume.drivers.RBDDriver" n.set["openstack"]["block-storage"]["volume"]["driver"] = "cinder.volume.drivers.RBDDriver"
end end
chef_run.converge "openstack-block-storage::volume" chef_run.converge "openstack-block-storage::volume"
n = chef_run.node["openstack"]["block-storage"]["rbd_secret_uuid"] n = chef_run.node["openstack"]["block-storage"]["rbd_secret_uuid"]
expect(n).to eq "rbd-pass" expect(n).to eq "rbd-pass"
end end