try again, with puppetforge modules, correctly included now
[mirror/dsa-puppet.git] / 3rdparty / modules / neutron / spec / classes / neutron_plugins_midonet_spec.rb
1 require 'spec_helper'
2
3 describe 'neutron::plugins::midonet' do
4
5   let :pre_condition do
6     "class { 'neutron::server': auth_password => 'password' }
7      class { 'neutron': rabbit_password => 'passw0rd' }
8      package { 'python-neutron-plugin-midonet': }"
9   end
10
11   let :default_params do
12   {
13     :midonet_api_ip    => '127.0.0.1',
14     :midonet_api_port  => '8080',
15     :keystone_username => 'neutron',
16     :keystone_password => 'test_midonet',
17     :keystone_tenant   => 'services'
18   }
19   end
20
21   shared_examples_for 'neutron midonet plugin' do
22
23     let :params do
24       {}
25     end
26
27     before do
28       params.merge!(default_params)
29     end
30
31     it 'should create plugin symbolic link' do
32       should contain_file('/etc/neutron/plugin.ini').with(
33         :ensure  => 'link',
34         :target  => '/etc/neutron/plugins/midonet/midonet.ini',
35         :require => 'Package[python-neutron-plugin-midonet]')
36     end
37
38     it 'should perform default configuration of' do
39       midonet_uri = "http://" + params[:midonet_api_ip] + ":" + params[:midonet_api_port] + "/midonet-api";
40       should contain_neutron_plugin_midonet('MIDONET/midonet_uri').with_value(midonet_uri)
41       should contain_neutron_plugin_midonet('MIDONET/username').with_value(params[:keystone_username])
42       should contain_neutron_plugin_midonet('MIDONET/password').with_value(params[:keystone_password])
43       should contain_neutron_plugin_midonet('MIDONET/project_id').with_value(params[:keystone_tenant])
44     end
45
46   end
47
48   context 'on Debian platforms' do
49     let :facts do
50       { :osfamily => 'Debian'}
51     end
52     it 'configures /etc/default/neutron-server' do
53       should contain_file_line('/etc/default/neutron-server:NEUTRON_PLUGIN_CONFIG').with(
54         :path    => '/etc/default/neutron-server',
55         :match   => '^NEUTRON_PLUGIN_CONFIG=(.*)$',
56         :line    => 'NEUTRON_PLUGIN_CONFIG=/etc/neutron/plugins/midonet/midonet.ini',
57         :require => ['Package[neutron-server]', 'Package[python-neutron-plugin-midonet]'],
58         :notify  => 'Service[neutron-server]'
59       )
60     end
61     it_configures 'neutron midonet plugin'
62   end
63
64   context 'on RedHat platforms' do
65     let :facts do
66       { :osfamily => 'RedHat'}
67     end
68     it_configures 'neutron midonet plugin'
69   end
70
71 end