From b436216fe68c11d67cc15aec83ce0f1eeb7ededf Mon Sep 17 00:00:00 2001 From: Eli Young Date: Mon, 1 Jun 2015 16:29:39 -0700 Subject: fqdn_rotate: Add tests for custom seeds --- spec/functions/fqdn_rotate_spec.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'spec/functions/fqdn_rotate_spec.rb') diff --git a/spec/functions/fqdn_rotate_spec.rb b/spec/functions/fqdn_rotate_spec.rb index 6c76781..db7a717 100755 --- a/spec/functions/fqdn_rotate_spec.rb +++ b/spec/functions/fqdn_rotate_spec.rb @@ -21,6 +21,18 @@ describe 'fqdn_rotate' do expect(val1).to eq(val2) end + it "allows extra arguments to control the random rotation on a single host" do + val1 = fqdn_rotate("abcdefg", :extra_identifier => [1, "different", "host"]) + val2 = fqdn_rotate("abcdefg", :extra_identifier => [2, "different", "host"]) + expect(val1).not_to eq(val2) + end + + it "considers the same host and same extra arguments to have the same random rotation" do + val1 = fqdn_rotate("abcdefg", :extra_identifier => [1, "same", "host"]) + val2 = fqdn_rotate("abcdefg", :extra_identifier => [1, "same", "host"]) + expect(val1).to eq(val2) + end + it "should rotate a string to give different values on different hosts" do val1 = fqdn_rotate("abcdefg", :host => 'one') val2 = fqdn_rotate("abcdefg", :host => 'two') @@ -51,11 +63,13 @@ describe 'fqdn_rotate' do def fqdn_rotate(value, args = {}) host = args[:host] || '127.0.0.1' + extra = args[:extra_identifier] || [] # workaround not being able to use let(:facts) because some tests need # multiple different hostnames in one context scope.stubs(:lookupvar).with("::fqdn").returns(host) - scope.function_fqdn_rotate([value]) + function_args = [value] + extra + scope.function_fqdn_rotate(function_args) end end -- cgit v1.2.3