41 lines
10 KiB
Ruby
41 lines
10 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "role::custom_windows" do
|
|
|
|
context "using fact set Ubuntu-12.04-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"=>"47C86ACE-B882-46AD-8D6D-4260BF97C669"}}, "domain"=>"wifredrick.local", "facterversion"=>"3.0.2", "filesystems"=>"ext2,ext3,ext4,vfat", "fqdn"=>"localhost.wifredrick.local", "gid"=>"root", "hardwareisa"=>"x86_64", "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:fe5f:df27", "ipaddress6_eth0"=>"fe80::a00:27ff:fe5f:df27", "ipaddress6_lo"=>"::1", "ipaddress_eth0"=>"10.0.2.15", "ipaddress_lo"=>"127.0.0.1", "is_virtual"=>true, "kernel"=>"Linux", "kernelmajversion"=>"3.13", "kernelrelease"=>"3.13.0-32-generic", "kernelversion"=>"3.13.0", "load_averages"=>{"15m"=>0.01, "1m"=>0.0, "5m"=>0.01}, "lsbdistcodename"=>"precise", "lsbdistdescription"=>"Ubuntu 12.04.5 LTS", "lsbdistid"=>"Ubuntu", "lsbdistrelease"=>"12.04", "lsbmajdistrelease"=>"12.04", "macaddress"=>"08:00:27:5f:df:27", "macaddress_eth0"=>"08:00:27:5f:df:27", "manufacturer"=>"innotek GmbH", "memory"=>{"swap"=>{"available"=>"512.00 MiB", "available_bytes"=>536866816, "capacity"=>"0%", "total"=>"512.00 MiB", "total_bytes"=>536866816, "used"=>"0 bytes", "used_bytes"=>0}, "system"=>{"available"=>"350.97 MiB", "available_bytes"=>368017408, "capacity"=>"28.33%", "total"=>"489.72 MiB", "total_bytes"=>513507328, "used"=>"138.75 MiB", "used_bytes"=>145489920}}, "memoryfree"=>"350.97 MiB", "memoryfree_mb"=>350.96875, "memorysize"=>"489.72 MiB", "memorysize_mb"=>489.71875, "mountpoints"=>{"/"=>{"available"=>"17.68 GiB", "available_bytes"=>18981703680, "capacity"=>"6.12%", "device"=>"/dev/mapper/localhost--vg-root", "filesystem"=>"ext4", "options"=>["rw", "errors=remount-ro"], "size"=>"18.83 GiB", "size_bytes"=>20219142144, "used"=>"1.15 GiB", "used_bytes"=>1237438464}, "/boot"=>{"available"=>"202.55 MiB", "available_bytes"=>212389888, "capacity"=>"13.93%", "device"=>"/dev/sda1", "filesystem"=>"ext2", "options"=>["rw"], "size"=>"235.32 MiB", "size_bytes"=>246755328, "used"=>"32.77 MiB", "used_bytes"=>34365440}}, "mtu_eth0"=>1500, "mtu_lo"=>65536, "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:fe5f:df27", "mac"=>"08:00:27:5f:df:27", "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"=>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:fe5f:df27", "mac"=>"08:00:27:5f:df:27", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::"}, "operatingsystem"=>"Ubuntu", "operatingsystemmajrelease"=>"12.04", "operatingsystemrelease"=>"12.04", "os"=>{"architecture"=>"amd64", "distro"=>{"codename"=>"precise", "description"=>"Ubuntu 12.04.5 LTS", "id"=>"Ubuntu", "release"=>{"full"=>"12.04", "major"=>"12.04"}}, "family"=>"Debian", "hardware"=>"x86_64", "name"=>"Ubuntu", "release"=>{"full"=>"12.04", "major"=>"12.04"}, "selinux"=>{"enabled"=>false}}, "osfamily"=>"Debian", "partitions"=>{"/dev/mapper/localhost--vg-root"=>{"filesystem"=>"ext4", "mount"=>"/", "size"=>"0 bytes", "size_bytes"=>0, "uuid"=>"96092a10-847b-4a55-b5dc-87d2cc56ee5e"}, "/dev/mapper/localhost--vg-swap_1"=>{"filesystem"=>"swap", "size"=>"0 bytes", "size_bytes"=>0, "uuid"=>"50695407-158d-4b0e-975a-b575fa5f5359"}, "/dev/sda1"=>{"filesystem"=>"ext2", "mount"=>"/boot", "size"=>"243.00 MiB", "size_bytes"=>254803968, "uuid"=>"829f03e2-ceb8-4f8d-9f32-e1336456f719"}, "/dev/sda5"=>{"filesystem"=>"LVM2_member", "size"=>"19.76 GiB", "size_bytes"=>21216886784, "uuid"=>"P6GCnD-xaHj-APeE-m1Em-fr5a-z3Kk-iFVziN"}}, "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"=>"x86_64", "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 59bc746d9ab774867521d076613863790a696630", "sha256"=>"SSHFP 2 2 8d5bdb7662b7b938beb6517c7d001cc68136d3f1ded5b240cbee1a89dad2d79f"}, "key"=>"AAAAB3NzaC1kc3MAAACBAPHTvj71+XfT0li+zpLYPbY5wKyO36Mij5D4Otl1RMIbZK68No9pDhiPdxMgZrLSq9bHLYs+cxqtSrpZgnNLvT44P+BPZbbQE4HrfcYuv0o2ifa0bqzlyHYl+BT6qSmx8zgBh3iImuhAJhLPnGCzgQ2FkfjAiHKHT1LG4h2knvtTAAAAFQDHa6q8yJo47htrK8LG0D3iAfTT2QAAAIEAtFgO4Qw6K2fQnLSfxL7h98lRopA4tokzKinUjJAoQ86eu9oR4mHDh3FRQlaHJX52RT1GABctV5MyG9LJxUuJLdeyIA7bmJrIPi0TROlHCd3NaS+0r6d1BzmMy+v7cVZsDK+8fqYBjC3b3e+lr3khnUU9uz8GqtrGFrDxjkl8y8QAAACAIKPdIYNLGaoreSz/L0PLSE6xw6+bButDCuuODpGXtD6Q6Cwo+4bjvAwV/yNMVIbrZdic8xjWh1YLxaCx0622XX8wr8GPLr3HViJ74VryCRkvsgXXuZcDl3z5+eEq1YDd5ELzpCcpkW31f64VWYLOIqz3Uo5hXeeCrSEt2vmh+Eo="}, "ecdsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 3 1 cc6522d24466d3704070e9fda54dc60147978420", "sha256"=>"SSHFP 3 2 9ac8780c7818c208926a847d5f2c3fc274a37a0ed8ae0276f96fb3203e0e0e00"}, "key"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPZ7/g0ZAcDbNMyMEABW/giY5lPyalZ717tzqmt1baNzEXALYoFN2FMHL/Wid8DUl7oKnXHGSkc4JYYFgpvt11Q="}, "rsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 1 1 0ea50bd46b70a8f9efae23a8bea49388972e9740", "sha256"=>"SSHFP 1 2 0c1c44799be36031d1a8da2d02b9ed4b299ab924c647605afecb1c73063fb307"}, "key"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQCvijE5JYtnXa4uibGq6UEqXn7fboZYCvwZ3RFSkkG6qQ51Q7685OJgayGAZkrbiTeEWOHN6MQPr3TKwSQD2YxoUw3qKQ+hsuTydPK/ZXtNxM0ejFvpIprG1U1NDwj2YVxwo4tQveUewbBQYzEyI1aNQaE2z/fPypQOEj0v9QNAapmGGlV8ab0q0izCM4Aen5pccRZLJuibUUY3nOEfE0QTIM3QmOZoKEmj/Ez3P3+16iGeRNId/+8Bf4R5eVrKhorUUt+H/y/WcCHT5KrbCWkEH6G3eEQ7UA6XCB/sQ5pC6ZKxBbyYjy8N5wySv+5PVpoUHhHjKoSuYy6qQDE2MwRz"}}, "sshdsakey"=>"AAAAB3NzaC1kc3MAAACBAPHTvj71+XfT0li+zpLYPbY5wKyO36Mij5D4Otl1RMIbZK68No9pDhiPdxMgZrLSq9bHLYs+cxqtSrpZgnNLvT44P+BPZbbQE4HrfcYuv0o2ifa0bqzlyHYl+BT6qSmx8zgBh3iImuhAJhLPnGCzgQ2FkfjAiHKHT1LG4h2knvtTAAAAFQDHa6q8yJo47htrK8LG0D3iAfTT2QAAAIEAtFgO4Qw6K2fQnLSfxL7h98lRopA4tokzKinUjJAoQ86eu9oR4mHDh3FRQlaHJX52RT1GABctV5MyG9LJxUuJLdeyIA7bmJrIPi0TROlHCd3NaS+0r6d1BzmMy+v7cVZsDK+8fqYBjC3b3e+lr3khnUU9uz8GqtrGFrDxjkl8y8QAAACAIKPdIYNLGaoreSz/L0PLSE6xw6+bButDCuuODpGXtD6Q6Cwo+4bjvAwV/yNMVIbrZdic8xjWh1YLxaCx0622XX8wr8GPLr3HViJ74VryCRkvsgXXuZcDl3z5+eEq1YDd5ELzpCcpkW31f64VWYLOIqz3Uo5hXeeCrSEt2vmh+Eo=", "sshecdsakey"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPZ7/g0ZAcDbNMyMEABW/giY5lPyalZ717tzqmt1baNzEXALYoFN2FMHL/Wid8DUl7oKnXHGSkc4JYYFgpvt11Q=", "sshfp_dsa"=>"SSHFP 2 1 59bc746d9ab774867521d076613863790a696630\nSSHFP 2 2 8d5bdb7662b7b938beb6517c7d001cc68136d3f1ded5b240cbee1a89dad2d79f", "sshfp_ecdsa"=>"SSHFP 3 1 cc6522d24466d3704070e9fda54dc60147978420\nSSHFP 3 2 9ac8780c7818c208926a847d5f2c3fc274a37a0ed8ae0276f96fb3203e0e0e00", "sshfp_rsa"=>"SSHFP 1 1 0ea50bd46b70a8f9efae23a8bea49388972e9740\nSSHFP 1 2 0c1c44799be36031d1a8da2d02b9ed4b299ab924c647605afecb1c73063fb307", "sshrsakey"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQCvijE5JYtnXa4uibGq6UEqXn7fboZYCvwZ3RFSkkG6qQ51Q7685OJgayGAZkrbiTeEWOHN6MQPr3TKwSQD2YxoUw3qKQ+hsuTydPK/ZXtNxM0ejFvpIprG1U1NDwj2YVxwo4tQveUewbBQYzEyI1aNQaE2z/fPypQOEj0v9QNAapmGGlV8ab0q0izCM4Aen5pccRZLJuibUUY3nOEfE0QTIM3QmOZoKEmj/Ez3P3+16iGeRNId/+8Bf4R5eVrKhorUUt+H/y/WcCHT5KrbCWkEH6G3eEQ7UA6XCB/sQ5pC6ZKxBbyYjy8N5wySv+5PVpoUHhHjKoSuYy6qQDE2MwRz", "swapfree"=>"512.00 MiB", "swapfree_mb"=>511.99609375, "swapsize"=>"512.00 MiB", "swapsize_mb"=>511.99609375, "system_uptime"=>{"days"=>0, "hours"=>0, "seconds"=>368, "uptime"=>"0:06 hours"}, "timezone"=>"PST", "uptime"=>"0:06 hours", "uptime_days"=>0, "uptime_hours"=>0, "uptime_seconds"=>368, "uuid"=>"47C86ACE-B882-46AD-8D6D-4260BF97C669", "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 = 'Ubuntu-12.04-64'
|
|
|
|
# Begin user-specified pre_condition
|
|
|
|
# End user-specified pre_condition
|
|
|
|
|
|
END
|
|
}
|
|
|
|
it { should compile }
|
|
end
|
|
end
|
|
|