f3e79ddcd5
Tests in the new style produces the following documentation output: abs should not eq nil should run abs() and raise an Puppet::ParseError should run abs(-34) and return 34 should run abs("-34") and return 34 should run abs(34) and return 34 should run abs("34") and return 34
46 lines
2.6 KiB
Ruby
Executable file
46 lines
2.6 KiB
Ruby
Executable file
require 'spec_helper'
|
|
|
|
describe 'validate_re' do
|
|
describe 'signature validation' do
|
|
it { is_expected.not_to eq(nil) }
|
|
it { is_expected.to run.with_params().and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
|
|
it { is_expected.to run.with_params('').and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
|
|
it { is_expected.to run.with_params('', '', '', 'extra').and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
|
|
|
|
describe 'valid inputs' do
|
|
it { is_expected.to run.with_params('', '') }
|
|
it { is_expected.to run.with_params('', ['']) }
|
|
it { is_expected.to run.with_params('', [''], 'custom error') }
|
|
it { is_expected.to run.with_params('one', '^one') }
|
|
it { is_expected.to run.with_params('one', [ '^one', '^two' ]) }
|
|
it { is_expected.to run.with_params('one', [ '^one', '^two' ], 'custom error') }
|
|
end
|
|
|
|
describe 'invalid inputs' do
|
|
it {
|
|
pending('should implement stricter type checking')
|
|
is_expected.to run.with_params([], '').and_raise_error(Puppet::ParseError, /is not a String/)
|
|
}
|
|
it {
|
|
pending('should implement stricter type checking')
|
|
is_expected.to run.with_params('', {}).and_raise_error(Puppet::ParseError, /is not an Array/)
|
|
}
|
|
it {
|
|
pending('should implement stricter type checking')
|
|
is_expected.to run.with_params('', '', []).and_raise_error(Puppet::ParseError, /is not a String/)
|
|
}
|
|
it {
|
|
pending('should implement stricter type checking')
|
|
is_expected.to run.with_params(nil, nil).and_raise_error(Puppet::ParseError, /is not a String/)
|
|
}
|
|
it { is_expected.to run.with_params('', []).and_raise_error(Puppet::ParseError, /does not match/) }
|
|
it { is_expected.to run.with_params('one', 'two').and_raise_error(Puppet::ParseError, /does not match/) }
|
|
it { is_expected.to run.with_params('', 'two').and_raise_error(Puppet::ParseError, /does not match/) }
|
|
it { is_expected.to run.with_params('', ['two']).and_raise_error(Puppet::ParseError, /does not match/) }
|
|
it { is_expected.to run.with_params('', ['two'], 'custom error').and_raise_error(Puppet::ParseError, /custom error/) }
|
|
it { is_expected.to run.with_params('notone', '^one').and_raise_error(Puppet::ParseError, /does not match/) }
|
|
it { is_expected.to run.with_params('notone', [ '^one', '^two' ]).and_raise_error(Puppet::ParseError, /does not match/) }
|
|
it { is_expected.to run.with_params('notone', [ '^one', '^two' ], 'custom error').and_raise_error(Puppet::ParseError, /custom error/) }
|
|
end
|
|
end
|
|
end
|