41 lines
11 KiB
Ruby
41 lines
11 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "role::custom_windows" do
|
|
|
|
context "using fact set CentOS-6.6-64" do
|
|
node_facts = {"aio_agent_build"=>"1.2.2", "aio_agent_version"=>"1.2.2", "architecture"=>"x86_64", "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", "concat_basedir"=>"/opt/puppetlabs/puppet/cache/concat", "custom_auth_conf"=>"false", "datacenter"=>"portland", "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"=>"DA4CD203-2C23-4E21-B169-293D1749C38C"}}, "domain"=>"pdx.puppetlabs.demo", "facterversion"=>"3.0.2", "filesystems"=>"ext4,iso9660", "fqdn"=>"centos6a.pdx.puppetlabs.demo", "gid"=>"root", "hardwareisa"=>"x86_64", "hardwaremodel"=>"x86_64", "homedir"=>"/root", "hostname"=>"centos6a", "id"=>"root", "identity"=>{"gid"=>0, "group"=>"root", "uid"=>0, "user"=>"root"}, "interfaces"=>"eth0,eth1,lo", "ip6tables_version"=>"1.4.7", "ipaddress"=>"10.0.2.15", "ipaddress6"=>"fe80::a00:27ff:fe0f:d276", "ipaddress6_eth0"=>"fe80::a00:27ff:fe0f:d276", "ipaddress6_eth1"=>"fe80::a00:27ff:fe66:988a", "ipaddress6_lo"=>"::1", "ipaddress_eth0"=>"10.0.2.15", "ipaddress_eth1"=>"10.20.1.88", "ipaddress_lo"=>"127.0.0.1", "iptables_version"=>"1.4.7", "is_admin"=>true, "is_pe"=>false, "is_virtual"=>true, "kernel"=>"Linux", "kernelmajversion"=>"2.6", "kernelrelease"=>"2.6.32-504.8.1.el6.x86_64", "kernelversion"=>"2.6.32", "load_averages"=>{"15m"=>0.0, "1m"=>0.0, "5m"=>0.0}, "macaddress"=>"08:00:27:0f:d2:76", "macaddress_eth0"=>"08:00:27:0f:d2:76", "macaddress_eth1"=>"08:00:27:66:98:8a", "manufacturer"=>"innotek GmbH", "memory"=>{"swap"=>{"available"=>"992.00 MiB", "available_bytes"=>1040183296, "capacity"=>"0%", "total"=>"992.00 MiB", "total_bytes"=>1040183296, "used"=>"0 bytes", "used_bytes"=>0}, "system"=>{"available"=>"348.41 MiB", "available_bytes"=>365338624, "capacity"=>"28.95%", "total"=>"490.39 MiB", "total_bytes"=>514215936, "used"=>"141.98 MiB", "used_bytes"=>148877312}}, "memoryfree"=>"348.41 MiB", "memoryfree_mb"=>348.4140625, "memorysize"=>"490.39 MiB", "memorysize_mb"=>490.39453125, "mountpoints"=>{"/"=>{"available"=>"16.94 GiB", "available_bytes"=>18193268736, "capacity"=>"6.51%", "device"=>"/dev/mapper/VolGroup-lv_root", "filesystem"=>"ext4", "options"=>["rw"], "size"=>"18.12 GiB", "size_bytes"=>19459338240, "used"=>"1.18 GiB", "used_bytes"=>1266069504}, "/boot"=>{"available"=>"448.35 MiB", "available_bytes"=>470125568, "capacity"=>"5.85%", "device"=>"/dev/sda1", "filesystem"=>"ext4", "options"=>["rw"], "size"=>"476.22 MiB", "size_bytes"=>499355648, "used"=>"27.88 MiB", "used_bytes"=>29230080}}, "mtu_eth0"=>1500, "mtu_eth1"=>1500, "mtu_lo"=>65536, "mysql_server_id"=>8555670, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "netmask6_eth0"=>"ffff:ffff:ffff:ffff::", "netmask6_eth1"=>"ffff:ffff:ffff:ffff::", "netmask6_lo"=>"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "netmask_eth0"=>"255.255.255.0", "netmask_eth1"=>"255.255.255.0", "netmask_lo"=>"255.0.0.0", "network"=>"10.0.2.0", "network6"=>"fe80::", "network6_eth0"=>"fe80::", "network6_eth1"=>"fe80::", "network6_lo"=>"::1", "network_eth0"=>"10.0.2.0", "network_eth1"=>"10.20.1.0", "network_lo"=>"127.0.0.0", "networking"=>{"dhcp"=>"10.0.2.2", "domain"=>"pdx.puppetlabs.demo", "fqdn"=>"centos6a.pdx.puppetlabs.demo", "hostname"=>"centos6a", "interfaces"=>{"eth0"=>{"dhcp"=>"10.0.2.2", "ip"=>"10.0.2.15", "ip6"=>"fe80::a00:27ff:fe0f:d276", "mac"=>"08:00:27:0f:d2:76", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::"}, "eth1"=>{"ip"=>"10.20.1.88", "ip6"=>"fe80::a00:27ff:fe66:988a", "mac"=>"08:00:27:66:98:8a", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.20.1.0", "network6"=>"fe80::"}, "lo"=>{"ip"=>"127.0.0.1", "ip6"=>"::1", "mtu"=>65536, "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:fe0f:d276", "mac"=>"08:00:27:0f:d2:76", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::"}, "operatingsystem"=>"CentOS", "operatingsystemmajrelease"=>"6", "operatingsystemrelease"=>"6.6", "os"=>{"architecture"=>"x86_64", "family"=>"RedHat", "hardware"=>"x86_64", "name"=>"CentOS", "release"=>{"full"=>"6.6", "major"=>"6", "minor"=>"6"}, "selinux"=>{"enabled"=>false}}, "osfamily"=>"RedHat", "partitions"=>{"/dev/mapper/VolGroup-lv_root"=>{"filesystem"=>"ext4", "mount"=>"/", "size"=>"0 bytes", "size_bytes"=>0, "uuid"=>"a29409f8-0b58-4271-a348-032caefec8b8"}, "/dev/mapper/VolGroup-lv_swap"=>{"filesystem"=>"swap", "size"=>"0 bytes", "size_bytes"=>0, "uuid"=>"b30b464a-8ac9-492a-a1c5-2da75bb7488a"}, "/dev/sda1"=>{"filesystem"=>"ext4", "mount"=>"/boot", "size"=>"500.00 MiB", "size_bytes"=>524288000, "uuid"=>"da946872-1406-4ac1-9a4d-f7ce5f7be47e"}, "/dev/sda2"=>{"filesystem"=>"LVM2_member", "size"=>"19.51 GiB", "size_bytes"=>20949499904, "uuid"=>"nRdWPh-INkA-aHPs-TNtk-HjJG-SxBU-DdqI8a"}}, "path"=>"/opt/puppetlabs/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin", "pe_concat_basedir"=>"/opt/puppetlabs/puppet/cache/pe_concat", "pe_razor_server_version"=>"package pe-razor-server is not installed", "physicalprocessorcount"=>1, "platform_symlink_writable"=>true, "platform_tag"=>"el-6-x86_64", "processor0"=>"Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz", "processorcount"=>1, "processors"=>{"count"=>1, "isa"=>"x86_64", "models"=>["Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz"], "physicalcount"=>1}, "productname"=>"VirtualBox", "puppet_files_dir_present"=>false, "puppet_vardir"=>"/opt/puppetlabs/puppet/cache", "puppetversion"=>"4.2.1", "root_home"=>"/root", "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 5dad11db93cde6e3b1d5ce5a5fe5ad02825037e8", "sha256"=>"SSHFP 2 2 576fe2b6a8412ada50cb776e6f1da5dd4bc301f2aa682be2ff82c70558c14745"}, "key"=>"AAAAB3NzaC1kc3MAAACBAJSFgQJi2VfgHnp2MQsV2wNpONevQuhi1Jb/nX0EjHtrAgc8MNRXLQTmjunh5q4+mjcYMHXDIx6F0Oc4XCnR5g6uQwBOGg70oXJmUkmwCw/mdgu3ppepOQJssBKnKFCR7QsbrBL+U1YmYmV8eGYDB76eXWRBOd9LewcGkjhHYbpzAAAAFQCShhFDlgHvmj6kcr6XRUuYPNziNwAAAIBBjLzEbwqoedlUKXRGuKc7nU71qWAkahN8rI4lU7d6PrVS7XziNX3OTCXbRCF3wT/dlYBU+grjmOIF4dbOrjBCHmmYVzlntXsefyR6XIbJw/H08L2LdDT6aye+MDWdYGK0PqgV6AZ5pWUzu7wS+qJduOaNMts5YrzqvlhiFDO8EAAAAIAJoqYk2bkNTPnjYi4qhIP3o+7Lhpxh5akAkjPMpM4tf/BedBqzKimvWhtDNVTcNCOZwJuSkHL4SSafvPCoxbKY4YhFWYykS/Vdle9ixNtH+wMU5d8DsSsvZpfa4lvj9FpzgfcM+NT1aYHis/pIRpBblPfHHnFBsxGKX66v6webHg=="}, "rsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 1 1 e1e2811771eb093d9b74333a111e089bc8e434ef", "sha256"=>"SSHFP 1 2 4513b7ba6b47b22319ea40fe9e0f12e9ac200b367b78508364a80a2a9b92409c"}, "key"=>"AAAAB3NzaC1yc2EAAAABIwAAAQEA3Gn072MPvlL1R0RpTGod7BxiCvm4Wp6p8gRYJgEba9FLtYTWYhx18ueLnuFWKnK6WMpwe24732ZGGCsagjBkEo8DFJZABZbfSHxW1gsmU6smUM9o2wt9ZEeYJ036DqIkg4DzsBLc206NKStuKCTOINFSwBtHAWkZCeGdon8ssEoery//yZchbHBXQB1f312Re42W4eLNpWm0T93eEwRRMOpnLtNFrVa9kvHv71eQx2crvDG2xd6BfN0PkU0tx0TBzDS2xUqBg5m1MdNbarxWH1Km8JUEH40jl3YKgh5g0lrfEE36xIItPtW2mFawsMBpMK0iPerqs60or9SjM1LwXQ=="}}, "sshdsakey"=>"AAAAB3NzaC1kc3MAAACBAJSFgQJi2VfgHnp2MQsV2wNpONevQuhi1Jb/nX0EjHtrAgc8MNRXLQTmjunh5q4+mjcYMHXDIx6F0Oc4XCnR5g6uQwBOGg70oXJmUkmwCw/mdgu3ppepOQJssBKnKFCR7QsbrBL+U1YmYmV8eGYDB76eXWRBOd9LewcGkjhHYbpzAAAAFQCShhFDlgHvmj6kcr6XRUuYPNziNwAAAIBBjLzEbwqoedlUKXRGuKc7nU71qWAkahN8rI4lU7d6PrVS7XziNX3OTCXbRCF3wT/dlYBU+grjmOIF4dbOrjBCHmmYVzlntXsefyR6XIbJw/H08L2LdDT6aye+MDWdYGK0PqgV6AZ5pWUzu7wS+qJduOaNMts5YrzqvlhiFDO8EAAAAIAJoqYk2bkNTPnjYi4qhIP3o+7Lhpxh5akAkjPMpM4tf/BedBqzKimvWhtDNVTcNCOZwJuSkHL4SSafvPCoxbKY4YhFWYykS/Vdle9ixNtH+wMU5d8DsSsvZpfa4lvj9FpzgfcM+NT1aYHis/pIRpBblPfHHnFBsxGKX66v6webHg==", "sshfp_dsa"=>"SSHFP 2 1 5dad11db93cde6e3b1d5ce5a5fe5ad02825037e8\nSSHFP 2 2 576fe2b6a8412ada50cb776e6f1da5dd4bc301f2aa682be2ff82c70558c14745", "sshfp_rsa"=>"SSHFP 1 1 e1e2811771eb093d9b74333a111e089bc8e434ef\nSSHFP 1 2 4513b7ba6b47b22319ea40fe9e0f12e9ac200b367b78508364a80a2a9b92409c", "sshrsakey"=>"AAAAB3NzaC1yc2EAAAABIwAAAQEA3Gn072MPvlL1R0RpTGod7BxiCvm4Wp6p8gRYJgEba9FLtYTWYhx18ueLnuFWKnK6WMpwe24732ZGGCsagjBkEo8DFJZABZbfSHxW1gsmU6smUM9o2wt9ZEeYJ036DqIkg4DzsBLc206NKStuKCTOINFSwBtHAWkZCeGdon8ssEoery//yZchbHBXQB1f312Re42W4eLNpWm0T93eEwRRMOpnLtNFrVa9kvHv71eQx2crvDG2xd6BfN0PkU0tx0TBzDS2xUqBg5m1MdNbarxWH1Km8JUEH40jl3YKgh5g0lrfEE36xIItPtW2mFawsMBpMK0iPerqs60or9SjM1LwXQ==", "staging_http_get"=>"curl", "swapfree"=>"992.00 MiB", "swapfree_mb"=>991.99609375, "swapsize"=>"992.00 MiB", "swapsize_mb"=>991.99609375, "system_uptime"=>{"days"=>0, "hours"=>0, "seconds"=>352, "uptime"=>"0:05 hours"}, "timezone"=>"UTC", "uptime"=>"0:05 hours", "uptime_days"=>0, "uptime_hours"=>0, "uptime_seconds"=>352, "uuid"=>"DA4CD203-2C23-4E21-B169-293D1749C38C", "virtual"=>"virtualbox", "clientcert"=>"centos6a.pdx.puppetlabs.demo", "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 = 'CentOS-6.6-64'
|
|
|
|
# Begin user-specified pre_condition
|
|
|
|
# End user-specified pre_condition
|
|
|
|
|
|
END
|
|
}
|
|
|
|
it { should compile }
|
|
end
|
|
end
|
|
|