Add basic rspec tests to ensure catalog compiles
* Add basic rspec tests * Add required fixtures: mysql, vswitch. * Fix relationship between Package['dnsmasq'] and Package['quantum-dhcp-agent']. RedHat does not have such package and catalog compilation would fail on RedHat platforms. * Restore Ruby 1.8 compatibility by removing trailing comma on the final element of hash. Change-Id: I7cfc2f9b308116fe9c8b7f242f794792be0be678
This commit is contained in:
parent
0f0ee9a700
commit
32a4e0c07d
|
@ -2,7 +2,9 @@ fixtures:
|
|||
repositories:
|
||||
"stdlib": "git://github.com/puppetlabs/puppetlabs-stdlib.git"
|
||||
"inifile": "git://github.com/cprice-puppet/puppetlabs-inifile"
|
||||
"mysql": "git://github.com/puppetlabs/puppetlabs-mysql"
|
||||
"keystone": "git://github.com/stackforge/puppet-keystone.git"
|
||||
"nova": "git://github.com/stackforge/puppet-nova.git"
|
||||
"vswitch": "git://github.com/bodepd/puppet-vswitch"
|
||||
symlinks:
|
||||
"quantum": "#{source_dir}"
|
||||
|
|
|
@ -29,7 +29,7 @@ class quantum::agents::dhcp (
|
|||
case $dhcp_driver {
|
||||
/\.Dnsmasq/: {
|
||||
Package<| title == 'dnsmasq' |> -> Package<| title == 'quantum-dhcp-agent' |>
|
||||
Package['dnsmasq'] -> Package['quantum-dhcp-agent']
|
||||
Package['dnsmasq'] -> Package<| title == 'quantum-dhcp-agent' |>
|
||||
package { 'dnsmasq':
|
||||
name => $::quantum::params::dnsmasq_packages,
|
||||
ensure => present,
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'quantum::agents::dhcp' do
|
||||
|
||||
let :pre_condition do
|
||||
"class { 'quantum': rabbit_password => 'passw0rd' }"
|
||||
end
|
||||
|
||||
|
||||
context 'on Debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::agents::dhcp') }
|
||||
end
|
||||
|
||||
context 'on RedHat platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::agents::dhcp') }
|
||||
end
|
||||
end
|
|
@ -0,0 +1,20 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'quantum::agents::l3' do
|
||||
|
||||
context 'on Debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::agents::l3') }
|
||||
end
|
||||
|
||||
context 'on RedHat platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::agents::l3') }
|
||||
end
|
||||
end
|
|
@ -0,0 +1,25 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'quantum::agents::ovs' do
|
||||
|
||||
let :pre_condition do
|
||||
"class { 'quantum': rabbit_password => 'passw0rd' }"
|
||||
end
|
||||
|
||||
|
||||
context 'on Debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::agents::ovs') }
|
||||
end
|
||||
|
||||
context 'on RedHat platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::agents::ovs') }
|
||||
end
|
||||
end
|
|
@ -0,0 +1,20 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'quantum::client' do
|
||||
|
||||
context 'on Debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::client') }
|
||||
end
|
||||
|
||||
context 'on RedHat platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::client') }
|
||||
end
|
||||
end
|
|
@ -0,0 +1,29 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'quantum::db::mysql' do
|
||||
|
||||
let :pre_condition do
|
||||
'include mysql::server'
|
||||
end
|
||||
|
||||
let :params do
|
||||
{ :password => 'passw0rd' }
|
||||
end
|
||||
|
||||
|
||||
context 'on Debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::db::mysql') }
|
||||
end
|
||||
|
||||
context 'on RedHat platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::db::mysql') }
|
||||
end
|
||||
end
|
|
@ -5,7 +5,7 @@ describe 'quantum::keystone::auth' do
|
|||
describe 'with default class parameters' do
|
||||
let :params do
|
||||
{
|
||||
:password => 'quantum_password',
|
||||
:password => 'quantum_password'
|
||||
}
|
||||
end
|
||||
|
||||
|
@ -16,13 +16,13 @@ describe 'quantum::keystone::auth' do
|
|||
|
||||
it { should contain_keystone_user_role('quantum@services').with(
|
||||
:ensure => 'present',
|
||||
:roles => 'admin',
|
||||
:roles => 'admin'
|
||||
)}
|
||||
|
||||
it { should contain_keystone_service('quantum').with(
|
||||
:ensure => 'present',
|
||||
:type => 'network',
|
||||
:description => 'Quantum Networking Service',
|
||||
:description => 'Quantum Networking Service'
|
||||
) }
|
||||
|
||||
it { should contain_keystone_endpoint('RegionOne/quantum').with(
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'quantum::plugins::ovs' do
|
||||
|
||||
let :pre_condition do
|
||||
"class { 'quantum': rabbit_password => 'passw0rd' }"
|
||||
end
|
||||
|
||||
|
||||
context 'on Debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::plugins::ovs') }
|
||||
end
|
||||
|
||||
context 'on RedHat platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::plugins::ovs') }
|
||||
end
|
||||
end
|
|
@ -0,0 +1,24 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'quantum::server' do
|
||||
|
||||
let :params do
|
||||
{ :auth_password => 'passw0rd' }
|
||||
end
|
||||
|
||||
context 'on Debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::server') }
|
||||
end
|
||||
|
||||
context 'on RedHat platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
end
|
||||
|
||||
it { should contain_class('quantum::server') }
|
||||
end
|
||||
end
|
|
@ -0,0 +1,25 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'quantum::db::mysql::host_access' do
|
||||
|
||||
let :pre_condition do
|
||||
'include mysql'
|
||||
end
|
||||
|
||||
let :title do
|
||||
'127.0.0.1'
|
||||
end
|
||||
|
||||
let :params do
|
||||
{ :user => 'quantum',
|
||||
:password => 'passw0rd',
|
||||
:database => 'quantum' }
|
||||
end
|
||||
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it { should contain_database_user('quantum@127.0.0.1') }
|
||||
it { should contain_database_grant('quantum@127.0.0.1/quantum') }
|
||||
end
|
Loading…
Reference in New Issue