]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
fqdn_rotate: Add acceptance tests for custom seeds
authorEli Young <elyscape@gmail.com>
Mon, 1 Jun 2015 23:46:08 +0000 (16:46 -0700)
committerEli Young <elyscape@gmail.com>
Tue, 2 Jun 2015 19:02:30 +0000 (12:02 -0700)
spec/acceptance/fqdn_rotate_spec.rb

index 366d0273ee1fa8c79d367833d55a5c3ce16f65c4..f1a15d34ea72f9fb1bdec6dfaa848345974c8e80 100755 (executable)
@@ -27,7 +27,7 @@ describe 'fqdn_rotate function', :unless => UNSUPPORTED_PLATFORMS.include?(fact(
         shell("mkdir -p '#{facts_d}'")
       end
     end
-    it 'fqdn_rotates floats' do
+    it 'rotates arrays' do
       shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
       pp = <<-EOS
       $a = ['a','b','c','d']
@@ -39,9 +39,47 @@ describe 'fqdn_rotate function', :unless => UNSUPPORTED_PLATFORMS.include?(fact(
         expect(r.stdout).to match(/fqdn_rotate is \["d", "a", "b", "c"\]/)
       end
     end
+    it 'rotates arrays with custom seeds' do
+      shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
+      pp = <<-EOS
+      $a = ['a','b','c','d']
+      $s = 'seed'
+      $o = fqdn_rotate($a, $s)
+      notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
+      EOS
+
+      apply_manifest(pp, :catch_failures => true) do |r|
+        expect(r.stdout).to match(/fqdn_rotate is \["c", "d", "a", "b"\]/)
+      end
+    end
+    it 'rotates strings' do
+      shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
+      pp = <<-EOS
+      $a = 'abcd'
+      $o = fqdn_rotate($a)
+      notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
+      EOS
+
+      apply_manifest(pp, :catch_failures => true) do |r|
+        expect(r.stdout).to match(/fqdn_rotate is "dabc"/)
+      end
+    end
+    it 'rotates strings with custom seeds' do
+      shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
+      pp = <<-EOS
+      $a = 'abcd'
+      $s = 'seed'
+      $o = fqdn_rotate($a, $s)
+      notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
+      EOS
+
+      apply_manifest(pp, :catch_failures => true) do |r|
+        expect(r.stdout).to match(/fqdn_rotate is "cdab"/)
+      end
+    end
   end
   describe 'failure' do
     it 'handles improper argument counts'
-    it 'handles non-numbers'
+    it 'handles invalid arguments'
   end
 end