-require 'spec_helper'
+require 'puppet'
+require 'puppet/type/rabbitmq_user'
describe Puppet::Type.type(:rabbitmq_user) do
- let(:user) do
- Puppet::Type.type(:rabbitmq_user).new(name: 'foo', password: 'pass')
+ before :each do
+ @user = Puppet::Type.type(:rabbitmq_user).new(:name => 'foo', :password => 'pass')
end
-
- it 'accepts a user name' do
- user[:name] = 'dan'
- expect(user[:name]).to eq('dan')
+ it 'should accept a user name' do
+ @user[:name] = 'dan'
+ @user[:name].should == 'dan'
+ @user[:admin].should == :false
end
- it 'admin is false when :admin is not set' do
- user[:name] = 'dan'
- expect(user[:admin]).to eq(:false)
+ it 'should accept a password' do
+ @user[:password] = 'foo'
+ @user[:password].should == 'foo'
end
- it 'accepts a password' do
- user[:password] = 'foo'
- expect(user[:password]).to eq('foo')
+ it 'should require a password' do
+ expect {
+ Puppet::Type.type(:rabbitmq_user).new(:name => 'foo')
+ }.to raise_error(/must set password/)
end
- it 'requires a name' do
- expect do
+ it 'should require a name' do
+ expect {
Puppet::Type.type(:rabbitmq_user).new({})
- end.to raise_error(Puppet::Error, 'Title or name must be provided')
+ }.to raise_error(Puppet::Error, 'Title or name must be provided')
end
- it 'does not allow whitespace in the name' do
- expect do
- user[:name] = 'b r'
- end.to raise_error(Puppet::Error, %r{Valid values match})
+ it 'should not allow whitespace in the name' do
+ expect {
+ @user[:name] = 'b r'
+ }.to raise_error(Puppet::Error, /Valid values match/)
end
[true, false, 'true', 'false'].each do |val|
it "admin property should accept #{val}" do
- user[:admin] = val
- expect(user[:admin]).to eq(val.to_s.to_sym)
+ @user[:admin] = val
+ @user[:admin].should == val.to_s.to_sym
end
end
- it 'does not accept non-boolean values for admin' do
- expect do
- user[:admin] = 'yes'
- end.to raise_error(Puppet::Error, %r{Invalid value})
+ it 'should not accept non-boolean values for admin' do
+ expect {
+ @user[:admin] = 'yes'
+ }.to raise_error(Puppet::Error, /Invalid value/)
end
- it 'does not accept tags with spaces' do
- expect do
- user[:tags] = ['policy maker']
- end.to raise_error(Puppet::Error, %r{Invalid tag})
+ it 'should not accept tags with spaces' do
+ expect {
+ @user[:tags] = ['policy maker']
+ }.to raise_error(Puppet::Error, /Invalid tag/)
end
- it 'does not accept the administrator tag' do
- expect do
- user[:tags] = ['administrator']
- end.to raise_error(Puppet::Error, %r{must use admin property})
+ it 'should not accept the administrator tag' do
+ expect {
+ @user[:tags] = ['administrator']
+ }.to raise_error(Puppet::Error, /must use admin property/)
end
end