Skip to content

Commit

Permalink
Add success/fail groups
Browse files Browse the repository at this point in the history
  • Loading branch information
hunner committed Apr 8, 2014
1 parent fcbc4b5 commit f8f147e
Show file tree
Hide file tree
Showing 16 changed files with 317 additions and 217 deletions.
3 changes: 0 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ group :development, :test do
gem 'rake', '~> 10.1.0', :require => false
gem 'rspec-puppet', :require => false
gem 'puppetlabs_spec_helper', :require => false
gem 'rspec-system', :require => false
gem 'rspec-system-puppet', :require => false
gem 'rspec-system-serverspec', :require => false
gem 'serverspec', :require => false
gem 'puppet-lint', :require => false
gem 'pry', :require => false
Expand Down
36 changes: 19 additions & 17 deletions spec/acceptance/abs_spec.rb
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
require 'spec_helper_acceptance'

describe 'abs function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
it 'should accept a string' do
pp = <<-EOS
$input = '-34.56'
$output = abs($input)
notify { $output: }
EOS
describe 'success' do
it 'should accept a string' do
pp = <<-EOS
$input = '-34.56'
$output = abs($input)
notify { $output: }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: 34.56/)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: 34.56/)
end
end
end

it 'should accept a float' do
pp = <<-EOS
$input = -34.56
$output = abs($input)
notify { $output: }
EOS
it 'should accept a float' do
pp = <<-EOS
$input = -34.56
$output = abs($input)
notify { $output: }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: 34.56/)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: 34.56/)
end
end
end
end
66 changes: 34 additions & 32 deletions spec/acceptance/any2array_spec.rb
Original file line number Diff line number Diff line change
@@ -1,46 +1,48 @@
require 'spec_helper_acceptance'

describe 'any2array function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
it 'should create an empty array' do
pp = <<-EOS
$input = ''
$output = any2array($input)
validate_array($output)
notify { "Output: ${output}": }
EOS
describe 'success' do
it 'should create an empty array' do
pp = <<-EOS
$input = ''
$output = any2array($input)
validate_array($output)
notify { "Output: ${output}": }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: Output: /)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: Output: /)
end
end
end

it 'should leave arrays modified' do
pp = <<-EOS
$input = ['test', 'array']
$output = any2array($input)
validate_array($output)
notify { "Output: ${output}": }
EOS
it 'should leave arrays modified' do
pp = <<-EOS
$input = ['test', 'array']
$output = any2array($input)
validate_array($output)
notify { "Output: ${output}": }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: Output: testarray/)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: Output: testarray/)
end
end
end

it 'should turn a hash into an array' do
pp = <<-EOS
$input = {'test' => 'array'}
$output = any2array($input)
it 'should turn a hash into an array' do
pp = <<-EOS
$input = {'test' => 'array'}
$output = any2array($input)
validate_array($output)
# Check each element of the array is a plain string.
validate_string($output[0])
validate_string($output[1])
notify { "Output: ${output}": }
EOS
validate_array($output)
# Check each element of the array is a plain string.
validate_string($output[0])
validate_string($output[1])
notify { "Output: ${output}": }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: Output: testarray/)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: Output: testarray/)
end
end
end
end
18 changes: 10 additions & 8 deletions spec/acceptance/base64_spec.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
require 'spec_helper_acceptance'

describe 'base64 function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
it 'should encode then decode a string' do
pp = <<-EOS
$encodestring = base64('encode', 'thestring')
$decodestring = base64('decode', $encodestring)
notify { $decodestring: }
EOS
describe 'success' do
it 'should encode then decode a string' do
pp = <<-EOS
$encodestring = base64('encode', 'thestring')
$decodestring = base64('decode', $encodestring)
notify { $decodestring: }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/thestring/)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/thestring/)
end
end
end
end
40 changes: 21 additions & 19 deletions spec/acceptance/bool2num_spec.rb
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
require 'spec_helper_acceptance'

describe 'bool2num function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
['false', 'f', '0', 'n', 'no'].each do |bool|
it 'should convert a given boolean, #{bool}, to 0' do
pp = <<-EOS
$input = #{bool}
$output = bool2num($input)
notify { $output: }
EOS
describe 'success' do
['false', 'f', '0', 'n', 'no'].each do |bool|
it 'should convert a given boolean, #{bool}, to 0' do
pp = <<-EOS
$input = #{bool}
$output = bool2num($input)
notify { $output: }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: 0/)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: 0/)
end
end
end
end

