41 lines
10 KiB
Ruby
41 lines
10 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "role::custom_windows" do
|
|
|
|
context "using fact set Debian-7.8-32" do
|
|
node_facts = {"architecture"=>"i386", "augeas"=>{"version"=>"1.4.0"}, "augeasversion"=>"1.4.0", "bios_release_date"=>"12/01/2006", "bios_vendor"=>"innotek GmbH", "bios_version"=>"VirtualBox", "blockdevice_sda_model"=>"VBOX HARDDISK", "blockdevice_sda_size"=>0, "blockdevice_sda_vendor"=>"ATA", "blockdevices"=>"sda", "boardmanufacturer"=>"Oracle Corporation", "boardproductname"=>"VirtualBox", "boardserialnumber"=>"0", "chassistype"=>"Other", "dhcp_servers"=>{"eth0"=>"10.0.2.2", "system"=>"10.0.2.2"}, "disks"=>{"sda"=>{"model"=>"VBOX HARDDISK", "size"=>"20.00 GiB", "size_bytes"=>0, "vendor"=>"ATA"}}, "dmi"=>{"bios"=>{"release_date"=>"12/01/2006", "vendor"=>"innotek GmbH", "version"=>"VirtualBox"}, "board"=>{"manufacturer"=>"Oracle Corporation", "product"=>"VirtualBox", "serial_number"=>"0"}, "chassis"=>{"type"=>"Other"}, "manufacturer"=>"innotek GmbH", "product"=>{"name"=>"VirtualBox", "serial_number"=>"0", "uuid"=>"75AFEC9A-DECD-40F4-B25F-A737EE8BA7CA"}}, "domain"=>"wifredrick.local", "facterversion"=>"3.0.2", "filesystems"=>"ext2,ext3", "fqdn"=>"localhost.wifredrick.local", "gid"=>"root", "hardwareisa"=>"unknown", "hardwaremodel"=>"i686", "hostname"=>"localhost", "id"=>"root", "identity"=>{"gid"=>0, "group"=>"root", "uid"=>0, "user"=>"root"}, "interfaces"=>"eth0,lo", "ipaddress"=>"10.0.2.15", "ipaddress6"=>"fe80::a00:27ff:fe18:59a5", "ipaddress6_eth0"=>"fe80::a00:27ff:fe18:59a5", "ipaddress6_lo"=>"::1", "ipaddress_eth0"=>"10.0.2.15", "ipaddress_lo"=>"127.0.0.1", "is_virtual"=>true, "kernel"=>"Linux", "kernelmajversion"=>"3.2", "kernelrelease"=>"3.2.0-4-686-pae", "kernelversion"=>"3.2.0", "load_averages"=>{"15m"=>0.03, "1m"=>0.0, "5m"=>0.01}, "lsbdistcodename"=>"wheezy", "lsbdistdescription"=>"Debian GNU/Linux 7.8 (wheezy)", "lsbdistid"=>"Debian", "lsbdistrelease"=>"7.8", "lsbmajdistrelease"=>"7", "lsbminordistrelease"=>"8", "macaddress"=>"08:00:27:18:59:a5", "macaddress_eth0"=>"08:00:27:18:59:a5", "manufacturer"=>"innotek GmbH", "memory"=>{"swap"=>{"available"=>"872.00 MiB", "available_bytes"=>914354176, "capacity"=>"0%", "total"=>"872.00 MiB", "total_bytes"=>914354176, "used"=>"0 bytes", "used_bytes"=>0}, "system"=>{"available"=>"432.02 MiB", "available_bytes"=>453001216, "capacity"=>"14.00%", "total"=>"502.32 MiB", "total_bytes"=>526725120, "used"=>"70.31 MiB", "used_bytes"=>73723904}}, "memoryfree"=>"432.02 MiB", "memoryfree_mb"=>432.015625, "memorysize"=>"502.32 MiB", "memorysize_mb"=>502.32421875, "mountpoints"=>{"/"=>{"available"=>"1.52 GiB", "available_bytes"=>1633996800, "capacity"=>"41.68%", "device"=>"/dev/mapper/localhost-root", "filesystem"=>"ext3", "options"=>["rw", "relatime", "errors=remount-ro", "user_xattr", "acl", "barrier=1", "data=ordered"], "size"=>"2.61 GiB", "size_bytes"=>-1493307392, "used"=>"1.09 GiB", "used_bytes"=>1167663104}, "/boot"=>{"available"=>"211.24 MiB", "available_bytes"=>221499392, "capacity"=>"7.24%", "device"=>"/dev/sda1", "filesystem"=>"ext2", "options"=>["rw", "relatime", "errors=continue"], "size"=>"227.73 MiB", "size_bytes"=>238787584, "used"=>"16.49 MiB", "used_bytes"=>17288192}}, "mtu_eth0"=>1500, "mtu_lo"=>16436, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "netmask6_eth0"=>"ffff:ffff:ffff:ffff::", "netmask6_lo"=>"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "netmask_eth0"=>"255.255.255.0", "netmask_lo"=>"255.0.0.0", "network"=>"10.0.2.0", "network6"=>"fe80::", "network6_eth0"=>"fe80::", "network6_lo"=>"::1", "network_eth0"=>"10.0.2.0", "network_lo"=>"127.0.0.0", "networking"=>{"dhcp"=>"10.0.2.2", "domain"=>"wifredrick.local", "fqdn"=>"localhost.wifredrick.local", "hostname"=>"localhost", "interfaces"=>{"eth0"=>{"dhcp"=>"10.0.2.2", "ip"=>"10.0.2.15", "ip6"=>"fe80::a00:27ff:fe18:59a5", "mac"=>"08:00:27:18:59:a5", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::"}, "lo"=>{"ip"=>"127.0.0.1", "ip6"=>"::1", "mtu"=>16436, "netmask"=>"255.0.0.0", "netmask6"=>"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "network"=>"127.0.0.0", "network6"=>"::1"}}, "ip"=>"10.0.2.15", "ip6"=>"fe80::a00:27ff:fe18:59a5", "mac"=>"08:00:27:18:59:a5", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::"}, "operatingsystem"=>"Debian", "operatingsystemmajrelease"=>"7", "operatingsystemrelease"=>"7.8", "os"=>{"architecture"=>"i386", "distro"=>{"codename"=>"wheezy", "description"=>"Debian GNU/Linux 7.8 (wheezy)", "id"=>"Debian", "release"=>{"full"=>"7.8", "major"=>"7", "minor"=>"8"}}, "family"=>"Debian", "hardware"=>"i686", "name"=>"Debian", "release"=>{"full"=>"7.8", "major"=>"7", "minor"=>"8"}, "selinux"=>{"enabled"=>false}}, "osfamily"=>"Debian", "partitions"=>{"/dev/mapper/localhost-root"=>{"filesystem"=>"ext3", "mount"=>"/", "size"=>"0 bytes", "size_bytes"=>0, "uuid"=>"c87cb2c9-ffb8-48d1-bc31-024a57d3e44e"}, "/dev/mapper/localhost-swap_1"=>{"filesystem"=>"swap", "size"=>"0 bytes", "size_bytes"=>0, "uuid"=>"864df30a-fc50-4a93-8cfd-4624251c1589"}, "/dev/sda1"=>{"filesystem"=>"ext2", "mount"=>"/boot", "size"=>"243.00 MiB", "size_bytes"=>254803968, "uuid"=>"b8ab8500-a238-4554-8d11-9c194ebba70c"}, "/dev/sda5"=>{"filesystem"=>"LVM2_member", "size"=>"19.76 GiB", "size_bytes"=>-257949696, "uuid"=>"NvdPwA-esP3-xUuv-n9OR-Ep7r-kQAr-qyUAzr"}}, "path"=>"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/puppetlabs/bin", "physicalprocessorcount"=>1, "processor0"=>"Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz", "processorcount"=>1, "processors"=>{"count"=>1, "isa"=>"unknown", "models"=>["Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz"], "physicalcount"=>1}, "productname"=>"VirtualBox", "puppetversion"=>"4.2.1", "ruby"=>{"platform"=>"i686-linux", "sitedir"=>"/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.1.0", "version"=>"2.1.6"}, "rubyplatform"=>"i686-linux", "rubysitedir"=>"/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.1.0", "rubyversion"=>"2.1.6", "selinux"=>false, "serialnumber"=>"0", "ssh"=>{"dsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 2 1 ffc65c9d4e1956519935d902798fc58cbafde1fa", "sha256"=>"SSHFP 2 2 3a59447b36760803f33fdda5c1f58681b271a8a5e6fb4997ee7241cb29a59906"}, "key"=>"AAAAB3NzaC1kc3MAAACBANJna2zK1ufiBINsA3RgaBhVXUFlya5rxD6A2KkeYr1yWcDECATGcsSh6KDEC4asOEtoyIogsZx/5ygefXeR+0R1XYQghrFsZWSwIdVV+jrt6IWddub3KXp8UvfWYUUXKAm0fiGXzTJ7sodap1ep/FBM0cyyaWYXvQCgiBr/T+lLAAAAFQCGGv9dGnuyKCMssoWebZ7PRd41cQAAAIEAsmFTg56Q5KwsFyYrtUR+fZlL983DI4m+/PPWI/pZ4sgvRjA7NWfr+gfJrSObH88ZAccu7edbVSfOyRVcOqCjBYU3nybG9vuelacqm4qdTnZbUWlMZJ1clJ4GlRVPO9zEhuODBleyxQW13XiwgNe9h9vOXlu/xu8aogaIyLfXGZgAAACAMe0yNEoADrHDE8rXr6nvytfibxofPnCtZj7L54OY7HuaBv1I0OqdJVjLw7SjJQ3vIiiR2pMMFVioROgVWUokdskTT/M3RvEcoNG55iYFVe8p43Z1HY4NNLgHIoPZ4C3EDDxiwCxiFK0kmhbg9boyV0Dyra/rbEAyZH6xNZYBR/c="}, "ecdsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 3 1 5222b070970562793c4df0db8916f7828334bad4", "sha256"=>"SSHFP 3 2 920d4e5ef5dc8064271df26a5cda37211772a9133537d4520addef0e2dc0a480"}, "key"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOkAfihhbn6Ht/z9rqOPlshRbi8MFhg12kUUf9PBVvKOBA3wgmHzOlcwSdhpO9olPla92uplSlntiE+bqR7eZhA="}, "rsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 1 1 5bd78bebc725f3afc34cff576f09eaa052ef6c3d", "sha256"=>"SSHFP 1 2 c9e8b904a928e59d86e90e84d972b95bc3eabbfcf465ce0bb9569547ac5c2aa6"}, "key"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQD4eO7mc/0jHFMbrPCrT6ktvNPzIqceRoIo6Kf/E845UlOO0eX425jMKVLqmnQCorZnN168LyyRfBoKXCmC/EEe18BlTcosCBseh/RytFcOpaUcX5etnmaqf8yBg4Hcp2zkRQx4HsHJMK5/52Dha7ZU7FvgJBMfCJULaEL9t+eRp1bOLN7GnFsMkXAaLmUqI3d6cVI8rc10ocQMu1nhzzNX4FDjoSvRH/AKGTzcIm8LBXUAR3v1ubFf+8Qc8vYF/sGcyJAJ0Bhcmg9/KH9NQMT01u0cgCOsxzBXu56CF5zeKERrbi8k6OJzz0t+rT8/7mwJOgKx4QhHt69jqt4KVeJv"}}, "sshdsakey"=>"AAAAB3NzaC1kc3MAAACBANJna2zK1ufiBINsA3RgaBhVXUFlya5rxD6A2KkeYr1yWcDECATGcsSh6KDEC4asOEtoyIogsZx/5ygefXeR+0R1XYQghrFsZWSwIdVV+jrt6IWddub3KXp8UvfWYUUXKAm0fiGXzTJ7sodap1ep/FBM0cyyaWYXvQCgiBr/T+lLAAAAFQCGGv9dGnuyKCMssoWebZ7PRd41cQAAAIEAsmFTg56Q5KwsFyYrtUR+fZlL983DI4m+/PPWI/pZ4sgvRjA7NWfr+gfJrSObH88ZAccu7edbVSfOyRVcOqCjBYU3nybG9vuelacqm4qdTnZbUWlMZJ1clJ4GlRVPO9zEhuODBleyxQW13XiwgNe9h9vOXlu/xu8aogaIyLfXGZgAAACAMe0yNEoADrHDE8rXr6nvytfibxofPnCtZj7L54OY7HuaBv1I0OqdJVjLw7SjJQ3vIiiR2pMMFVioROgVWUokdskTT/M3RvEcoNG55iYFVe8p43Z1HY4NNLgHIoPZ4C3EDDxiwCxiFK0kmhbg9boyV0Dyra/rbEAyZH6xNZYBR/c=", "sshecdsakey"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOkAfihhbn6Ht/z9rqOPlshRbi8MFhg12kUUf9PBVvKOBA3wgmHzOlcwSdhpO9olPla92uplSlntiE+bqR7eZhA=", "sshfp_dsa"=>"SSHFP 2 1 ffc65c9d4e1956519935d902798fc58cbafde1fa\nSSHFP 2 2 3a59447b36760803f33fdda5c1f58681b271a8a5e6fb4997ee7241cb29a59906", "sshfp_ecdsa"=>"SSHFP 3 1 5222b070970562793c4df0db8916f7828334bad4\nSSHFP 3 2 920d4e5ef5dc8064271df26a5cda37211772a9133537d4520addef0e2dc0a480", "sshfp_rsa"=>"SSHFP 1 1 5bd78bebc725f3afc34cff576f09eaa052ef6c3d\nSSHFP 1 2 c9e8b904a928e59d86e90e84d972b95bc3eabbfcf465ce0bb9569547ac5c2aa6", "sshrsakey"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQD4eO7mc/0jHFMbrPCrT6ktvNPzIqceRoIo6Kf/E845UlOO0eX425jMKVLqmnQCorZnN168LyyRfBoKXCmC/EEe18BlTcosCBseh/RytFcOpaUcX5etnmaqf8yBg4Hcp2zkRQx4HsHJMK5/52Dha7ZU7FvgJBMfCJULaEL9t+eRp1bOLN7GnFsMkXAaLmUqI3d6cVI8rc10ocQMu1nhzzNX4FDjoSvRH/AKGTzcIm8LBXUAR3v1ubFf+8Qc8vYF/sGcyJAJ0Bhcmg9/KH9NQMT01u0cgCOsxzBXu56CF5zeKERrbi8k6OJzz0t+rT8/7mwJOgKx4QhHt69jqt4KVeJv", "swapfree"=>"872.00 MiB", "swapfree_mb"=>871.99609375, "swapsize"=>"872.00 MiB", "swapsize_mb"=>871.99609375, "system_uptime"=>{"days"=>0, "hours"=>0, "seconds"=>800, "uptime"=>"0:13 hours"}, "timezone"=>"PST", "uptime"=>"0:13 hours", "uptime_days"=>0, "uptime_hours"=>0, "uptime_seconds"=>800, "uuid"=>"75AFEC9A-DECD-40F4-B25F-A737EE8BA7CA", "virtual"=>"virtualbox", "clientcert"=>"localhost.wifredrick.local", "clientversion"=>"4.2.1", "clientnoop"=>false}
|
|
let(:facts) { node_facts }
|
|
|
|
|
|
before :each do
|
|
# Curtrently there is some code within Puppet that will try to execute
|
|
# commands when compiling a catalog even though it shouldn't. One example is
|
|
# the groups attribute of the user resource on AIX. If we are running on
|
|
# Windows but pretending to be UNIX this will definitely fail so we need to
|
|
# mock it (or vice versa)
|
|
# Details:
|
|
# https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/execution.rb#L191
|
|
expected_null_file = Puppet::Util::Platform.windows? ? 'NUL' : '/dev/null'
|
|
unless File.exist? expected_null_file
|
|
allow(Puppet::Util::Execution).to receive(:execute).and_raise(Puppet::ExecutionFailure.new("Onceover caused this"))
|
|
end
|
|
end
|
|
|
|
let(:pre_condition) {
|
|
pp = <<-'END'
|
|
$onceover_class = 'role::custom_windows'
|
|
$onceover_node = 'Debian-7.8-32'
|
|
|
|
# Begin user-specified pre_condition
|
|
|
|
# End user-specified pre_condition
|
|
|
|
|
|
END
|
|
}
|
|
|
|
it { should compile }
|
|
end
|
|
end
|
|
|