require 'spec_helper' describe 'glance::notify::rabbitmq' do shared_examples_for 'glance::notify::rabbitmq' do describe 'when using defaults' do it { is_expected.to contain_oslo__messaging__rabbit('glance_api_config').with( :rabbit_ha_queues => '', :heartbeat_timeout_threshold => '', :heartbeat_rate => '', :heartbeat_in_pthread => '', :rabbit_use_ssl => '', :kombu_ssl_ca_certs => '', :kombu_ssl_certfile => '', :kombu_ssl_keyfile => '', :kombu_ssl_version => '', :kombu_reconnect_delay => '', :kombu_failover_strategy => '', :amqp_durable_queues => '', :kombu_compression => '', ) } it { is_expected.to contain_oslo__messaging__default('glance_api_config').with( :transport_url => '', :rpc_response_timeout => '', :control_exchange => '', ) } it { is_expected.to contain_oslo__messaging__notifications('glance_api_config').with( :driver => '', :transport_url => '', :topics => '', ) } end describe 'when passing params and use ssl' do let :params do { :default_transport_url => 'rabbit://user:pass@host:1234/virt', :rpc_response_timeout => '120', :control_exchange => 'glance', :notification_transport_url => 'rabbit://user:pass@alt_host:1234/virt', :rabbit_ha_queues => true, :rabbit_heartbeat_timeout_threshold => '60', :rabbit_heartbeat_rate => '10', :rabbit_heartbeat_in_pthread => true, :rabbit_use_ssl => true, :kombu_ssl_ca_certs => '/etc/ca.cert', :kombu_ssl_certfile => '/etc/certfile', :kombu_ssl_keyfile => '/etc/key', :kombu_ssl_version => 'TLSv1', :kombu_reconnect_delay => '5.0', :kombu_failover_strategy => 'shuffle', :rabbit_notification_topic => 'notification', :amqp_durable_queues => true, :kombu_compression => 'gzip', :notification_driver => 'messagingv2', } end it { is_expected.to contain_oslo__messaging__rabbit('glance_api_config').with( :rabbit_ha_queues => true, :heartbeat_timeout_threshold => '60', :heartbeat_rate => '10', :heartbeat_in_pthread => true, :rabbit_use_ssl => true, :kombu_ssl_ca_certs => '/etc/ca.cert', :kombu_ssl_certfile => '/etc/certfile', :kombu_ssl_keyfile => '/etc/key', :kombu_ssl_version => 'TLSv1', :kombu_reconnect_delay => '5.0', :kombu_failover_strategy => 'shuffle', :amqp_durable_queues => true, :kombu_compression => 'gzip', ) } it { is_expected.to contain_oslo__messaging__default('glance_api_config').with( :transport_url => 'rabbit://user:pass@host:1234/virt', :rpc_response_timeout => '120', :control_exchange => 'glance', ) } it { is_expected.to contain_oslo__messaging__notifications('glance_api_config').with( :driver => 'messagingv2', :transport_url => 'rabbit://user:pass@alt_host:1234/virt', :topics => 'notification', ) } end end on_supported_os({ :supported_os => OSDefaults.get_supported_os }).each do |os,facts| context "on #{os}" do let (:facts) do facts.merge!(OSDefaults.get_facts()) end it_configures 'glance::notify::rabbitmq' end end end