fqdn_rotate: Add tests for custom seeds
This commit is contained in:
parent
d7c8460353
commit
b436216fe6
1 changed files with 15 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue