2 describe Puppet::Type.type(:rabbitmq_queue) do
4 Puppet::Type.type(:rabbitmq_queue).new(
9 'x-dead-letter-exchange' => 'deadexchange'
14 it 'accepts an queue name' do
15 queue[:name] = 'dan@pl'
16 expect(queue[:name]).to eq('dan@pl')
18 it 'requires a name' do
20 Puppet::Type.type(:rabbitmq_queue).new({})
21 end.to raise_error(Puppet::Error, 'Title or name must be provided')
23 it 'does not allow whitespace in the name' do
26 end.to raise_error(Puppet::Error, %r{Valid values match})
28 it 'does not allow names without @' do
31 end.to raise_error(Puppet::Error, %r{Valid values match})
34 it 'accepts an arguments with numbers value' do
35 queue[:arguments] = { 'x-message-ttl' => 30 }
36 expect(queue[:arguments].to_json).to eq('{"x-message-ttl":30}')
39 it 'accepts an arguments with string value' do
40 queue[:arguments] = { 'x-dead-letter-exchange' => 'catchallexchange' }
41 expect(queue[:arguments].to_json).to eq('{"x-dead-letter-exchange":"catchallexchange"}')
44 it 'accepts an queue durable' do
45 queue[:durable] = :true
46 expect(queue[:durable]).to eq(:true)
49 it 'accepts a user' do
51 expect(queue[:user]).to eq(:root)
54 it 'accepts a password' do
55 queue[:password] = :PaSsw0rD
56 expect(queue[:password]).to eq(:PaSsw0rD)