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