diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb index b58e3aa..1354b4c 100644 --- a/spec/classes/init_spec.rb +++ b/spec/classes/init_spec.rb @@ -1,1406 +1,1469 @@ require 'spec_helper' -describe 'nscd' do - defaults = { - kernel: 'Linux', - osfamily: nil, - package_adminfile: nil, - package_name: ['nscd'], - package_source: nil, - server_user: nil, - service_name: 'nscd', - service_provider: nil, - enable_db_services: true, - enable_db_netgroup: false, - enable_opt_auto_propagate: true, - enable_db_passwd: true, - enable_db_group: true, - enable_db_hosts: true, - enable_db_audit_user: false, - enable_db_auth_attr: false, - enable_db_bootparams: false, - enable_db_ethers: false, - enable_db_exec_attr: false, - enable_db_ipnodes: false, - enable_db_netmasks: false, - enable_db_networks: false, - enable_db_printers: false, - enable_db_prof_attr: false, - enable_db_project: false, - enable_db_protocols: false, - enable_db_rpc: false, - enable_db_tnrhdb: false, - enable_db_tnrhtp: false, - enable_db_user_attr: false, - } - - platforms = { - 'debian6' => defaults.merge( - { - osfamily: 'Debian', - operatingsystemmajrelease: '6', - server_user: nil, - service_provider: nil, - enable_db_services: true, - enable_db_netgroup: false, - enable_opt_auto_propagate: true, - }, - ), - 'el5' => defaults.merge( - { - osfamily: 'RedHat', - operatingsystemmajrelease: '5', - server_user: 'nscd', - enable_db_services: false, - enable_db_netgroup: false, - }, - ), - 'el6' => defaults.merge( - { - osfamily: 'RedHat', - operatingsystemmajrelease: '6', - server_user: 'nscd', - }, - ), - 'amazon2015' => defaults.merge( - { - osfamily: 'RedHat', - operatingsystemmajrelease: '2015', - server_user: 'nscd', - enable_db_netgroup: true, - }, - ), - 'amazon2016' => defaults.merge( - { - osfamily: 'RedHat', - operatingsystemmajrelease: '2016', - server_user: 'nscd', - enable_db_netgroup: true, - }, - ), - 'amazon2017' => defaults.merge( - { - osfamily: 'RedHat', - operatingsystemmajrelease: '2017', - server_user: 'nscd', - enable_db_netgroup: true, - }, - ), - 'el7' => defaults.merge( - { - osfamily: 'RedHat', - operatingsystemmajrelease: '7', - server_user: 'nscd', - enable_db_netgroup: true, - }, - ), - 'el8' => defaults.merge( - { - osfamily: 'RedHat', - operatingsystemmajrelease: '8', - server_user: 'nscd', - enable_db_services: false, - enable_db_netgroup: false, - enable_db_passwd: false, - enable_db_group: false, - enable_db_hosts: true, - }, - ), - 'el9' => defaults.merge( - { - osfamily: 'RedHat', - operatingsystemmajrelease: '9', - server_user: 'nscd', - enable_db_services: true, - enable_db_netgroup: true, - enable_db_passwd: true, - enable_db_group: true, - enable_db_hosts: true, - }, - ), - 'suse10' => defaults.merge( - { - osfamily: 'Suse', - operatingsystemmajrelease: '10', - operatingsystemrelease: '10.1', - enable_db_services: false, - enable_opt_auto_propagate: false, - }, - ), - 'suse11' => defaults.merge( - { - osfamily: 'Suse', - operatingsystemmajrelease: '11', - operatingsystemrelease: '11.2', - }, - ), - 'suse12' => defaults.merge( - { - osfamily: 'Suse', - operatingsystemmajrelease: '12', - operatingsystemrelease: '12.3', - server_user: 'nscd', - service_provider: 'systemd', - enable_db_netgroup: true, - }, - ), - 'suse13' => defaults.merge( - { - osfamily: 'Suse', - operatingsystemmajrelease: '13', - operatingsystemrelease: '13.0', - server_user: 'nscd', - service_provider: 'systemd', - enable_db_netgroup: true, - }, - ), - 'suse15' => defaults.merge( - { - osfamily: 'Suse', - operatingsystemmajrelease: '15', - operatingsystemrelease: '15.0', - server_user: 'nscd', - service_provider: 'systemd', - enable_db_netgroup: true, - }, - ), - 'ubuntu12' => defaults.merge( - { - osfamily: 'Debian', - operatingsystemmajrelease: '12', - server_user: nil, - service_provider: nil, - enable_db_services: true, - enable_db_netgroup: false, - enable_opt_auto_propagate: true, - }, - ), - 'ubuntu14' => defaults.merge( - { - osfamily: 'Debian', - operatingsystemmajrelease: '14', - server_user: nil, - service_provider: nil, - enable_db_services: true, - enable_db_netgroup: false, - enable_opt_auto_propagate: true, - }, - ), - 'ubuntu16' => defaults.merge( - { - osfamily: 'Debian', - operatingsystemmajrelease: '16', - server_user: nil, - service_provider: nil, - enable_db_services: true, - enable_db_netgroup: false, - enable_opt_auto_propagate: true, - }, - ), - 'ubuntu18' => defaults.merge( - { - osfamily: 'Debian', - operatingsystemmajrelease: '18', - server_user: nil, - service_provider: nil, - enable_db_services: true, - enable_db_netgroup: false, - enable_opt_auto_propagate: true, - }, - ), - 'ubuntu20' => defaults.merge( - { - osfamily: 'Debian', - operatingsystemmajrelease: '20', - server_user: nil, - service_provider: nil, - enable_db_services: true, - enable_db_netgroup: false, - enable_opt_auto_propagate: true, - }, - ), - 'ubuntu22' => defaults.merge( - { - osfamily: 'Debian', - operatingsystemmajrelease: '22', - server_user: nil, - service_provider: nil, - enable_db_services: true, - enable_db_netgroup: false, - enable_opt_auto_propagate: true, - }, - ), - 'solaris10' => defaults.merge( - { - kernel: 'SunOS', - osfamily: 'Solaris', - kernelrelease: '5.10', - package_name: ['SUNWcsu'], - package_source: '/var/spool/pkg', - service_name: 'name-service-cache', - enable_db_group: true, - enable_db_netgroup: false, - enable_db_audit_user: true, - enable_db_auth_attr: true, - enable_db_bootparams: true, - enable_db_ethers: true, - enable_db_exec_attr: true, - enable_db_ipnodes: true, - enable_db_netmasks: true, - enable_db_networks: true, - enable_db_printers: true, - enable_db_prof_attr: true, - enable_db_project: true, - enable_db_protocols: true, - enable_db_rpc: true, - enable_db_tnrhdb: true, - enable_db_tnrhtp: true, - enable_db_user_attr: true, - enable_opt_auto_propagate: false - }, - ), - } - - services_solaris = [ - 'audit_user', - 'auth_attr', - 'bootparams', - 'ethers', - 'exec_attr', - 'ipnodes', - 'netmasks', - 'networks', - 'printers', - 'prof_attr', - 'project', - 'protocols', - 'rpc', - 'tnrhdb', - 'tnrhtp', - 'user_attr', - ] - - platforms.sort.each do |_k, v| - describe "on #{v[:osfamily]} #{v[:operatingsystemmajrelease]}#{v[:operatingsystemrelease]}#{v[:kernelrelease]} with default values for all parameters" do - let(:facts) do - { - operatingsystemmajrelease: v[:operatingsystemmajrelease], - operatingsystemrelease: v[:operatingsystemrelease], - kernelrelease: v[:kernelrelease], - kernel: v[:kernel], - osfamily: v[:osfamily], - os: { - family: v[:osfamily], - release: { - major: v[:operatingsystemmajrelease], - }, - }, - } - end - - it { is_expected.to compile.with_all_deps } +describe 'nscd', type: :class do + header = <<-END.gsub(%r{^\s+\|}, '') + |# This file is being maintained by Puppet. + |# DO NOT EDIT + |# + |# /etc/nscd.conf + |# + |# An example Name Service Cache config file. This file is needed by nscd. + |# + |# Legal entries are: + |# + |# logfile + |# debug-level + |# threads + |# max-threads + |# server-user + |# server-user is ignored if nscd is started with -S parameters + |# stat-user + |# reload-count unlimited| + |# paranoia + |# restart-interval