# # Unit tests for neutron::plugins::ml2::midonet class # require 'spec_helper' describe 'neutron::plugins::ml2::midonet' do let :pre_condition do "class { '::neutron::keystone::authtoken': password => 'passw0rd', } class { 'neutron::server': } class { 'neutron': rabbit_password => 'passw0rd', core_plugin => 'ml2' }" end let :default_params do { :midonet_uri => 'http://localhost:8080/midonet-api', :username => 'admin', :password => 'passw0rd', :project_id => 'admin', } end let :params do {} end let :test_facts do { :operatingsystem => 'default', :operatingsystemrelease => 'default', :concat_basedir => '/', } end shared_examples_for 'neutron ml2 midonet plugin' do before do params.merge!(default_params) end it { is_expected.to contain_class('neutron::params') } it do is_expected.to contain_neutron_plugin_ml2('MIDONET/midonet_uri').with_value(params[:midonet_uri]) is_expected.to contain_neutron_plugin_ml2('MIDONET/username').with_value(params[:username]) is_expected.to contain_neutron_plugin_ml2('MIDONET/password').with_value(params[:password]) is_expected.to contain_neutron_plugin_ml2('MIDONET/project_id').with_value(params[:project_id]) end end begin context 'on RedHat platforms' do let :facts do @default_facts.merge(test_facts.merge({ :osfamily => 'RedHat', :operatingsystemrelease => '7' })) end let :platform_params do { :midonet_ml2_config_file => '/etc/neutron/conf.d/neutron-server/ml2_mech_midonet.conf' } end it_configures 'neutron ml2 midonet plugin' end end end