commit
41a7297cb7
5 changed files with 125 additions and 157 deletions
|
@ -1,22 +0,0 @@
|
|||
#! /usr/bin/env ruby -S rspec
|
||||
require 'spec_helper_acceptance'
|
||||
|
||||
describe 'ensure_packages function', :unless => fact('osfamily') =~ /windows/i do
|
||||
describe 'success' do
|
||||
it 'ensure_packages a package' do
|
||||
apply_manifest('package { "rake": ensure => absent, provider => "gem", }')
|
||||
pp = <<-EOS
|
||||
$a = "rake"
|
||||
ensure_packages($a,{'provider' => 'gem'})
|
||||
EOS
|
||||
|
||||
apply_manifest(pp, :expect_changes => true)
|
||||
end
|
||||
it 'ensures a package already declared'
|
||||
it 'takes defaults arguments'
|
||||
end
|
||||
describe 'failure' do
|
||||
it 'handles no arguments'
|
||||
it 'handles non strings'
|
||||
end
|
||||
end
|
|
@ -3,81 +3,59 @@ require 'spec_helper_acceptance'
|
|||
|
||||
describe 'fqdn_rand_string function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
|
||||
describe 'success' do
|
||||
let(:facts_d) do
|
||||
puppet_version = (on default, puppet('--version')).output.chomp
|
||||
if puppet_version < '4.0.0' && 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
|
||||
|
||||
it 'generates random alphanumeric strings' do
|
||||
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"/)
|
||||
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}'")
|
||||
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
|
||||
it 'generates random alphanumeric strings with custom charsets' do
|
||||
pp = <<-eos
|
||||
$l = 10
|
||||
$c = '0123456789'
|
||||
$o = fqdn_rand_string($l, $c)
|
||||
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"/)
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rand_string is "7203048515"/)
|
||||
end
|
||||
end
|
||||
end
|
||||
it 'generates random alphanumeric strings with custom charsets' do
|
||||
shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
|
||||
pp = <<-eos
|
||||
$l = 10
|
||||
$c = '0123456789'
|
||||
$o = fqdn_rand_string($l, $c)
|
||||
notice(inline_template('fqdn_rand_string is <%= @o.inspect %>'))
|
||||
eos
|
||||
it 'generates random alphanumeric strings with custom seeds' do
|
||||
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 "7203048515"/)
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rand_string is "3HS4mbuI3E"/)
|
||||
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
|
||||
it 'generates random alphanumeric strings with custom charsets and seeds' do
|
||||
pp = <<-eos
|
||||
$l = 10
|
||||
$c = '0123456789'
|
||||
$s = 'seed'
|
||||
$o = fqdn_rand_string($l, $c, $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"/)
|
||||
end
|
||||
end
|
||||
it 'generates random alphanumeric strings with custom charsets and seeds' do
|
||||
shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
|
||||
pp = <<-eos
|
||||
$l = 10
|
||||
$c = '0123456789'
|
||||
$s = 'seed'
|
||||
$o = fqdn_rand_string($l, $c, $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 "3104058232"/)
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rand_string is "3104058232"/)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,79 +3,57 @@ require 'spec_helper_acceptance'
|
|||
|
||||
describe 'fqdn_rotate function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
|
||||
describe 'success' do
|
||||
let(:facts_d) do
|
||||
puppet_version = (on default, puppet('--version')).output.chomp
|
||||
if puppet_version < '4.0.0' && 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
|
||||
|
||||
it 'rotates arrays' do
|
||||
pp = <<-EOS
|
||||
$a = ['a','b','c','d']
|
||||
$o = fqdn_rotate($a)
|
||||
notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
|
||||
EOS
|
||||
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rotate is \["d", "a", "b", "c"\]/)
|
||||
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}'")
|
||||
end
|
||||
end
|
||||
it 'rotates arrays' do
|
||||
shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
|
||||
pp = <<-EOS
|
||||
$a = ['a','b','c','d']
|
||||
$o = fqdn_rotate($a)
|
||||
notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
|
||||
EOS
|
||||
it 'rotates arrays with custom seeds' do
|
||||
pp = <<-EOS
|
||||
$a = ['a','b','c','d']
|
||||
$s = 'seed'
|
||||
$o = fqdn_rotate($a, $s)
|
||||
notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
|
||||
EOS
|
||||
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rotate is \["d", "a", "b", "c"\]/)
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rotate is \["c", "d", "a", "b"\]/)
|
||||
end
|
||||
end
|
||||
end
|
||||
it 'rotates arrays with custom seeds' do
|
||||
shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
|
||||
pp = <<-EOS
|
||||
$a = ['a','b','c','d']
|
||||
$s = 'seed'
|
||||
$o = fqdn_rotate($a, $s)
|
||||
notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
|
||||
EOS
|
||||
it 'rotates strings' do
|
||||
pp = <<-EOS
|
||||
$a = 'abcd'
|
||||
$o = fqdn_rotate($a)
|
||||
notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
|
||||
EOS
|
||||
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rotate is \["c", "d", "a", "b"\]/)
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rotate is "dabc"/)
|
||||
end
|
||||
end
|
||||
end
|
||||
it 'rotates strings' do
|
||||
shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
|
||||
pp = <<-EOS
|
||||
$a = 'abcd'
|
||||
$o = fqdn_rotate($a)
|
||||
notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
|
||||
EOS
|
||||
it 'rotates strings with custom seeds' do
|
||||
pp = <<-EOS
|
||||
$a = 'abcd'
|
||||
$s = 'seed'
|
||||
$o = fqdn_rotate($a, $s)
|
||||
notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
|
||||
EOS
|
||||
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rotate is "dabc"/)
|
||||
end
|
||||
end
|
||||
it 'rotates strings with custom seeds' do
|
||||
shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
|
||||
pp = <<-EOS
|
||||
$a = 'abcd'
|
||||
$s = 'seed'
|
||||
$o = fqdn_rotate($a, $s)
|
||||
notice(inline_template('fqdn_rotate is <%= @o.inspect %>'))
|
||||
EOS
|
||||
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rotate is "cdab"/)
|
||||
apply_manifest(pp, :catch_failures => true) do |r|
|
||||
expect(r.stdout).to match(/fqdn_rotate is "cdab"/)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
require 'spec_helper_acceptance'
|
||||
|
||||
# Windows and OS X do not have useful implementations of crypt(3)
|
||||
describe 'pw_hash function', :unless => (UNSUPPORTED_PLATFORMS + ['windows', 'Darwin']).include?(fact('operatingsystem')) do
|
||||
describe 'pw_hash function', :unless => (UNSUPPORTED_PLATFORMS + ['windows', 'Darwin', 'SLES']).include?(fact('operatingsystem')) do
|
||||
describe 'success' do
|
||||
it 'hashes passwords' do
|
||||
pp = <<-EOS
|
||||
|
|
|
@ -32,3 +32,37 @@ def is_future_parser_enabled?
|
|||
end
|
||||
return false
|
||||
end
|
||||
|
||||
RSpec.shared_context "with faked facts" do
|
||||
let(:facts_d) do
|
||||
puppet_version = (on default, puppet('--version')).output.chomp
|
||||
if Puppet::Util::Package.versioncmp(puppet_version, '4.0.0') < 0 && 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'
|
||||
end
|
||||
else
|
||||
'/etc/facter/facts.d'
|
||||
end
|
||||
end
|
||||
|
||||
before :each do
|
||||
#No need to create on windows, PE creates by default
|
||||
if fact('osfamily') !~ /windows/i
|
||||
shell("mkdir -p '#{facts_d}'")
|
||||
end
|
||||
end
|
||||
|
||||
after :each do
|
||||
shell("rm -f '#{facts_d}/fqdn.txt'")
|
||||
end
|
||||
|
||||
def fake_fact(name, value)
|
||||
shell("echo #{name}=#{value} > '#{facts_d}/#{name}.txt'")
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue