-require 'puppet'
-require 'puppet/type/rabbitmq_user_permissions'
+require 'spec_helper'
describe Puppet::Type.type(:rabbitmq_user_permissions) do
- before :each do
- @perms = Puppet::Type.type(:rabbitmq_user_permissions).new(:name => 'foo@bar')
+ let(:perms) do
+ Puppet::Type.type(:rabbitmq_user_permissions).new(name: 'foo@bar')
end
- it 'should accept a valid hostname name' do
- @perms[:name] = 'dan@bar'
- @perms[:name].should == 'dan@bar'
+
+ it 'accepts a valid hostname name' do
+ perms[:name] = 'dan@bar'
+ expect(perms[:name]).to eq('dan@bar')
end
- it 'should require a name' do
- expect {
+ it 'requires a name' do
+ expect do
Puppet::Type.type(:rabbitmq_user_permissions).new({})
- }.to raise_error(Puppet::Error, 'Title or name must be provided')
+ end.to raise_error(Puppet::Error, 'Title or name must be provided')
end
- it 'should fail when names dont have a @' do
- expect {
- @perms[:name] = 'bar'
- }.to raise_error(Puppet::Error, /Valid values match/)
+ it 'fails when names dont have a @' do
+ expect do
+ perms[:name] = 'bar'
+ end.to raise_error(Puppet::Error, %r{Valid values match})
end
[:configure_permission, :read_permission, :write_permission].each do |param|
- it 'should not default to anything' do
- @perms[param].should == nil
+ it 'does not default to anything' do
+ expect(perms[param]).to eq(nil)
end
it "should accept a valid regex for #{param}" do
- @perms[param] = '.*?'
- @perms[param].should == '.*?'
+ perms[param] = '.*?'
+ expect(perms[param]).to eq('.*?')
end
it "should accept an empty string for #{param}" do
- @perms[param] = ''
- @perms[param].should == ''
+ perms[param] = ''
+ expect(perms[param]).to eq('')
end
it "should not accept invalid regex for #{param}" do
- expect {
- @perms[param] = '*'
- }.to raise_error(Puppet::Error, /Invalid regexp/)
+ expect do
+ perms[param] = '*'
+ end.to raise_error(Puppet::Error, %r{Invalid regexp})
end
end
- {:rabbitmq_vhost => 'dan@test', :rabbitmq_user => 'test@dan'}.each do |k,v|
+ # rubocop:disable RSpec/MultipleExpectations
+ { rabbitmq_vhost: 'dan@test', rabbitmq_user: 'test@dan' }.each do |k, v|
it "should autorequire #{k}" do
- if k == :rabbitmq_vhost
- vhost = Puppet::Type.type(k).new(:name => "test")
- else
- vhost = Puppet::Type.type(k).new(:name => "test", :password => 'pass')
- end
- perm = Puppet::Type.type(:rabbitmq_user_permissions).new(:name => v)
- config = Puppet::Resource::Catalog.new :testing do |conf|
+ vhost = if k == :rabbitmq_vhost
+ Puppet::Type.type(k).new(name: 'test')
+ else
+ Puppet::Type.type(k).new(name: 'test', password: 'pass')
+ end
+ perm = Puppet::Type.type(:rabbitmq_user_permissions).new(name: v)
+ Puppet::Resource::Catalog.new :testing do |conf|
[vhost, perm].each { |resource| conf.add_resource resource }
end
rel = perm.autorequire[0]
- rel.source.ref.should == vhost.ref
- rel.target.ref.should == perm.ref
+ expect(rel.source.ref).to eq(vhost.ref)
+ expect(rel.target.ref).to eq(perm.ref)
end
end
+ # rubocop:enable RSpec/MultipleExpectations
end