41 lines
11 KiB
Ruby
41 lines
11 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "role::custom_windows" do
|
|
|
|
context "using fact set Debian-7.8-64" do
|
|
node_facts = {"architecture"=>"amd64", "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"=>21474836480, "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"=>21474836480, "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"=>"117385F3-E367-4C81-BEE6-78384BAAA1DB"}}, "domain"=>"wifredrick.local", "facterversion"=>"3.0.2", "filesystems"=>"ext2,ext3", "fqdn"=>"localhost.wifredrick.local", "gid"=>"root", "hardwareisa"=>"unknown", "hardwaremodel"=>"x86_64", "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:fe83:ad56", "ipaddress6_eth0"=>"fe80::a00:27ff:fe83:ad56", "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-amd64", "kernelversion"=>"3.2.0", "load_averages"=>{"15m"=>0.01, "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:83:ad:56", "macaddress_eth0"=>"08:00:27:83:ad:56", "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"=>"382.02 MiB", "available_bytes"=>400576512, "capacity"=>"23.13%", "total"=>"496.96 MiB", "total_bytes"=>521101312, "used"=>"114.94 MiB", "used_bytes"=>120524800}}, "memoryfree"=>"382.02 MiB", "memoryfree_mb"=>382.01953125, "memorysize"=>"496.96 MiB", "memorysize_mb"=>496.9609375, "mountpoints"=>{"/"=>{"available"=>"17.49 GiB", "available_bytes"=>18781380608, "capacity"=>"6.01%", "device"=>"/dev/mapper/localhost-root", "filesystem"=>"ext3", "options"=>["rw", "relatime", "errors=remount-ro", "user_xattr", "acl", "barrier=1", "data=ordered"], "size"=>"18.61 GiB", "size_bytes"=>19981529088, "used"=>"1.12 GiB", "used_bytes"=>1200148480}, "/boot"=>{"available"=>"210.36 MiB", "available_bytes"=>220575744, "capacity"=>"7.63%", "device"=>"/dev/sda1", "filesystem"=>"ext2", "options"=>["rw", "relatime", "errors=continue"], "size"=>"227.73 MiB", "size_bytes"=>238787584, "used"=>"17.37 MiB", "used_bytes"=>18211840}}, "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:fe83:ad56", "mac"=>"08:00:27:83:ad:56", "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:fe83:ad56", "mac"=>"08:00:27:83:ad:56", "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"=>"amd64", "distro"=>{"codename"=>"wheezy", "description"=>"Debian GNU/Linux 7.8 (wheezy)", "id"=>"Debian", "release"=>{"full"=>"7.8", "major"=>"7", "minor"=>"8"}}, "family"=>"Debian", "hardware"=>"x86_64", "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"=>"7b853135-fb91-48ff-a25c-8d34ada8d549"}, "/dev/mapper/localhost-swap_1"=>{"filesystem"=>"swap", "size"=>"0 bytes", "size_bytes"=>0, "uuid"=>"486756ce-bdd1-45f4-864d-e4b6fce59b9d"}, "/dev/sda1"=>{"filesystem"=>"ext2", "mount"=>"/boot", "size"=>"243.00 MiB", "size_bytes"=>254803968, "uuid"=>"8aa50802-2811-43ec-9686-a30f6a1c3ade"}, "/dev/sda5"=>{"filesystem"=>"LVM2_member", "size"=>"19.76 GiB", "size_bytes"=>21216886784, "uuid"=>"eGBBBU-DZw3-wy0f-OMxw-Sf5d-jDyA-ctqcpx"}}, "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"=>"x86_64-linux", "sitedir"=>"/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.1.0", "version"=>"2.1.6"}, "rubyplatform"=>"x86_64-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 36d929686c60f981438c3e708f76eaa8aea811ac", "sha256"=>"SSHFP 2 2 f509f25d24c474bf0f2b0fae387b1c798174632af84f7e7b064ead1d1e23b144"}, "key"=>"AAAAB3NzaC1kc3MAAACBAKo52UJRnjkvuOvraymZ2bDiTUEUexIZ50eR2hx47JpOCUW0OMFH443axvl4TeCpPwqTbf0MH3RdkdSqpGOSAAcBmDfOyI5o9dgzWwSIiplNTxO29tUB9YinkduLEe4pXL5FwZ20owYnvcbrlc8t+LNl8Vku3zWWMrng6mf620MVAAAAFQC5KtOLXLxKD3hk3ATXQbnli4wMRwAAAIAy3bLl4X5yk+WYssTadam8ScUdvzVBCXsrfK9o8HNHfdHCAQqYRYYlC7muDATZxhyw72IhZsFzw/Wswr+5K35hElvrH8j3pFXafe+5dp18CP3V+vXTAzVBiiOnA+AG1tvudBRsrh7bhD9oq1LnXqijLRiI9nD0Faem4uGcT7/jqgAAAIBudV2Q2VYl/N+pRv4/JTgsNLtNz3X12dMjeNXwbpM9LJZUVZDq/KsT1vdDTYOy42g/v14ucRU50QyyAxx78prRgyTIfyKFDEiff9i5uok0c/YN0t2w9ayYkYl6xBWVj+q2SiUM6WdqJdb7sltOLGwsjkroqAV0xdBpbiN6ZWvzKA=="}, "ecdsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 3 1 263f3632f018d8535aaf8374ff4e8bdfc2eb118a", "sha256"=>"SSHFP 3 2 f14b4e61f1569a8181800a082ce91452ce352122bffe4e39314888b280f598a6"}, "key"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEspGa8fuYvtfy2pnBhKV/d/xfmUmvAVUhCJLOlwRURmszRQBW/+GwvhPIT1avptddqTUF2HeA1XKLkbabnxoHI="}, "rsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 1 1 3f543127df57aceb9be2259918ff9115e507be37", "sha256"=>"SSHFP 1 2 90114d6c22d6a759b85f4df1316c567828da41411ae36e8eb09e480bf3cd8ac3"}, "key"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQC8R/CbG0zr75BfoeoCv0GuLcxEIf8Yp5+s2OJKrYRqRmfD9gM6f4J3lVGB/+i5WRiQqJ61Mogstd4CSFmIUhq+opARvDQGxIz1mgV4aHAZDIAGYZ9b1nwS//JWb7nW5mMQqOW3fq59XWxssWjkW6kjJqNSvJtH24kDayxg3jB6Xt2jChz6NLq0t+WmRf24EKCymfnTOdXc4a2sSusAwSb1yl6iHnLpkd5efsUm/ZNCOzHbUtUsnAfDW4MNCUTzq8M/9SpCy2CRid4F29bD1jnJEvyPRrIRAwfPdJTuNZ06pzOWexvS0PcOY6tb0XbdFE78iDdUrVHqTGJiVrFHLoAx"}}, "sshdsakey"=>"AAAAB3NzaC1kc3MAAACBAKo52UJRnjkvuOvraymZ2bDiTUEUexIZ50eR2hx47JpOCUW0OMFH443axvl4TeCpPwqTbf0MH3RdkdSqpGOSAAcBmDfOyI5o9dgzWwSIiplNTxO29tUB9YinkduLEe4pXL5FwZ20owYnvcbrlc8t+LNl8Vku3zWWMrng6mf620MVAAAAFQC5KtOLXLxKD3hk3ATXQbnli4wMRwAAAIAy3bLl4X5yk+WYssTadam8ScUdvzVBCXsrfK9o8HNHfdHCAQqYRYYlC7muDATZxhyw72IhZsFzw/Wswr+5K35hElvrH8j3pFXafe+5dp18CP3V+vXTAzVBiiOnA+AG1tvudBRsrh7bhD9oq1LnXqijLRiI9nD0Faem4uGcT7/jqgAAAIBudV2Q2VYl/N+pRv4/JTgsNLtNz3X12dMjeNXwbpM9LJZUVZDq/KsT1vdDTYOy42g/v14ucRU50QyyAxx78prRgyTIfyKFDEiff9i5uok0c/YN0t2w9ayYkYl6xBWVj+q2SiUM6WdqJdb7sltOLGwsjkroqAV0xdBpbiN6ZWvzKA==", "sshecdsakey"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEspGa8fuYvtfy2pnBhKV/d/xfmUmvAVUhCJLOlwRURmszRQBW/+GwvhPIT1avptddqTUF2HeA1XKLkbabnxoHI=", "sshfp_dsa"=>"SSHFP 2 1 36d929686c60f981438c3e708f76eaa8aea811ac\nSSHFP 2 2 f509f25d24c474bf0f2b0fae387b1c798174632af84f7e7b064ead1d1e23b144", "sshfp_ecdsa"=>"SSHFP 3 1 263f3632f018d8535aaf8374ff4e8bdfc2eb118a\nSSHFP 3 2 f14b4e61f1569a8181800a082ce91452ce352122bffe4e39314888b280f598a6", "sshfp_rsa"=>"SSHFP 1 1 3f543127df57aceb9be2259918ff9115e507be37\nSSHFP 1 2 90114d6c22d6a759b85f4df1316c567828da41411ae36e8eb09e480bf3cd8ac3", "sshrsakey"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQC8R/CbG0zr75BfoeoCv0GuLcxEIf8Yp5+s2OJKrYRqRmfD9gM6f4J3lVGB/+i5WRiQqJ61Mogstd4CSFmIUhq+opARvDQGxIz1mgV4aHAZDIAGYZ9b1nwS//JWb7nW5mMQqOW3fq59XWxssWjkW6kjJqNSvJtH24kDayxg3jB6Xt2jChz6NLq0t+WmRf24EKCymfnTOdXc4a2sSusAwSb1yl6iHnLpkd5efsUm/ZNCOzHbUtUsnAfDW4MNCUTzq8M/9SpCy2CRid4F29bD1jnJEvyPRrIRAwfPdJTuNZ06pzOWexvS0PcOY6tb0XbdFE78iDdUrVHqTGJiVrFHLoAx", "swapfree"=>"872.00 MiB", "swapfree_mb"=>871.99609375, "swapsize"=>"872.00 MiB", "swapsize_mb"=>871.99609375, "system_uptime"=>{"days"=>0, "hours"=>0, "seconds"=>650, "uptime"=>"0:10 hours"}, "timezone"=>"PST", "uptime"=>"0:10 hours", "uptime_days"=>0, "uptime_hours"=>0, "uptime_seconds"=>650, "uuid"=>"117385F3-E367-4C81-BEE6-78384BAAA1DB", "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-64'
|
|
|
|
# Begin user-specified pre_condition
|
|
|
|
# End user-specified pre_condition
|
|
|
|
|
|
END
|
|
}
|
|
|
|
it { should compile }
|
|
end
|
|
end
|
|
|