require 'spec_helper' describe 'nova::compute::vmware' do let :params do {:host_ip => '127.0.0.1', :host_username => 'root', :host_password => 'passw0rd', :cluster_name => 'cluster1'} end let :optional_params do {:api_retry_count => 10, :maximum_objects => 100, :task_poll_interval => 10.5, :use_linked_clone => false, :wsdl_location => 'http://127.0.0.1:8080/vmware/SDK/wsdl/vim25/vimService.wsdl'} end it 'configures vmwareapi in nova.conf' do should contain_nova_config('DEFAULT/compute_driver').with_value('vmwareapi.VMwareVCDriver') should contain_nova_config('VMWARE/host_ip').with_value(params[:host_ip]) should contain_nova_config('VMWARE/host_username').with_value(params[:host_username]) should contain_nova_config('VMWARE/host_password').with_value(params[:host_password]) should contain_nova_config('VMWARE/cluster_name').with_value(params[:cluster_name]) should contain_nova_config('VMWARE/api_retry_count').with_value(5) should contain_nova_config('VMWARE/maximum_objects').with_value(100) should contain_nova_config('VMWARE/task_poll_interval').with_value(5.0) should contain_nova_config('VMWARE/use_linked_clone').with_value(true) should_not contain_nova_config('VMWARE/wsdl_location') end it 'installs suds python package' do should contain_package('python-suds').with( :ensure => 'present' ) end context 'with optional parameters' do before :each do params.merge!(optional_params) end it 'configures vmwareapi in nova.conf' do should contain_nova_config('VMWARE/api_retry_count').with_value(params[:api_retry_count]) should contain_nova_config('VMWARE/maximum_objects').with_value(params[:maximum_objects]) should contain_nova_config('VMWARE/task_poll_interval').with_value(params[:task_poll_interval]) should contain_nova_config('VMWARE/use_linked_clone').with_value(false) should contain_nova_config('VMWARE/wsdl_location').with_value(params[:wsdl_location]) end end end