Update 3rdparty rabbitmq module
[mirror/dsa-puppet.git] / 3rdparty / modules / rabbitmq / spec / unit / puppet / provider / rabbitmq_vhost / rabbitmqctl_spec.rb
1 require 'spec_helper'
2
3 provider_class = Puppet::Type.type(:rabbitmq_vhost).provider(:rabbitmqctl)
4 describe provider_class do
5   let(:resource) do
6     Puppet::Type::Rabbitmq_vhost.new(
7       name: 'foo'
8     )
9   end
10   let(:provider) { provider_class.new(resource) }
11
12   it 'matches vhost names' do
13     provider.expects(:rabbitmqctl).with('-q', 'list_vhosts').returns <<-EOT
14 Listing vhosts ...
15 foo
16 ...done.
17 EOT
18     expect(provider.exists?).to eq(true)
19   end
20   it 'does not match if no vhosts on system' do
21     provider.expects(:rabbitmqctl).with('-q', 'list_vhosts').returns <<-EOT
22 Listing vhosts ...
23 ...done.
24 EOT
25     expect(provider.exists?).to eq(false)
26   end
27   it 'does not match if no matching vhosts on system' do
28     provider.expects(:rabbitmqctl).with('-q', 'list_vhosts').returns <<-EOT
29 Listing vhosts ...
30 fooey
31 ...done.
32 EOT
33     expect(provider.exists?).to eq(false)
34   end
35   it 'calls rabbitmqctl to create' do
36     provider.expects(:rabbitmqctl).with('add_vhost', 'foo')
37     provider.create
38   end
39   it 'calls rabbitmqctl to create' do
40     provider.expects(:rabbitmqctl).with('delete_vhost', 'foo')
41     provider.destroy
42   end
43 end