41 lines
14 KiB
Ruby
41 lines
14 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "role::custom_windows" do
|
|
|
|
context "using fact set Ubuntu-18.04-64" do
|
|
node_facts = {"aio_agent_version"=>"6.14.0", "architecture"=>"amd64", "augeas"=>{"version"=>"1.12.0"}, "augeasversion"=>"1.12.0", "bios_release_date"=>"12/01/2006", "bios_vendor"=>"innotek GmbH", "bios_version"=>"VirtualBox", "blockdevice_sda_model"=>"HARDDISK", "blockdevice_sda_size"=>10737418240, "blockdevice_sda_vendor"=>"VBOX", "blockdevice_sdb_model"=>"HARDDISK", "blockdevice_sdb_size"=>10485760, "blockdevice_sdb_vendor"=>"VBOX", "blockdevices"=>"sdb,sda", "boardmanufacturer"=>"Oracle Corporation", "boardproductname"=>"VirtualBox", "boardserialnumber"=>"0", "chassistype"=>"Other", "dhcp_servers"=>{"enp0s3"=>"10.0.2.2", "system"=>"10.0.2.2"}, "disks"=>{"sda"=>{"model"=>"HARDDISK", "size"=>"10.00 GiB", "size_bytes"=>10737418240, "vendor"=>"VBOX"}, "sdb"=>{"model"=>"HARDDISK", "size"=>"10.00 MiB", "size_bytes"=>10485760, "vendor"=>"VBOX"}}, "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"=>"2C7D24ED-FB7D-4B4C-BC4B-B9FC32C8BDC3"}}, "domain"=>"lan.asio", "facterversion"=>"3.14.9", "filesystems"=>"btrfs,ext2,ext3,ext4,iso9660,squashfs,vfat", "fips_enabled"=>false, "fqdn"=>"ubuntu-bionic.lan.asio", "gid"=>"root", "hardwareisa"=>"x86_64", "hardwaremodel"=>"x86_64", "hostname"=>"ubuntu-bionic", "hypervisors"=>{"virtualbox"=>{"revision"=>"133895", "version"=>"6.0.14"}}, "id"=>"root", "identity"=>{"gid"=>0, "group"=>"root", "privileged"=>true, "uid"=>0, "user"=>"root"}, "interfaces"=>"enp0s3,lo", "ipaddress"=>"10.0.2.15", "ipaddress6"=>"fe80::bb:7dff:fee8:e923", "ipaddress6_enp0s3"=>"fe80::bb:7dff:fee8:e923", "ipaddress6_lo"=>"::1", "ipaddress_enp0s3"=>"10.0.2.15", "ipaddress_lo"=>"127.0.0.1", "is_virtual"=>true, "kernel"=>"Linux", "kernelmajversion"=>"4.15", "kernelrelease"=>"4.15.0-54-generic", "kernelversion"=>"4.15.0", "load_averages"=>{"15m"=>0.1, "1m"=>0.31, "5m"=>0.23}, "lsbdistcodename"=>"bionic", "lsbdistdescription"=>"Ubuntu 18.04.2 LTS", "lsbdistid"=>"Ubuntu", "lsbdistrelease"=>"18.04", "lsbmajdistrelease"=>"18.04", "macaddress"=>"02:bb:7d:e8:e9:23", "macaddress_enp0s3"=>"02:bb:7d:e8:e9:23", "manufacturer"=>"innotek GmbH", "memory"=>{"system"=>{"available"=>"776.53 MiB", "available_bytes"=>814247936, "capacity"=>"21.19%", "total"=>"985.26 MiB", "total_bytes"=>1033121792, "used"=>"208.73 MiB", "used_bytes"=>218873856}}, "memoryfree"=>"776.53 MiB", "memoryfree_mb"=>776.52734375, "memorysize"=>"985.26 MiB", "memorysize_mb"=>985.26171875, "mountpoints"=>{"/"=>{"available"=>"8.14 GiB", "available_bytes"=>8742756352, "capacity"=>"15.32%", "device"=>"/dev/sda1", "filesystem"=>"ext4", "options"=>["rw", "relatime", "data=ordered"], "size"=>"9.63 GiB", "size_bytes"=>10340794368, "used"=>"1.47 GiB", "used_bytes"=>1581260800}, "/dev"=>{"available"=>"480.22 MiB", "available_bytes"=>503545856, "capacity"=>"0%", "device"=>"udev", "filesystem"=>"devtmpfs", "options"=>["rw", "nosuid", "relatime", "size=491744k", "nr_inodes=122936", "mode=755"], "size"=>"480.22 MiB", "size_bytes"=>503545856, "used"=>"0 bytes", "used_bytes"=>0}, "/dev/hugepages"=>{"available"=>"0 bytes", "available_bytes"=>0, "capacity"=>"100%", "device"=>"hugetlbfs", "filesystem"=>"hugetlbfs", "options"=>["rw", "relatime", "pagesize=2M"], "size"=>"0 bytes", "size_bytes"=>0, "used"=>"0 bytes", "used_bytes"=>0}, "/dev/mqueue"=>{"available"=>"0 bytes", "available_bytes"=>0, "capacity"=>"100%", "device"=>"mqueue", "filesystem"=>"mqueue", "options"=>["rw", "relatime"], "size"=>"0 bytes", "size_bytes"=>0, "used"=>"0 bytes", "used_bytes"=>0}, "/dev/pts"=>{"available"=>"0 bytes", "available_bytes"=>0, "capacity"=>"100%", "device"=>"devpts", "filesystem"=>"devpts", "options"=>["rw", "nosuid", "noexec", "relatime", "gid=5", "mode=620", "ptmxmode=000"], "size"=>"0 bytes", "size_bytes"=>0, "used"=>"0 bytes", "used_bytes"=>0}, "/dev/shm"=>{"available"=>"492.63 MiB", "available_bytes"=>516558848, "capacity"=>"0%", "device"=>"tmpfs", "filesystem"=>"tmpfs", "options"=>["rw", "nosuid", "nodev"], "size"=>"492.63 MiB", "size_bytes"=>516558848, "used"=>"0 bytes", "used_bytes"=>0}, "/run"=>{"available"=>"97.93 MiB", "available_bytes"=>102690816, "capacity"=>"0.60%", "device"=>"tmpfs", "filesystem"=>"tmpfs", "options"=>["rw", "nosuid", "noexec", "relatime", "size=100892k", "mode=755"], "size"=>"98.53 MiB", "size_bytes"=>103313408, "used"=>"608.00 KiB", "used_bytes"=>622592}, "/run/lock"=>{"available"=>"5.00 MiB", "available_bytes"=>5242880, "capacity"=>"0%", "device"=>"tmpfs", "filesystem"=>"tmpfs", "options"=>["rw", "nosuid", "nodev", "noexec", "relatime", "size=5120k"], "size"=>"5.00 MiB", "size_bytes"=>5242880, "used"=>"0 bytes", "used_bytes"=>0}, "/run/user/1000"=>{"available"=>"98.52 MiB", "available_bytes"=>103309312, "capacity"=>"0%", "device"=>"tmpfs", "filesystem"=>"tmpfs", "options"=>["rw", "nosuid", "nodev", "relatime", "size=100888k", "mode=700", "uid=1000", "gid=1000"], "size"=>"98.52 MiB", "size_bytes"=>103309312, "used"=>"0 bytes", "used_bytes"=>0}, "/sys/fs/cgroup"=>{"available"=>"492.63 MiB", "available_bytes"=>516558848, "capacity"=>"0%", "device"=>"tmpfs", "filesystem"=>"tmpfs", "options"=>["ro", "nosuid", "nodev", "noexec", "mode=755"], "size"=>"492.63 MiB", "size_bytes"=>516558848, "used"=>"0 bytes", "used_bytes"=>0}, "/vagrant"=>{"available"=>"122.93 GiB", "available_bytes"=>131996221440, "capacity"=>"85.01%", "device"=>"vagrant", "filesystem"=>"vboxsf", "options"=>["rw", "nodev", "relatime", "iocharset=utf8", "uid=1000", "gid=1000"], "size"=>"820.33 GiB", "size_bytes"=>880824786944, "used"=>"697.40 GiB", "used_bytes"=>748828565504}, "/var/lib/lxcfs"=>{"available"=>"0 bytes", "available_bytes"=>0, "capacity"=>"100%", "device"=>"lxcfs", "filesystem"=>"fuse.lxcfs", "options"=>["rw", "nosuid", "nodev", "relatime", "user_id=0", "group_id=0", "allow_other"], "size"=>"0 bytes", "size_bytes"=>0, "used"=>"0 bytes", "used_bytes"=>0}}, "mtu_enp0s3"=>1500, "mtu_lo"=>65536, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "netmask6_enp0s3"=>"ffff:ffff:ffff:ffff::", "netmask6_lo"=>"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "netmask_enp0s3"=>"255.255.255.0", "netmask_lo"=>"255.0.0.0", "network"=>"10.0.2.0", "network6"=>"fe80::", "network6_enp0s3"=>"fe80::", "network6_lo"=>"::1", "network_enp0s3"=>"10.0.2.0", "network_lo"=>"127.0.0.0", "networking"=>{"dhcp"=>"10.0.2.2", "domain"=>"lan.asio", "fqdn"=>"ubuntu-bionic.lan.asio", "hostname"=>"ubuntu-bionic", "interfaces"=>{"enp0s3"=>{"bindings"=>[{"address"=>"10.0.2.15", "netmask"=>"255.255.255.0", "network"=>"10.0.2.0"}], "bindings6"=>[{"address"=>"fe80::bb:7dff:fee8:e923", "netmask"=>"ffff:ffff:ffff:ffff::", "network"=>"fe80::"}], "dhcp"=>"10.0.2.2", "ip"=>"10.0.2.15", "ip6"=>"fe80::bb:7dff:fee8:e923", "mac"=>"02:bb:7d:e8:e9:23", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::", "scope6"=>"link"}, "lo"=>{"bindings"=>[{"address"=>"127.0.0.1", "netmask"=>"255.0.0.0", "network"=>"127.0.0.0"}], "bindings6"=>[{"address"=>"::1", "netmask"=>"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "network"=>"::1"}], "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", "scope6"=>"host"}}, "ip"=>"10.0.2.15", "ip6"=>"fe80::bb:7dff:fee8:e923", "mac"=>"02:bb:7d:e8:e9:23", "mtu"=>1500, "netmask"=>"255.255.255.0", "netmask6"=>"ffff:ffff:ffff:ffff::", "network"=>"10.0.2.0", "network6"=>"fe80::", "primary"=>"enp0s3", "scope6"=>"link"}, "operatingsystem"=>"Ubuntu", "operatingsystemmajrelease"=>"18.04", "operatingsystemrelease"=>"18.04", "os"=>{"architecture"=>"amd64", "distro"=>{"codename"=>"bionic", "description"=>"Ubuntu 18.04.2 LTS", "id"=>"Ubuntu", "release"=>{"full"=>"18.04", "major"=>"18.04"}}, "family"=>"Debian", "hardware"=>"x86_64", "name"=>"Ubuntu", "release"=>{"full"=>"18.04", "major"=>"18.04"}, "selinux"=>{"enabled"=>false}}, "osfamily"=>"Debian", "partitions"=>{"/dev/sda1"=>{"filesystem"=>"ext4", "label"=>"cloudimg-rootfs", "mount"=>"/", "partuuid"=>"654c6dc7-01", "size"=>"10.00 GiB", "size_bytes"=>10736352768, "uuid"=>"8de716dd-d9b2-477f-b818-bb0b1eb036ce"}}, "path"=>"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/opt/puppetlabs/bin", "physicalprocessorcount"=>1, "processor0"=>"Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "processor1"=>"Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "processorcount"=>2, "processors"=>{"count"=>2, "isa"=>"x86_64", "models"=>["Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz", "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz"], "physicalcount"=>1}, "productname"=>"VirtualBox", "puppetversion"=>"6.14.0", "ruby"=>{"platform"=>"x86_64-linux", "sitedir"=>"/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.5.0", "version"=>"2.5.7"}, "rubyplatform"=>"x86_64-linux", "rubysitedir"=>"/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.5.0", "rubyversion"=>"2.5.7", "scope6"=>"link", "scope6_enp0s3"=>"link", "scope6_lo"=>"host", "selinux"=>false, "serialnumber"=>"0", "ssh"=>{"dsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 2 1 7024118ae71eead4750a74d458472e89e38c7e7c", "sha256"=>"SSHFP 2 2 e5606c7ee1cf32f5591b42c98a9bc87d27cef4bc75c7802cd3f22bcb39333656"}, "key"=>"AAAAB3NzaC1kc3MAAACBAPemHtx92WDon/zDA0oaO5wWOXCUx45+6X9QxJugdryqG3RV0J/ZkKhayANq7NO1GeC3/3EC8celhsHyZFILEEJpFPzW32053dVnOZ6JyQCGb4JKFaCH7DjVnZLlTPyqvraykF3beEhp7dArSpsgsIURJLDRvE3PJdd9DDNtOapXAAAAFQC27/RqfyRjrjSOjNrfsqLm6GoT0QAAAIAJm6rGXMlZ+xNfPfVHsugGNP7BdcFLSWnUGaBQ+51FGkRdVesun6HF5A9/TNBfQ6U2k1BE8Qtc3H8uHrwenIQKyWuhVejvpYVD3NA6hztMWYiidiQ7Ji0O3qkPv4CY5QhlmyPit1gR4aly/fG1H8p+J/XbwrJXMtfR6ND3OXbeYwAAAIEAzDOkrJJgq5f+oPSVaOOmvbNdJ0B003fTyJEH+2yCm3q41O7vakoWv9Qt9mH7T/ivqwMK3yzk1eIpozx8TPU1aOQC3OyehoEXXFY6U5Jcgp0K8WUvVgnC47hAKBkf562aGdWftWNu4GkjI6wcNtZqkeVN/wyazilHRF9GyPdsvHg=", "type"=>"ssh-dss"}, "ecdsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 3 1 aa6b8ac4bccb5afded59e2bf680cc151bbb27ef9", "sha256"=>"SSHFP 3 2 4ee2dc2ded938a37ef44de4fd3f3add478abfe272f0a50dc7dbb1f9a4839ca99"}, "key"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF02SaI3oPW6CVWEvzDuf/XqaUF+OAr4RKNW3hAR8RRBSDEjQGdoejQEYP8lEFa1KeVlkJYnvgrPYwxVSUI6hUA=", "type"=>"ecdsa-sha2-nistp256"}, "ed25519"=>{"fingerprints"=>{"sha1"=>"SSHFP 4 1 a20e01cf434a802607e1aff21e621dd3ada6499f", "sha256"=>"SSHFP 4 2 569917b95c5299fe3cdd1cc4a37166d1e81106a22bb75a15b99bb8694b2ac8c4"}, "key"=>"AAAAC3NzaC1lZDI1NTE5AAAAIHmh1Z/od2mbHDUkAL2bXswdwp43dPXQOKo9DA8AUDO1", "type"=>"ssh-ed25519"}, "rsa"=>{"fingerprints"=>{"sha1"=>"SSHFP 1 1 3bc833bc8e3e259da03d37aa0c0244ae98f30622", "sha256"=>"SSHFP 1 2 f27f0e09326c1c8abc2b0691bc6444b77781c0a21e9d99933492f269e5163346"}, "key"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQCw+QuEhOY+IrmAaG1/PgO0nyxYY0VYilhjcM5daSKb61z+XBmBuAsgVxWaQ815OxlwYQunPJZlKnaXZ8yTlnjk8eekxvWnoSLtqKZWW1+RfMyy6n6MyXdno1mwez+5HG3tThC63xE4EWbmKH+fsWuNT2ZpQ49fuWnG8sObv/66QLyCjt+KHMpy9ClHjpYli+0hFhdHTwxGo9H/r4I2En9rBcTy3nQZhZGm1FFh6xnHxnSGm02r2fhsk2x0kw9K1pA7IFtr31hBOu5Po5CJBVJQBd1TEozmNELl2ZISmT0HK3sIV4AG/FmFEsd9+63ST5BbeurlcOEzvxudDJmuroZX", "type"=>"ssh-rsa"}}, "sshdsakey"=>"AAAAB3NzaC1kc3MAAACBAPemHtx92WDon/zDA0oaO5wWOXCUx45+6X9QxJugdryqG3RV0J/ZkKhayANq7NO1GeC3/3EC8celhsHyZFILEEJpFPzW32053dVnOZ6JyQCGb4JKFaCH7DjVnZLlTPyqvraykF3beEhp7dArSpsgsIURJLDRvE3PJdd9DDNtOapXAAAAFQC27/RqfyRjrjSOjNrfsqLm6GoT0QAAAIAJm6rGXMlZ+xNfPfVHsugGNP7BdcFLSWnUGaBQ+51FGkRdVesun6HF5A9/TNBfQ6U2k1BE8Qtc3H8uHrwenIQKyWuhVejvpYVD3NA6hztMWYiidiQ7Ji0O3qkPv4CY5QhlmyPit1gR4aly/fG1H8p+J/XbwrJXMtfR6ND3OXbeYwAAAIEAzDOkrJJgq5f+oPSVaOOmvbNdJ0B003fTyJEH+2yCm3q41O7vakoWv9Qt9mH7T/ivqwMK3yzk1eIpozx8TPU1aOQC3OyehoEXXFY6U5Jcgp0K8WUvVgnC47hAKBkf562aGdWftWNu4GkjI6wcNtZqkeVN/wyazilHRF9GyPdsvHg=", "sshecdsakey"=>"AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF02SaI3oPW6CVWEvzDuf/XqaUF+OAr4RKNW3hAR8RRBSDEjQGdoejQEYP8lEFa1KeVlkJYnvgrPYwxVSUI6hUA=", "sshed25519key"=>"AAAAC3NzaC1lZDI1NTE5AAAAIHmh1Z/od2mbHDUkAL2bXswdwp43dPXQOKo9DA8AUDO1", "sshfp_dsa"=>"SSHFP 2 1 7024118ae71eead4750a74d458472e89e38c7e7c\nSSHFP 2 2 e5606c7ee1cf32f5591b42c98a9bc87d27cef4bc75c7802cd3f22bcb39333656", "sshfp_ecdsa"=>"SSHFP 3 1 aa6b8ac4bccb5afded59e2bf680cc151bbb27ef9\nSSHFP 3 2 4ee2dc2ded938a37ef44de4fd3f3add478abfe272f0a50dc7dbb1f9a4839ca99", "sshfp_ed25519"=>"SSHFP 4 1 a20e01cf434a802607e1aff21e621dd3ada6499f\nSSHFP 4 2 569917b95c5299fe3cdd1cc4a37166d1e81106a22bb75a15b99bb8694b2ac8c4", "sshfp_rsa"=>"SSHFP 1 1 3bc833bc8e3e259da03d37aa0c0244ae98f30622\nSSHFP 1 2 f27f0e09326c1c8abc2b0691bc6444b77781c0a21e9d99933492f269e5163346", "sshrsakey"=>"AAAAB3NzaC1yc2EAAAADAQABAAABAQCw+QuEhOY+IrmAaG1/PgO0nyxYY0VYilhjcM5daSKb61z+XBmBuAsgVxWaQ815OxlwYQunPJZlKnaXZ8yTlnjk8eekxvWnoSLtqKZWW1+RfMyy6n6MyXdno1mwez+5HG3tThC63xE4EWbmKH+fsWuNT2ZpQ49fuWnG8sObv/66QLyCjt+KHMpy9ClHjpYli+0hFhdHTwxGo9H/r4I2En9rBcTy3nQZhZGm1FFh6xnHxnSGm02r2fhsk2x0kw9K1pA7IFtr31hBOu5Po5CJBVJQBd1TEozmNELl2ZISmT0HK3sIV4AG/FmFEsd9+63ST5BbeurlcOEzvxudDJmuroZX", "system_uptime"=>{"days"=>0, "hours"=>0, "seconds"=>336, "uptime"=>"0:05 hours"}, "timezone"=>"UTC", "uptime"=>"0:05 hours", "uptime_days"=>0, "uptime_hours"=>0, "uptime_seconds"=>336, "uuid"=>"2C7D24ED-FB7D-4B4C-BC4B-B9FC32C8BDC3", "virtual"=>"virtualbox", "clientcert"=>"ubuntu-bionic.lan.asio", "clientversion"=>"6.14.0", "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-18.04-64'
|
|
|
|
# Begin user-specified pre_condition
|
|
|
|
# End user-specified pre_condition
|
|
|
|
|
|
END
|
|
}
|
|
|
|
it { should compile }
|
|
end
|
|
end
|
|
|