['true', 't', '1', 'y', 'yes'].each do |bool|
it 'should convert a given boolean, #{bool}, to 1' do
pp = <<-EOS
$input = #{bool}
$output = bool2num($input)
notify { $output: }
EOS
['true', 't', '1', 'y', 'yes'].each do |bool|
it 'should convert a given boolean, #{bool}, to 1' do
pp = <<-EOS
$input = #{bool}
$output = bool2num($input)
notify { $output: }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: 1/)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: 1/)
end
end
end
end
Expand Down
42 changes: 22 additions & 20 deletions spec/acceptance/capitalize_spec.rb
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
require 'spec_helper_acceptance'

describe 'capitalize function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
it 'should capitalize the first letter of a string' do
pp = <<-EOS
$input = 'this is a string'
$output = capitalize($input)
notify { $output: }
EOS
describe 'success' do
it 'should capitalize the first letter of a string' do
pp = <<-EOS
$input = 'this is a string'
$output = capitalize($input)
notify { $output: }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: This is a string/)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: This is a string/)
end
end
end

it 'should capitalize the first letter of an array of strings' do
pp = <<-EOS
$input = ['this', 'is', 'a', 'string']
$output = capitalize($input)
notify { $output: }
EOS
it 'should capitalize the first letter of an array of strings' do
pp = <<-EOS
$input = ['this', 'is', 'a', 'string']
$output = capitalize($input)
notify { $output: }
EOS

apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: This/)
expect(r.stdout).to match(/Notice: Is/)
expect(r.stdout).to match(/Notice: A/)
expect(r.stdout).to match(/Notice: String/)
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/Notice: This/)
expect(r.stdout).to match(/Notice: Is/)
expect(r.stdout).to match(/Notice: A/)
expect(r.stdout).to match(/Notice: String/)
end
end
end
end
26 changes: 14 additions & 12 deletions spec/acceptance/chomp_spec.rb
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
require 'spec_helper_acceptance'

describe 'chomp function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
it 'should eat the newline' do
pp = <<-EOS
$input = "test\n"
if size($input) != 5 {
fail("Size of ${input} is not 5.")
}
$output = chomp($input)
if size($output) != 4 {
fail("Size of ${input} is not 4.")
}
EOS
describe 'success' do
it 'should eat the newline' do
pp = <<-EOS
$input = "test\n"
if size($input) != 5 {
fail("Size of ${input} is not 5.")
}
$output = chomp($input)
if size($output) != 4 {
fail("Size of ${input} is not 4.")
}
EOS

apply_manifest(pp, :catch_failures => true)
apply_manifest(pp, :catch_failures => true)
end
end
end
66 changes: 34 additions & 32 deletions spec/acceptance/chop_spec.rb
Original file line number Diff line number Diff line change
@@ -1,42 +1,44 @@
require 'spec_helper_acceptance'

describe 'chop function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
it 'should eat the last character' do
pp = <<-EOS
$input = "test"
if size($input) != 4 {
fail("Size of ${input} is not 4.")
}
$output = chop($input)
if size($output) != 3 {
fail("Size of ${input} is not 3.")
}
EOS
describe 'success' do
it 'should eat the last character' do
pp = <<-EOS
$input = "test"
if size($input) != 4 {
fail("Size of ${input} is not 4.")
}
$output = chop($input)
if size($output) != 3 {
fail("Size of ${input} is not 3.")
}
EOS

apply_manifest(pp, :catch_failures => true)
end
apply_manifest(pp, :catch_failures => true)
end

it 'should eat the last two characters of \r\n' do
pp = <<-EOS
$input = "test\r\n"
if size($input) != 6 {
fail("Size of ${input} is not 6.")
}
$output = chop($input)
if size($output) != 4 {
fail("Size of ${input} is not 4.")
}
EOS
it 'should eat the last two characters of \r\n' do
pp = <<-EOS
$input = "test\r\n"
if size($input) != 6 {
fail("Size of ${input} is not 6.")
}
$output = chop($input)
if size($output) != 4 {
fail("Size of ${input} is not 4.")
}
EOS

apply_manifest(pp, :catch_failures => true)
end
apply_manifest(pp, :catch_failures => true)
end

it 'should not fail on empty strings' do
pp = <<-EOS
$input = ""
$output = chop($input)
EOS
it 'should not fail on empty strings' do
pp = <<-EOS
$input = ""
$output = chop($input)
EOS

apply_manifest(pp, :catch_failures => true)
apply_manifest(pp, :catch_failures => true)
end
end
end
Loading

0 comments on commit f8f147e

Please sign in to comment.