41 lines
9.8 KiB
Ruby
41 lines
9.8 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "role::custom_windows" do
|
|
|
|
context "using fact set Debian-6.0.10-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"=>"6E39B0C5-08BD-4595-AC3D-576DAA677DED"}}, "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:fead:dc1c", "ipaddress6_eth0"=>"fe80::a00:27ff:fead:dc1c", "ipaddress6_lo"=>"::1", "ipaddress_eth0"=>"10.0.2.15", "ipaddress_lo"=>"127.0.0.1", "is_virtual"=>true, "kernel"=>"Linux", "kernelmajversion"=>"2.6", "kernelrelease"=>"2.6.32-5-686", "kernelversion"=>"2.6.32", "load_averages"=>{"15m"=>0.0, "1m"=>0.0, "5m"=>0.0}, "lsbdistcodename"=>"squeeze", "lsbdistdescription"=>"Debian GNU/Linux 6.0.10 (squeeze)", "lsbdistid"=>"Debian", "lsbdistrelease"=>"6.0.10", "lsbmajdistrelease"=>"6", "lsbminordistrelease"=>"0", "macaddress"=>"08:00:27:ad:dc:1c", "macaddress_eth0"=>"08:00:27:ad:dc:1c", "manufacturer"=>"innotek GmbH", "memory"=>{"swap"=>{"available"=>"871.99 MiB", "available_bytes"=>914350080, "capacity"=>"0%", "total"=>"871.99 MiB", "total_bytes"=>914350080, "used"=>"0 bytes", "used_bytes"=>0}, "system"=>{"available"=>"434.46 MiB", "available_bytes"=>455565312, "capacity"=>"13.56%", "total"=>"502.63 MiB", "total_bytes"=>527040512, "used"=>"68.16 MiB", "used_bytes"=>71475200}}, "memoryfree"=>"434.46 MiB", "memoryfree_mb"=>434.4609375, "memorysize"=>"502.63 MiB", "memorysize_mb"=>502.625, "mountpoints"=>{"/"=>{"available"=>"1.69 GiB", "available_bytes"=>1819041792, "capacity"=>"35.07%", "device"=>"/dev/mapper/localhost-root", "filesystem"=>"ext3", "options"=>["rw", "errors=remount-ro"], "size"=>"2.61 GiB", "size_bytes"=>-1493307392, "used"=>"937.10 MiB", "used_bytes"=>982618112}, "/boot"=>{"available"=>"213.27 MiB", "available_bytes"=>223632384, "capacity"=>"6.35%", "device"=>"/dev/sda1", "filesystem"=>"ext2", "options"=>["rw"], "size"=>"227.73 MiB", "size_bytes"=>238787584, "used"=>"14.45 MiB", "used_bytes"=>15155200}}, "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:fead:dc1c", "mac"=>"08:00:27:ad:dc:1c", "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:fead:dc1c", "mac"=>"08:00:27:ad:dc:1c", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::"}, "operatingsystem"=>"Debian", "operatingsystemmajrelease"=>"6", "operatingsystemrelease"=>"6.0.10", "os"=>{"architecture"=>"i386", "distro"=>{"codename"=>"squeeze", "description"=>"Debian GNU/Linux 6.0.10 (squeeze)", "id"=>"Debian", "release"=>{"full"=>"6.0.10", "major"=>"6", "minor"=>"0"}}, "family"=>"Debian", "hardware"=>"i686", "name"=>"Debian", "release"=>{"full"=>"6.0.10", "major"=>"6", "minor"=>"0"}, "selinux"=>{"enabled"=>false}}, "osfamily"=>"Debian", "partitions"=>{"/dev/mapper/localhost-root"=>{"filesystem"=>"ext3", "mount"=>"/", "size"=>"0 bytes", "size_bytes"=>0, "uuid"=>"092d5625-eb03-443c-953f-006bec7d5476"}, "/dev/mapper/localhost-swap_1"=>{"filesystem"=>"swap", "size"=>"0 bytes", "size_bytes"=>0, "uuid"=>"f9e1cf7c-ab54-4949-8e55-290adc8d853f"}, "/dev/sda1"=>{"filesystem"=>"ext2", "mount"=>"/boot", "size"=>"243.00 MiB", "size_bytes"=>254803968, "uuid"=>"2c798378-1738-426f-a847-c929a507fc73"}, "/dev/sda5"=>{"filesystem"=>"LVM2_member", "size"=>"19.76 GiB", "size_bytes"=>-257949696, "uuid"=>"cG2Syv-bT1d-2TyA-Wqgz-33I2-RnTz-jA2LxS"}}, "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 3e0f92fe3eb7ee9737cead81e7465b5903d6ce57", "sha256"=>"SSHFP 2 2 c67d0777eb694d679a1d24335e76dd0475ca92077ff8d02c91f26a4b9cf56b09"}, "key"=>"AAAAB3NzaC1kc3MAAACBAInFvAyGI1vy23JgBDC4/AZeO2jhNRqlX0kdL9utKPaMgrIzIiEN0aqdlSJY4uTFcYAdfYxMuIkYaMh0FM3EMDB0ZL/1k9W2dCVFYpSHgIa/zJwSEqY7sFHdXjRsD3mjOzEZwpjV+dFq8sHoIouIhMcTC4nejrDRno994JoJSyP3AAAAFQCjjYeNB9geUQHIrcE/nY90aiI9pQAAAIBDoY90WppP0db2EyCgnAsl9J70YQg6bCPHHxl61ktEwStzGu7eEZxXVBDCPtFDYKL2gtmIlF0lAbt5KoC9NnVCb0n9vV4qY+xdwxWAjQI3CtrOfEZTaSlsn7lbgcnjXCODnALL92/nS6ahcVRt1KfmWTjCYnP1We+9QBSz/mRD8wAAAIBT+9TbXOqhlfNP/J3X3rEzZ1HsYh7DoLGbh3krSO0vpdC0crj6vx6NTDfJhwye6axWAgQOXF8g87FFTFERgmxEHhZE/QH7YxueNllJxKPtC77uiDBfaHsGtpIhISirr1fPSRTOVeVN3aCqHMualyCCH2xaYC8yGYwvL8W+mgqG6g=="}, "rsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 1 1 d1795dbe0b42f87f01a7a9f822b8ceb40bd6420b", "sha256"=>"SSHFP 1 2 7a4b0b01598345e44894393168d2e803b2dfbae8795a844b02e7ac16a999417a"}, "key"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQCyhapWpsFVIKdKwjNSiqZQYx6m5w7k3+bsmaNs7YU6qg+HrmBXBR/HwckXTPDMAHPVmmDYwi80N89Gp8NPZvnYJnhZwyQPmMUfORWO0aW8SE/TQKgbpbatZOzKb7pYtLT7g7ZbaWBPJBEqU0aCKAl3AW8FX8Hfja7+GD4DBLUi+rPyGPCr+uxa//NL9PE5nO1mQGLsn0Sy1Z7ChECrFVL7mXZ4xVSfTM3v0HI/SNUuq8qCpw8ysZFmUEbRzVEwTFm5zff8IaTZPQi7e/RofgELzn4+cuXiYHYKyiZDSJVDoHnc61OGmPWVxRHzcxNZDJS4dnc1mO48wyKpaM9xZF7B"}}, "sshdsakey"=>"AAAAB3NzaC1kc3MAAACBAInFvAyGI1vy23JgBDC4/AZeO2jhNRqlX0kdL9utKPaMgrIzIiEN0aqdlSJY4uTFcYAdfYxMuIkYaMh0FM3EMDB0ZL/1k9W2dCVFYpSHgIa/zJwSEqY7sFHdXjRsD3mjOzEZwpjV+dFq8sHoIouIhMcTC4nejrDRno994JoJSyP3AAAAFQCjjYeNB9geUQHIrcE/nY90aiI9pQAAAIBDoY90WppP0db2EyCgnAsl9J70YQg6bCPHHxl61ktEwStzGu7eEZxXVBDCPtFDYKL2gtmIlF0lAbt5KoC9NnVCb0n9vV4qY+xdwxWAjQI3CtrOfEZTaSlsn7lbgcnjXCODnALL92/nS6ahcVRt1KfmWTjCYnP1We+9QBSz/mRD8wAAAIBT+9TbXOqhlfNP/J3X3rEzZ1HsYh7DoLGbh3krSO0vpdC0crj6vx6NTDfJhwye6axWAgQOXF8g87FFTFERgmxEHhZE/QH7YxueNllJxKPtC77uiDBfaHsGtpIhISirr1fPSRTOVeVN3aCqHMualyCCH2xaYC8yGYwvL8W+mgqG6g==", "sshfp_dsa"=>"SSHFP 2 1 3e0f92fe3eb7ee9737cead81e7465b5903d6ce57\nSSHFP 2 2 c67d0777eb694d679a1d24335e76dd0475ca92077ff8d02c91f26a4b9cf56b09", "sshfp_rsa"=>"SSHFP 1 1 d1795dbe0b42f87f01a7a9f822b8ceb40bd6420b\nSSHFP 1 2 7a4b0b01598345e44894393168d2e803b2dfbae8795a844b02e7ac16a999417a", "sshrsakey"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQCyhapWpsFVIKdKwjNSiqZQYx6m5w7k3+bsmaNs7YU6qg+HrmBXBR/HwckXTPDMAHPVmmDYwi80N89Gp8NPZvnYJnhZwyQPmMUfORWO0aW8SE/TQKgbpbatZOzKb7pYtLT7g7ZbaWBPJBEqU0aCKAl3AW8FX8Hfja7+GD4DBLUi+rPyGPCr+uxa//NL9PE5nO1mQGLsn0Sy1Z7ChECrFVL7mXZ4xVSfTM3v0HI/SNUuq8qCpw8ysZFmUEbRzVEwTFm5zff8IaTZPQi7e/RofgELzn4+cuXiYHYKyiZDSJVDoHnc61OGmPWVxRHzcxNZDJS4dnc1mO48wyKpaM9xZF7B", "swapfree"=>"871.99 MiB", "swapfree_mb"=>871.9921875, "swapsize"=>"871.99 MiB", "swapsize_mb"=>871.9921875, "system_uptime"=>{"days"=>0, "hours"=>0, "seconds"=>1441, "uptime"=>"0:24 hours"}, "timezone"=>"PST", "uptime"=>"0:24 hours", "uptime_days"=>0, "uptime_hours"=>0, "uptime_seconds"=>1441, "uuid"=>"6E39B0C5-08BD-4595-AC3D-576DAA677DED", "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-6.0.10-32'
|
|
|
|
# Begin user-specified pre_condition
|
|
|
|
# End user-specified pre_condition
|
|
|
|
|
|
END
|
|
}
|
|
|
|
it { should compile }
|
|
end
|
|
end
|
|
|