Sha256: 1038b386bc7b74233afbc433954283fd7250bdef38a811aab2fc872fa559d016
Contents?: true
Size: 1.49 KB
Versions: 9
Compression:
Stored size: 1.49 KB
Contents
#! /usr/bin/env ruby require 'spec_helper' require 'puppet_spec/scope' describe "the fqdn_rand function" do include PuppetSpec::Scope it "provides a random number strictly less than the given max" do expect(fqdn_rand(3)).to satisfy {|n| n.to_i < 3 } end it "provides the same 'random' value on subsequent calls for the same host" do expect(fqdn_rand(3)).to eql(fqdn_rand(3)) end it "considers the same host and same extra arguments to have the same random sequence" do first_random = fqdn_rand(3, :extra_identifier => [1, "same", "host"]) second_random = fqdn_rand(3, :extra_identifier => [1, "same", "host"]) expect(first_random).to eql(second_random) end it "allows extra arguments to control the random value on a single host" do first_random = fqdn_rand(10000, :extra_identifier => [1, "different", "host"]) second_different_random = fqdn_rand(10000, :extra_identifier => [2, "different", "host"]) expect(first_random).not_to eql(second_different_random) end it "should return different sequences of value for different hosts" do val1 = fqdn_rand(1000000000, :host => "first.host.com") val2 = fqdn_rand(1000000000, :host => "second.host.com") expect(val1).not_to eql(val2) end def fqdn_rand(max, args = {}) host = args[:host] || '127.0.0.1' extra = args[:extra_identifier] || [] scope = create_test_scope_for_node('localhost') scope.stubs(:[]).with("::fqdn").returns(host) scope.function_fqdn_rand([max] + extra) end end
Version data entries
9 entries across 9 versions & 1 rubygems