X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Facceptance%2Ffqdn_rand_string_spec.rb;h=591655337c80f6002eeeba446286d7465bb22d96;hb=6f656bd4265e3dab13b9af2bf96e9044322e9d8f;hp=8fe1a69551fa523edd7c0fad407ce4c351c8a78a;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/spec/acceptance/fqdn_rand_string_spec.rb b/3rdparty/modules/stdlib/spec/acceptance/fqdn_rand_string_spec.rb index 8fe1a6955..591655337 100644 --- a/3rdparty/modules/stdlib/spec/acceptance/fqdn_rand_string_spec.rb +++ b/3rdparty/modules/stdlib/spec/acceptance/fqdn_rand_string_spec.rb @@ -1,55 +1,59 @@ -#! /usr/bin/env ruby -S rspec require 'spec_helper_acceptance' -describe 'fqdn_rand_string function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do +describe 'fqdn_rand_string function' do describe 'success' do - let(:facts_d) do - if fact('is_pe', '--puppet') == "true" - if fact('osfamily') =~ /windows/i - if fact('kernelmajversion').to_f < 6.0 - 'c:/documents and settings/all users/application data/puppetlabs/facter/facts.d' - else - 'c:/programdata/puppetlabs/facter/facts.d' - end - else - '/etc/puppetlabs/facter/facts.d' + include_context 'with faked facts' + context "when the FQDN is 'fakehost.localdomain'" do + before :each do + fake_fact('fqdn', 'fakehost.localdomain') + end + + pp1 = <<-PUPPETCODE + $l = 10 + $o = fqdn_rand_string($l) + notice(inline_template('fqdn_rand_string is <%= @o.inspect %>')) + PUPPETCODE + it 'generates random alphanumeric strings' do + apply_manifest(pp1, :catch_failures => true) do |r| + expect(r.stdout).to match(%r{fqdn_rand_string is "(7oDp0KOr1b|9Acvnhkt4J)"}) end - else - '/etc/facter/facts.d' end - end - after :each do - shell("if [ -f '#{facts_d}/fqdn.txt' ] ; then rm '#{facts_d}/fqdn.txt' ; fi") - end - before :each do - #no need to create on windows, pe creates by default - if fact('osfamily') !~ /windows/i - shell("mkdir -p '#{facts_d}'") + + pp2 = <<-PUPPETCODE + $l = 10 + $c = '0123456789' + $o = fqdn_rand_string($l, $c) + notice(inline_template('fqdn_rand_string is <%= @o.inspect %>')) + PUPPETCODE + it 'generates random alphanumeric strings with custom charsets' do + apply_manifest(pp2, :catch_failures => true) do |r| + expect(r.stdout).to match(%r{fqdn_rand_string is "(7203048515|2383756694)"}) + end end - end - it 'generates random alphanumeric strings' do - shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'") - pp = <<-eos - $l = 10 - $o = fqdn_rand_string($l) - notice(inline_template('fqdn_rand_string is <%= @o.inspect %>')) - eos - apply_manifest(pp, :catch_failures => true) do |r| - expect(r.stdout).to match(/fqdn_rand_string is "7oDp0KOr1b"/) + pp3 = <<-PUPPETCODE + $l = 10 + $s = 'seed' + $o = fqdn_rand_string($l, undef, $s) + notice(inline_template('fqdn_rand_string is <%= @o.inspect %>')) + PUPPETCODE + it 'generates random alphanumeric strings with custom seeds' do + apply_manifest(pp3, :catch_failures => true) do |r| + expect(r.stdout).to match(%r{fqdn_rand_string is "(3HS4mbuI3E|1jJtAMs94d)"}) + end end - end - it 'generates random alphanumeric strings with custom seeds' do - shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'") - pp = <<-eos - $l = 10 - $s = 'seed' - $o = fqdn_rand_string($l, undef, $s) - notice(inline_template('fqdn_rand_string is <%= @o.inspect %>')) - eos - apply_manifest(pp, :catch_failures => true) do |r| - expect(r.stdout).to match(/fqdn_rand_string is "3HS4mbuI3E"/) + pp4 = <<-PUPPETCODE + $l = 10 + $c = '0123456789' + $s = 'seed' + $o = fqdn_rand_string($l, $c, $s) + notice(inline_template('fqdn_rand_string is <%= @o.inspect %>')) + PUPPETCODE + it 'generates random alphanumeric strings with custom charsets and seeds' do + apply_manifest(pp4, :catch_failures => true) do |r| + expect(r.stdout).to match(%r{fqdn_rand_string is "(3104058232|7100592312)"}) + end end end end