fqdn_rotate_spec.rb 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. require 'spec_helper_acceptance'
  2. describe 'fqdn_rotate function' do
  3. describe 'success' do
  4. include_context 'with faked facts'
  5. context "when the FQDN is 'fakehost.localdomain'" do
  6. before :each do
  7. fake_fact('fqdn', 'fakehost.localdomain')
  8. end
  9. pp1 = <<-DOC
  10. $a = ['a','b','c','d']
  11. $o = fqdn_rotate($a)
  12. notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
  13. DOC
  14. it 'rotates arrays' do
  15. apply_manifest(pp1, :catch_failures => true) do |r|
  16. expect(r.stdout).to match(%r{fqdn_rotate is \["d", "a", "b", "c"\]})
  17. end
  18. end
  19. pp2 = <<-DOC
  20. $a = ['a','b','c','d']
  21. $s = 'seed'
  22. $o = fqdn_rotate($a, $s)
  23. notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
  24. DOC
  25. it 'rotates arrays with custom seeds' do
  26. apply_manifest(pp2, :catch_failures => true) do |r|
  27. expect(r.stdout).to match(%r{fqdn_rotate is \["c", "d", "a", "b"\]})
  28. end
  29. end
  30. pp3 = <<-DOC
  31. $a = 'abcd'
  32. $o = fqdn_rotate($a)
  33. notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
  34. DOC
  35. it 'rotates strings' do
  36. apply_manifest(pp3, :catch_failures => true) do |r|
  37. expect(r.stdout).to match(%r{fqdn_rotate is "dabc"})
  38. end
  39. end
  40. pp4 = <<-DOC
  41. $a = 'abcd'
  42. $s = 'seed'
  43. $o = fqdn_rotate($a, $s)
  44. notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
  45. DOC
  46. it 'rotates strings with custom seeds' do
  47. apply_manifest(pp4, :catch_failures => true) do |r|
  48. expect(r.stdout).to match(%r{fqdn_rotate is "cdab"})
  49. end
  50. end
  51. end
  52. end
  53. describe 'failure' do
  54. it 'handles improper argument counts'
  55. it 'handles invalid arguments'
  56. end
  57. end