Files
cookbook-openstack-object-s…/spec/spec_helper.rb
Matt Thompson ef6f689f8d Update spec_helper to include 'chefspec/berkshelf'
This minor change allows you to run rspec outside of strainer while
still having cookbook dependencies automatically handled by berkshelf
(which also means you can run individual chefspec tests).

Note that this change does marginally increase the time it takes to run
a strainer test.

A similar change was recently accepted in the openstack-compute
cookbook.

Change-Id: Ifc9b3fa8b4ce44c6b02642fee3a2126dcf7cf052
2014-01-10 08:59:02 +00:00

63 lines
2.2 KiB
Ruby

require "chefspec"
require "chefspec/berkshelf"
::LOG_LEVEL = :fatal
::REDHAT_OPTS = {
:platform => "redhat",
:log_level => ::LOG_LEVEL
}
::UBUNTU_OPTS = {
:platform => "ubuntu",
:version => "12.04",
:log_level => ::LOG_LEVEL
}
MOCK_NODE_NETWORK_DATA =
{
"ipaddress" => '10.0.0.2',
"fqdn" => 'localhost.localdomain',
"hostname" => 'localhost',
"network" => {
"default_interface" => "eth0",
"interfaces" => {
"eth0" => {
"addresses" => {
"fe80::a00:27ff:feca:ab08" => {"scope" => "Link", "prefixlen" => "64", "family" => "inet6"},
"10.0.0.2" => {"netmask" => "255.255.255.0", "broadcast" => "10.0.0.255", "family" => "inet"},
"08:00:27:CA:AB:08" => {"family" => "lladdr"}
},
},
"lo" => {
"addresses" => {
"::1" => {"scope" => "Node", "prefixlen" => "128", "family" => "inet6"},
"127.0.0.1" => {"netmask" => "255.0.0.0", "family" => "inet"}
},
},
},
}
}
def swift_stubs
stub_command("/usr/bin/id swift").and_return(true)
stub_command("[ -x /etc/swift/pull-rings.sh ]").and_return(true)
stub_command("[ -f /etc/rsyncd.conf ]").and_return(true)
stub_command("grep -q 'RSYNC_ENABLE=false' /etc/default/rsync").and_return(true)
stub_command("[ -e /etc/swift/account-server.conf ] && [ -e /etc/swift/account.ring.gz ]").and_return(true)
stub_command("[ -e /etc/swift/container-server.conf ] && [ -e /etc/swift/container.ring.gz ]").and_return(true)
stub_command("[ -e /etc/init/swift-container-sync.conf ]").and_return(false)
stub_command("[ -e /etc/init.d/swift-container-sync ]").and_return(false)
stub_command("[ -e /etc/swift/object-server.conf ] && [ -e /etc/swift/object.ring.gz ]").and_return(true)
stub_command("[ -e /etc/swift/proxy-server.conf ] && [ -e /etc/swift/object.ring.gz ]").and_return(true)
# create mock cluster
n = Chef::Node.new()
n.name('manager')
n.default_attrs = {
"swift" => {
"service_pass" => "foobar"
}
}
Chef::Recipe.any_instance.stub(:search).with(:node, 'chef_environment:_default AND roles:swift-setup').and_return([n])
end