puppet-retrospec 0.8.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +2 -1
- data/Gemfile.lock +121 -0
- data/README.md +3 -0
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/retrospec-puppet.rb +3 -0
- data/lib/retrospec/{conditional.rb → plugins/v1/plugin/conditional.rb} +1 -1
- data/lib/retrospec/plugins/v1/plugin/helpers.rb +32 -0
- data/lib/retrospec/plugins/v1/plugin/puppet.rb +248 -0
- data/lib/retrospec/{puppet_module.rb → plugins/v1/plugin/puppet_module.rb} +0 -0
- data/lib/retrospec/{resource.rb → plugins/v1/plugin/resource.rb} +1 -1
- data/lib/retrospec/{spec_object.rb → plugins/v1/plugin/spec_object.rb} +17 -18
- data/lib/retrospec/plugins/v1/plugin/template_helpers.rb +72 -0
- data/lib/retrospec/{templates → plugins/v1/plugin/templates}/clone-hook +1 -1
- data/lib/retrospec/{type_code.rb → plugins/v1/plugin/type_code.rb} +2 -2
- data/lib/retrospec/{variable_store.rb → plugins/v1/plugin/variable_store.rb} +1 -1
- data/lib/retrospec/plugins/v1/plugin/version.rb +5 -0
- data/puppet-retrospec.gemspec +529 -18
- data/spec/fixtures/modules/concat/CHANGELOG.md +257 -0
- data/spec/fixtures/modules/concat/CONTRIBUTING.md +220 -0
- data/spec/fixtures/modules/concat/Gemfile +50 -0
- data/spec/fixtures/modules/concat/LICENSE +14 -0
- data/spec/fixtures/modules/concat/README.md +283 -0
- data/spec/fixtures/modules/concat/Rakefile +10 -0
- data/spec/fixtures/modules/concat/checksums.json +54 -0
- data/spec/fixtures/modules/concat/files/concatfragments.rb +153 -0
- data/spec/fixtures/modules/concat/lib/facter/concat_basedir.rb +11 -0
- data/spec/fixtures/modules/concat/lib/puppet/parser/functions/concat_getparam.rb +35 -0
- data/spec/fixtures/modules/concat/lib/puppet/parser/functions/concat_is_bool.rb +22 -0
- data/spec/fixtures/modules/concat/manifests/fragment.pp +133 -0
- data/spec/fixtures/modules/concat/manifests/init.pp +268 -0
- data/spec/fixtures/modules/concat/manifests/setup.pp +64 -0
- data/spec/fixtures/modules/concat/metadata.json +110 -0
- data/spec/fixtures/modules/concat/spec/acceptance/backup_spec.rb +115 -0
- data/spec/fixtures/modules/concat/spec/acceptance/concat_spec.rb +217 -0
- data/spec/fixtures/modules/concat/spec/acceptance/deprecation_warnings_spec.rb +238 -0
- data/spec/fixtures/modules/concat/spec/acceptance/empty_spec.rb +23 -0
- data/spec/fixtures/modules/concat/spec/acceptance/fragment_source_spec.rb +157 -0
- data/spec/fixtures/modules/concat/spec/acceptance/fragments_are_always_replaced_spec.rb +139 -0
- data/spec/fixtures/modules/concat/spec/acceptance/newline_spec.rb +67 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/aix-71-vcloud.yml +19 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/centos-59-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/centos-64-x64-pe.yml +12 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/centos-64-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/centos-65-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/debian-607-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/debian-70rc1-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/debian-73-x64.yml +11 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/default.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/fedora-18-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/sles-11-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/sles-11sp1-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml +10 -0
- data/spec/fixtures/modules/concat/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml +11 -0
- data/spec/fixtures/modules/concat/spec/acceptance/order_spec.rb +123 -0
- data/spec/fixtures/modules/concat/spec/acceptance/quoted_paths_spec.rb +42 -0
- data/spec/fixtures/modules/concat/spec/acceptance/replace_spec.rb +262 -0
- data/spec/fixtures/modules/concat/spec/acceptance/specinfra_stubs.rb +19 -0
- data/spec/fixtures/modules/concat/spec/acceptance/symbolic_name_spec.rb +35 -0
- data/spec/fixtures/modules/concat/spec/acceptance/validation_spec.rb +35 -0
- data/spec/fixtures/modules/concat/spec/acceptance/warn_spec.rb +104 -0
- data/spec/fixtures/modules/concat/spec/spec.opts +6 -0
- data/spec/fixtures/modules/concat/spec/spec_helper.rb +1 -0
- data/spec/fixtures/modules/concat/spec/spec_helper_acceptance.rb +61 -0
- data/spec/fixtures/modules/concat/spec/unit/classes/concat_setup_spec.rb +98 -0
- data/spec/fixtures/modules/concat/spec/unit/defines/concat_fragment_spec.rb +330 -0
- data/spec/fixtures/modules/concat/spec/unit/defines/concat_spec.rb +415 -0
- data/spec/fixtures/modules/concat/spec/unit/facts/concat_basedir_spec.rb +18 -0
- data/spec/fixtures/modules/concat/tests/fragment.pp +19 -0
- data/spec/fixtures/modules/concat/tests/init.pp +7 -0
- data/spec/fixtures/modules/staging/Gemfile +7 -0
- data/spec/fixtures/modules/staging/LICENSE +11 -0
- data/spec/fixtures/modules/staging/README.md +70 -0
- data/spec/fixtures/modules/staging/Rakefile +1 -0
- data/spec/fixtures/modules/staging/Vagrantfile +29 -0
- data/spec/fixtures/modules/staging/checksums.json +37 -0
- data/spec/fixtures/modules/staging/docs/deploy.html +113 -0
- data/spec/fixtures/modules/staging/docs/extract.html +176 -0
- data/spec/fixtures/modules/staging/docs/file.html +178 -0
- data/spec/fixtures/modules/staging/docs/init.html +87 -0
- data/spec/fixtures/modules/staging/files/sample +1 -0
- data/spec/fixtures/modules/staging/files/sample.tar.bz2 +0 -0
- data/spec/fixtures/modules/staging/files/sample.tar.gz +0 -0
- data/spec/fixtures/modules/staging/lib/facter/staging_http_get.rb +29 -0
- data/spec/fixtures/modules/staging/lib/facter/staging_windir.rb +11 -0
- data/spec/fixtures/modules/staging/lib/puppet/parser/functions/scope_defaults.rb +17 -0
- data/spec/fixtures/modules/staging/lib/puppet/parser/functions/staging_parse.rb +36 -0
- data/spec/fixtures/modules/staging/manifests/.init.pp.swp +0 -0
- data/spec/fixtures/modules/staging/manifests/deploy.pp +42 -0
- data/spec/fixtures/modules/staging/manifests/extract.pp +109 -0
- data/spec/fixtures/modules/staging/manifests/file.pp +125 -0
- data/spec/fixtures/modules/staging/manifests/init.pp +31 -0
- data/spec/fixtures/modules/staging/manifests/params.pp +33 -0
- data/spec/fixtures/modules/staging/metadata.json +106 -0
- data/spec/fixtures/modules/staging/spec/defines/staging_deploy_spec.rb +27 -0
- data/spec/fixtures/modules/staging/spec/defines/staging_extract_spec.rb +104 -0
- data/spec/fixtures/modules/staging/spec/defines/staging_file_spec.rb +163 -0
- data/spec/fixtures/modules/staging/spec/fixtures/hiera.yaml +7 -0
- data/spec/fixtures/modules/staging/spec/spec_helper.rb +29 -0
- data/spec/fixtures/modules/staging/spec/unit/puppet/parser/functions/scope_defaults_spec.rb +45 -0
- data/spec/fixtures/modules/staging/spec/unit/puppet/parser/functions/staging_parse_spec.rb +51 -0
- data/spec/fixtures/modules/staging/tests/deploy.pp +4 -0
- data/spec/fixtures/modules/staging/tests/extract.pp +25 -0
- data/spec/fixtures/modules/staging/tests/file.pp +17 -0
- data/spec/fixtures/modules/staging/tests/init.pp +1 -0
- data/spec/fixtures/modules/staging/tests/scope_defaults.pp +7 -0
- data/spec/fixtures/modules/staging/tests/staging_parse.pp +12 -0
- data/spec/fixtures/modules/stdlib/CHANGELOG.md +515 -0
- data/spec/fixtures/modules/stdlib/CONTRIBUTING.md +220 -0
- data/spec/fixtures/modules/stdlib/Gemfile +51 -0
- data/spec/fixtures/modules/stdlib/LICENSE +19 -0
- data/spec/fixtures/modules/stdlib/README.markdown +1042 -0
- data/spec/fixtures/modules/stdlib/README_DEVELOPER.markdown +35 -0
- data/spec/fixtures/modules/stdlib/README_SPECS.markdown +7 -0
- data/spec/fixtures/modules/stdlib/RELEASE_PROCESS.markdown +24 -0
- data/spec/fixtures/modules/stdlib/Rakefile +18 -0
- data/spec/fixtures/modules/stdlib/checksums.json +381 -0
- data/spec/fixtures/modules/stdlib/lib/facter/facter_dot_d.rb +202 -0
- data/spec/fixtures/modules/stdlib/lib/facter/pe_version.rb +53 -0
- data/spec/fixtures/modules/stdlib/lib/facter/puppet_vardir.rb +26 -0
- data/spec/fixtures/modules/stdlib/lib/facter/root_home.rb +32 -0
- data/spec/fixtures/modules/stdlib/lib/facter/util/puppet_settings.rb +21 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/functions/type_of.rb +17 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/abs.rb +36 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/any2array.rb +33 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/assert_private.rb +29 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/base64.rb +37 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/basename.rb +34 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/bool2num.rb +26 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/bool2str.rb +27 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/camelcase.rb +33 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/capitalize.rb +33 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/ceiling.rb +25 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/chomp.rb +34 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/chop.rb +36 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/concat.rb +41 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/count.rb +22 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/deep_merge.rb +44 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb +35 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/delete.rb +49 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/delete_at.rb +49 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/delete_undef_values.rb +34 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/delete_values.rb +26 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/difference.rb +36 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/dirname.rb +21 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/downcase.rb +32 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/empty.rb +27 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb +35 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb +46 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/flatten.rb +33 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/floor.rb +25 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/fqdn_rand_string.rb +34 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/fqdn_rotate.rb +57 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb +17 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/getparam.rb +35 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/getvar.rb +29 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/grep.rb +33 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb +68 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb +25 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb +25 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/has_key.rb +28 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/hash.rb +41 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/intersection.rb +34 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_array.rb +22 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_bool.rb +22 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_domain_name.rb +54 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_float.rb +30 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_function_available.rb +26 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_hash.rb +22 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_integer.rb +45 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_ip_address.rb +32 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb +27 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb +75 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/is_string.rb +26 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/join.rb +41 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/join_keys_to_values.rb +47 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/keys.rb +26 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/loadyaml.rb +20 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/lstrip.rb +32 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/max.rb +21 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/member.rb +62 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/merge.rb +34 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/min.rb +21 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/num2bool.rb +43 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/parsejson.rb +24 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/parseyaml.rb +24 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/pick.rb +29 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/pick_default.rb +35 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/prefix.rb +52 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/private.rb +17 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/pw_hash.rb +56 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/range.rb +88 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/reject.rb +31 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/reverse.rb +27 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/rstrip.rb +31 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/shuffle.rb +45 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/size.rb +48 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/sort.rb +27 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/squeeze.rb +36 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/str2bool.rb +46 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/str2saltedsha512.rb +32 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/strftime.rb +107 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/strip.rb +38 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/suffix.rb +45 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/swapcase.rb +38 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/time.rb +49 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/to_bytes.rb +31 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/type.rb +19 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/type3x.rb +51 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/union.rb +34 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/unique.rb +50 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/upcase.rb +45 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/uriescape.rb +34 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_absolute_path.rb +69 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_array.rb +33 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_augeas.rb +83 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_bool.rb +34 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_cmd.rb +63 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_hash.rb +33 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_integer.rb +131 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_ipv4_address.rb +48 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_ipv6_address.rb +49 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_numeric.rb +93 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_re.rb +40 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_slength.rb +71 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb +38 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/values.rb +39 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/values_at.rb +99 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/parser/functions/zip.rb +39 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/provider/file_line/ruby.rb +97 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/type/anchor.rb +46 -0
- data/spec/fixtures/modules/stdlib/lib/puppet/type/file_line.rb +91 -0
- data/spec/fixtures/modules/stdlib/manifests/init.pp +20 -0
- data/spec/fixtures/modules/stdlib/manifests/stages.pp +43 -0
- data/spec/fixtures/modules/stdlib/metadata.json +113 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/abs_spec.rb +30 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/any2array_spec.rb +49 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/base64_spec.rb +18 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/bool2num_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/build_csv.rb +83 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/capitalize_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/ceiling_spec.rb +39 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/chomp_spec.rb +21 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/chop_spec.rb +45 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/concat_spec.rb +40 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/count_spec.rb +30 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/deep_merge_spec.rb +20 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/defined_with_params_spec.rb +22 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/delete_at_spec.rb +19 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/delete_spec.rb +19 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/delete_undef_values_spec.rb +19 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/delete_values_spec.rb +25 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/difference_spec.rb +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/dirname_spec.rb +42 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/downcase_spec.rb +39 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/empty_spec.rb +39 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/ensure_packages_spec.rb +22 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/ensure_resource_spec.rb +22 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/flatten_spec.rb +39 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/floor_spec.rb +39 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/fqdn_rand_string_spec.rb +60 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/fqdn_rotate_spec.rb +47 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/get_module_path_spec.rb +27 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/getparam_spec.rb +24 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/getvar_spec.rb +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/grep_spec.rb +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/has_interface_with_spec.rb +54 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/has_ip_address_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/has_ip_network_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/has_key_spec.rb +41 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/hash_spec.rb +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/intersection_spec.rb +27 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_array_spec.rb +67 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_bool_spec.rb +81 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_domain_name_spec.rb +83 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_float_spec.rb +86 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_function_available_spec.rb +58 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_hash_spec.rb +63 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_integer_spec.rb +95 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_ip_address_spec.rb +80 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_mac_address_spec.rb +38 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_numeric_spec.rb +95 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/is_string_spec.rb +102 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/join_keys_to_values_spec.rb +24 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/join_spec.rb +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/keys_spec.rb +23 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/loadyaml_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/lstrip_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/max_spec.rb +20 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/member_spec.rb +54 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/merge_spec.rb +23 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/min_spec.rb +20 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/centos-59-x64.yml +10 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/centos-6-vcloud.yml +15 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/centos-64-x64-pe.yml +12 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/centos-64-x64.yml +10 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/centos-65-x64.yml +10 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/default.yml +10 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/fedora-18-x64.yml +10 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/sles-11-x64.yml +10 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/ubuntu-server-10044-x64.yml +10 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/ubuntu-server-12042-x64.yml +10 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml +11 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/windows-2003-i386.yml +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/windows-2003-x86_64.yml +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/windows-2008-x86_64.yml +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/windows-2008r2-x86_64.yml +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/windows-2012-x86_64.yml +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/nodesets/windows-2012r2-x86_64.yml +26 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/num2bool_spec.rb +76 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/parsejson_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/parseyaml_spec.rb +35 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/pick_default_spec.rb +54 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/pick_spec.rb +44 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/prefix_spec.rb +42 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/pw_hash_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/range_spec.rb +36 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/reject_spec.rb +42 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/reverse_spec.rb +23 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/rstrip_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/shuffle_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/size_spec.rb +55 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/sort_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/squeeze_spec.rb +47 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/str2bool_spec.rb +31 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/str2saltedsha512_spec.rb +22 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/strftime_spec.rb +22 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/strip_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/suffix_spec.rb +42 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/swapcase_spec.rb +22 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/time_spec.rb +36 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/to_bytes_spec.rb +27 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/type_spec.rb +37 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/union_spec.rb +24 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/unique_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/unsupported_spec.rb +11 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/upcase_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/uriescape_spec.rb +23 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_absolute_path_spec.rb +31 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_array_spec.rb +37 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_augeas_spec.rb +63 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_bool_spec.rb +37 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_cmd_spec.rb +52 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_hash_spec.rb +37 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_ipv4_address_spec.rb +31 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_ipv6_address_spec.rb +31 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_re_spec.rb +47 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_slength_spec.rb +72 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/validate_string_spec.rb +36 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/values_at_spec.rb +73 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/values_spec.rb +35 -0
- data/spec/fixtures/modules/stdlib/spec/acceptance/zip_spec.rb +86 -0
- data/spec/fixtures/modules/stdlib/spec/classes/anchor_spec.rb +30 -0
- data/spec/fixtures/modules/stdlib/spec/functions/abs_spec.rb +25 -0
- data/spec/fixtures/modules/stdlib/spec/functions/any2array_spec.rb +55 -0
- data/spec/fixtures/modules/stdlib/spec/functions/assert_private_spec.rb +55 -0
- data/spec/fixtures/modules/stdlib/spec/functions/base64_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/functions/bool2num_spec.rb +38 -0
- data/spec/fixtures/modules/stdlib/spec/functions/capitalize_spec.rb +28 -0
- data/spec/fixtures/modules/stdlib/spec/functions/ceiling_spec.rb +39 -0
- data/spec/fixtures/modules/stdlib/spec/functions/chomp_spec.rb +28 -0
- data/spec/fixtures/modules/stdlib/spec/functions/chop_spec.rb +28 -0
- data/spec/fixtures/modules/stdlib/spec/functions/concat_spec.rb +50 -0
- data/spec/fixtures/modules/stdlib/spec/functions/count_spec.rb +31 -0
- data/spec/fixtures/modules/stdlib/spec/functions/deep_merge_spec.rb +105 -0
- data/spec/fixtures/modules/stdlib/spec/functions/defined_with_params_spec.rb +37 -0
- data/spec/fixtures/modules/stdlib/spec/functions/delete_at_spec.rb +25 -0
- data/spec/fixtures/modules/stdlib/spec/functions/delete_spec.rb +61 -0
- data/spec/fixtures/modules/stdlib/spec/functions/delete_undef_values_spec.rb +41 -0
- data/spec/fixtures/modules/stdlib/spec/functions/delete_values_spec.rb +36 -0
- data/spec/fixtures/modules/stdlib/spec/functions/difference_spec.rb +19 -0
- data/spec/fixtures/modules/stdlib/spec/functions/dirname_spec.rb +38 -0
- data/spec/fixtures/modules/stdlib/spec/functions/downcase_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/functions/empty_spec.rb +32 -0
- data/spec/fixtures/modules/stdlib/spec/functions/ensure_packages_spec.rb +81 -0
- data/spec/fixtures/modules/stdlib/spec/functions/ensure_resource_spec.rb +113 -0
- data/spec/fixtures/modules/stdlib/spec/functions/flatten_spec.rb +27 -0
- data/spec/fixtures/modules/stdlib/spec/functions/floor_spec.rb +39 -0
- data/spec/fixtures/modules/stdlib/spec/functions/fqdn_rand_string_spec.rb +91 -0
- data/spec/fixtures/modules/stdlib/spec/functions/fqdn_rotate_spec.rb +60 -0
- data/spec/fixtures/modules/stdlib/spec/functions/get_module_path_spec.rb +46 -0
- data/spec/fixtures/modules/stdlib/spec/functions/getparam_spec.rb +76 -0
- data/spec/fixtures/modules/stdlib/spec/functions/getvar_spec.rb +37 -0
- data/spec/fixtures/modules/stdlib/spec/functions/grep_spec.rb +19 -0
- data/spec/fixtures/modules/stdlib/spec/functions/has_interface_with_spec.rb +64 -0
- data/spec/fixtures/modules/stdlib/spec/functions/has_ip_address_spec.rb +39 -0
- data/spec/fixtures/modules/stdlib/spec/functions/has_ip_network_spec.rb +36 -0
- data/spec/fixtures/modules/stdlib/spec/functions/has_key_spec.rb +42 -0
- data/spec/fixtures/modules/stdlib/spec/functions/hash_spec.rb +19 -0
- data/spec/fixtures/modules/stdlib/spec/functions/intersection_spec.rb +19 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_array_spec.rb +29 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_bool_spec.rb +44 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_domain_name_spec.rb +81 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_float_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_function_available.rb +31 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_hash_spec.rb +29 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_integer_spec.rb +69 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_ip_address_spec.rb +39 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_mac_address_spec.rb +29 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_numeric_spec.rb +119 -0
- data/spec/fixtures/modules/stdlib/spec/functions/is_string_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/functions/join_keys_to_values_spec.rb +40 -0
- data/spec/fixtures/modules/stdlib/spec/functions/join_spec.rb +19 -0
- data/spec/fixtures/modules/stdlib/spec/functions/keys_spec.rb +21 -0
- data/spec/fixtures/modules/stdlib/spec/functions/loadyaml_spec.rb +25 -0
- data/spec/fixtures/modules/stdlib/spec/functions/lstrip_spec.rb +28 -0
- data/spec/fixtures/modules/stdlib/spec/functions/max_spec.rb +27 -0
- data/spec/fixtures/modules/stdlib/spec/functions/member_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/functions/merge_spec.rb +52 -0
- data/spec/fixtures/modules/stdlib/spec/functions/min_spec.rb +27 -0
- data/spec/fixtures/modules/stdlib/spec/functions/num2bool_spec.rb +67 -0
- data/spec/fixtures/modules/stdlib/spec/functions/parsejson_spec.rb +22 -0
- data/spec/fixtures/modules/stdlib/spec/functions/parseyaml_spec.rb +24 -0
- data/spec/fixtures/modules/stdlib/spec/functions/pick_default_spec.rb +58 -0
- data/spec/fixtures/modules/stdlib/spec/functions/pick_spec.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/functions/prefix_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/functions/private_spec.rb +60 -0
- data/spec/fixtures/modules/stdlib/spec/functions/pw_hash_spec.rb +96 -0
- data/spec/fixtures/modules/stdlib/spec/functions/range_spec.rb +86 -0
- data/spec/fixtures/modules/stdlib/spec/functions/reject_spec.rb +20 -0
- data/spec/fixtures/modules/stdlib/spec/functions/reverse_spec.rb +28 -0
- data/spec/fixtures/modules/stdlib/spec/functions/rstrip_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/functions/shuffle_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/functions/size_spec.rb +24 -0
- data/spec/fixtures/modules/stdlib/spec/functions/sort_spec.rb +24 -0
- data/spec/fixtures/modules/stdlib/spec/functions/squeeze_spec.rb +24 -0
- data/spec/fixtures/modules/stdlib/spec/functions/str2bool_spec.rb +31 -0
- data/spec/fixtures/modules/stdlib/spec/functions/str2saltedsha512_spec.rb +45 -0
- data/spec/fixtures/modules/stdlib/spec/functions/strftime_spec.rb +29 -0
- data/spec/fixtures/modules/stdlib/spec/functions/strip_spec.rb +27 -0
- data/spec/fixtures/modules/stdlib/spec/functions/suffix_spec.rb +27 -0
- data/spec/fixtures/modules/stdlib/spec/functions/swapcase_spec.rb +28 -0
- data/spec/fixtures/modules/stdlib/spec/functions/time_spec.rb +29 -0
- data/spec/fixtures/modules/stdlib/spec/functions/to_bytes_spec.rb +83 -0
- data/spec/fixtures/modules/stdlib/spec/functions/type3x_spec.rb +43 -0
- data/spec/fixtures/modules/stdlib/spec/functions/type_spec.rb +44 -0
- data/spec/fixtures/modules/stdlib/spec/functions/union_spec.rb +19 -0
- data/spec/fixtures/modules/stdlib/spec/functions/unique_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/functions/upcase_spec.rb +58 -0
- data/spec/fixtures/modules/stdlib/spec/functions/uriescape_spec.rb +40 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_absolute_path_spec.rb +104 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_array_spec.rb +38 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_augeas_spec.rb +103 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_bool_spec.rb +51 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_cmd_spec.rb +85 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_hash_spec.rb +43 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_integer_spec.rb +219 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_ipv4_address_spec.rb +64 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_ipv6_address_spec.rb +67 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_numeric_spec.rb +217 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_re_spec.rb +77 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_slength_spec.rb +67 -0
- data/spec/fixtures/modules/stdlib/spec/functions/validate_string_spec.rb +60 -0
- data/spec/fixtures/modules/stdlib/spec/functions/values_at_spec.rb +38 -0
- data/spec/fixtures/modules/stdlib/spec/functions/values_spec.rb +31 -0
- data/spec/fixtures/modules/stdlib/spec/functions/zip_spec.rb +31 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/compiler.rb +47 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/database.rb +30 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/files.rb +61 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/fixtures.rb +29 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/matchers.rb +121 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/modules.rb +27 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/pops.rb +17 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/scope.rb +15 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/settings.rb +16 -0
- data/spec/fixtures/modules/stdlib/spec/lib/puppet_spec/verbose.rb +10 -0
- data/spec/fixtures/modules/stdlib/spec/monkey_patches/alias_should_to_must.rb +9 -0
- data/spec/fixtures/modules/stdlib/spec/monkey_patches/publicize_methods.rb +11 -0
- data/spec/fixtures/modules/stdlib/spec/spec.opts +6 -0
- data/spec/fixtures/modules/stdlib/spec/spec_helper.rb +34 -0
- data/spec/fixtures/modules/stdlib/spec/spec_helper_acceptance.rb +50 -0
- data/spec/fixtures/modules/stdlib/spec/unit/facter/facter_dot_d_spec.rb +32 -0
- data/spec/fixtures/modules/stdlib/spec/unit/facter/pe_version_spec.rb +76 -0
- data/spec/fixtures/modules/stdlib/spec/unit/facter/root_home_spec.rb +52 -0
- data/spec/fixtures/modules/stdlib/spec/unit/facter/util/puppet_settings_spec.rb +36 -0
- data/spec/fixtures/modules/stdlib/spec/unit/puppet/functions/type_of_spec.rb +33 -0
- data/spec/fixtures/modules/stdlib/spec/unit/puppet/parser/functions/basename_spec.rb +46 -0
- data/spec/fixtures/modules/stdlib/spec/unit/puppet/parser/functions/bool2str_spec.rb +46 -0
- data/spec/fixtures/modules/stdlib/spec/unit/puppet/parser/functions/camelcase_spec.rb +24 -0
- data/spec/fixtures/modules/stdlib/spec/unit/puppet/provider/file_line/ruby_spec.rb +277 -0
- data/spec/fixtures/modules/stdlib/spec/unit/puppet/type/anchor_spec.rb +11 -0
- data/spec/fixtures/modules/stdlib/spec/unit/puppet/type/file_line_spec.rb +70 -0
- data/spec/fixtures/modules/stdlib/tests/file_line.pp +9 -0
- data/spec/fixtures/modules/stdlib/tests/has_interface_with.pp +10 -0
- data/spec/fixtures/modules/stdlib/tests/has_ip_address.pp +3 -0
- data/spec/fixtures/modules/stdlib/tests/has_ip_network.pp +4 -0
- data/spec/fixtures/modules/stdlib/tests/init.pp +1 -0
- data/spec/fixtures/modules/tomcat/.gitignore +8 -0
- data/spec/fixtures/modules/tomcat/.puppet-lint.rc +8 -0
- data/spec/fixtures/modules/tomcat/.travis.yml +14 -0
- data/spec/fixtures/modules/tomcat/CHANGELOG.md +94 -0
- data/spec/fixtures/modules/tomcat/CONTRIBUTING.md +220 -0
- data/spec/fixtures/modules/tomcat/LICENSE +15 -0
- data/spec/fixtures/modules/tomcat/README.markdown +75 -0
- data/spec/fixtures/modules/tomcat/README.md +812 -0
- data/spec/fixtures/modules/tomcat/Vagrantfile +95 -0
- data/spec/fixtures/modules/tomcat/checksums.json +67 -0
- data/spec/fixtures/modules/tomcat/examples/default_install_from_package.pp +13 -0
- data/spec/fixtures/modules/tomcat/examples/default_install_from_source.pp +9 -0
- data/spec/fixtures/modules/tomcat/examples/instance_with_context.pp +20 -0
- data/spec/fixtures/modules/tomcat/examples/instance_with_listener.pp +18 -0
- data/spec/fixtures/modules/tomcat/examples/instance_with_realm.pp +20 -0
- data/spec/fixtures/modules/tomcat/examples/instance_with_role_and_user.pp +23 -0
- data/spec/fixtures/modules/tomcat/examples/jsvc_install_from_source.pp +37 -0
- data/spec/fixtures/modules/tomcat/examples/multiple_instances.pp +38 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server.pp +78 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server/connector.pp +95 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server/context.pp +102 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server/engine.pp +109 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server/host.pp +79 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server/listener.pp +98 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server/realm.pp +104 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server/service.pp +54 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server/tomcat_users.pp +97 -0
- data/spec/fixtures/modules/tomcat/manifests/config/server/valve.pp +77 -0
- data/spec/fixtures/modules/tomcat/manifests/init.pp +71 -0
- data/spec/fixtures/modules/tomcat/manifests/instance.pp +88 -0
- data/spec/fixtures/modules/tomcat/manifests/instance/package.pp +26 -0
- data/spec/fixtures/modules/tomcat/manifests/instance/source.pp +46 -0
- data/spec/fixtures/modules/tomcat/manifests/params.pp +13 -0
- data/spec/fixtures/modules/tomcat/manifests/service.pp +160 -0
- data/spec/fixtures/modules/tomcat/manifests/setenv/entry.pp +52 -0
- data/spec/fixtures/modules/tomcat/manifests/war.pp +80 -0
- data/spec/fixtures/modules/tomcat/metadata.json +74 -0
- data/spec/spec_helper.rb +1 -1
- data/spec/unit/plugin_spec.rb +21 -0
- data/spec/unit/puppet-retrospec_spec.rb +36 -29
- data/spec/unit/resource_spec.rb +0 -1
- data/spec/unit/type_code_spec.rb +0 -1
- metadata +540 -18
- data/bin/retrospec +0 -29
- data/lib/retrospec.rb +0 -205
- data/lib/retrospec/exceptions.rb +0 -4
- data/lib/retrospec/helpers.rb +0 -157
- data/lib/retrospec/version.rb +0 -3
@@ -0,0 +1,69 @@
|
|
1
|
+
module Puppet::Parser::Functions
|
2
|
+
newfunction(:validate_absolute_path, :doc => <<-'ENDHEREDOC') do |args|
|
3
|
+
Validate the string represents an absolute path in the filesystem. This function works
|
4
|
+
for windows and unix style paths.
|
5
|
+
|
6
|
+
The following values will pass:
|
7
|
+
|
8
|
+
$my_path = 'C:/Program Files (x86)/Puppet Labs/Puppet'
|
9
|
+
validate_absolute_path($my_path)
|
10
|
+
$my_path2 = '/var/lib/puppet'
|
11
|
+
validate_absolute_path($my_path2)
|
12
|
+
$my_path3 = ['C:/Program Files (x86)/Puppet Labs/Puppet','C:/Program Files/Puppet Labs/Puppet']
|
13
|
+
validate_absolute_path($my_path3)
|
14
|
+
$my_path4 = ['/var/lib/puppet','/usr/share/puppet']
|
15
|
+
validate_absolute_path($my_path4)
|
16
|
+
|
17
|
+
The following values will fail, causing compilation to abort:
|
18
|
+
|
19
|
+
validate_absolute_path(true)
|
20
|
+
validate_absolute_path('../var/lib/puppet')
|
21
|
+
validate_absolute_path('var/lib/puppet')
|
22
|
+
validate_absolute_path([ 'var/lib/puppet', '/var/foo' ])
|
23
|
+
validate_absolute_path([ '/var/lib/puppet', 'var/foo' ])
|
24
|
+
$undefined = undef
|
25
|
+
validate_absolute_path($undefined)
|
26
|
+
|
27
|
+
ENDHEREDOC
|
28
|
+
|
29
|
+
require 'puppet/util'
|
30
|
+
|
31
|
+
unless args.length > 0 then
|
32
|
+
raise Puppet::ParseError, ("validate_absolute_path(): wrong number of arguments (#{args.length}; must be > 0)")
|
33
|
+
end
|
34
|
+
|
35
|
+
args.each do |arg|
|
36
|
+
# put arg to candidate var to be able to replace it
|
37
|
+
candidates = arg
|
38
|
+
# if arg is just a string with a path to test, convert it to an array
|
39
|
+
# to avoid test code duplication
|
40
|
+
unless arg.is_a?(Array) then
|
41
|
+
candidates = Array.new(1,arg)
|
42
|
+
end
|
43
|
+
# iterate over all pathes within the candidates array
|
44
|
+
candidates.each do |path|
|
45
|
+
# This logic was borrowed from
|
46
|
+
# [lib/puppet/file_serving/base.rb](https://github.com/puppetlabs/puppet/blob/master/lib/puppet/file_serving/base.rb)
|
47
|
+
# Puppet 2.7 and beyond will have Puppet::Util.absolute_path? Fall back to a back-ported implementation otherwise.
|
48
|
+
if Puppet::Util.respond_to?(:absolute_path?) then
|
49
|
+
unless Puppet::Util.absolute_path?(path, :posix) or Puppet::Util.absolute_path?(path, :windows)
|
50
|
+
raise Puppet::ParseError, ("#{path.inspect} is not an absolute path.")
|
51
|
+
end
|
52
|
+
else
|
53
|
+
# This code back-ported from 2.7.x's lib/puppet/util.rb Puppet::Util.absolute_path?
|
54
|
+
# Determine in a platform-specific way whether a path is absolute. This
|
55
|
+
# defaults to the local platform if none is specified.
|
56
|
+
# Escape once for the string literal, and once for the regex.
|
57
|
+
slash = '[\\\\/]'
|
58
|
+
name = '[^\\\\/]+'
|
59
|
+
regexes = {
|
60
|
+
:windows => %r!^(([A-Z]:#{slash})|(#{slash}#{slash}#{name}#{slash}#{name})|(#{slash}#{slash}\?#{slash}#{name}))!i,
|
61
|
+
:posix => %r!^/!,
|
62
|
+
}
|
63
|
+
rval = (!!(path =~ regexes[:posix])) || (!!(path =~ regexes[:windows]))
|
64
|
+
rval or raise Puppet::ParseError, ("#{path.inspect} is not an absolute path.")
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Puppet::Parser::Functions
|
2
|
+
|
3
|
+
newfunction(:validate_array, :doc => <<-'ENDHEREDOC') do |args|
|
4
|
+
Validate that all passed values are array data structures. Abort catalog
|
5
|
+
compilation if any value fails this check.
|
6
|
+
|
7
|
+
The following values will pass:
|
8
|
+
|
9
|
+
$my_array = [ 'one', 'two' ]
|
10
|
+
validate_array($my_array)
|
11
|
+
|
12
|
+
The following values will fail, causing compilation to abort:
|
13
|
+
|
14
|
+
validate_array(true)
|
15
|
+
validate_array('some_string')
|
16
|
+
$undefined = undef
|
17
|
+
validate_array($undefined)
|
18
|
+
|
19
|
+
ENDHEREDOC
|
20
|
+
|
21
|
+
unless args.length > 0 then
|
22
|
+
raise Puppet::ParseError, ("validate_array(): wrong number of arguments (#{args.length}; must be > 0)")
|
23
|
+
end
|
24
|
+
|
25
|
+
args.each do |arg|
|
26
|
+
unless arg.is_a?(Array)
|
27
|
+
raise Puppet::ParseError, ("#{arg.inspect} is not an Array. It looks to be a #{arg.class}")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
require 'tempfile'
|
2
|
+
|
3
|
+
module Puppet::Parser::Functions
|
4
|
+
newfunction(:validate_augeas, :doc => <<-'ENDHEREDOC') do |args|
|
5
|
+
Perform validation of a string using an Augeas lens
|
6
|
+
The first argument of this function should be a string to
|
7
|
+
test, and the second argument should be the name of the Augeas lens to use.
|
8
|
+
If Augeas fails to parse the string with the lens, the compilation will
|
9
|
+
abort with a parse error.
|
10
|
+
|
11
|
+
A third argument can be specified, listing paths which should
|
12
|
+
not be found in the file. The `$file` variable points to the location
|
13
|
+
of the temporary file being tested in the Augeas tree.
|
14
|
+
|
15
|
+
For example, if you want to make sure your passwd content never contains
|
16
|
+
a user `foo`, you could write:
|
17
|
+
|
18
|
+
validate_augeas($passwdcontent, 'Passwd.lns', ['$file/foo'])
|
19
|
+
|
20
|
+
Or if you wanted to ensure that no users used the '/bin/barsh' shell,
|
21
|
+
you could use:
|
22
|
+
|
23
|
+
validate_augeas($passwdcontent, 'Passwd.lns', ['$file/*[shell="/bin/barsh"]']
|
24
|
+
|
25
|
+
If a fourth argument is specified, this will be the error message raised and
|
26
|
+
seen by the user.
|
27
|
+
|
28
|
+
A helpful error message can be returned like this:
|
29
|
+
|
30
|
+
validate_augeas($sudoerscontent, 'Sudoers.lns', [], 'Failed to validate sudoers content with Augeas')
|
31
|
+
|
32
|
+
ENDHEREDOC
|
33
|
+
unless Puppet.features.augeas?
|
34
|
+
raise Puppet::ParseError, ("validate_augeas(): this function requires the augeas feature. See http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Augeas#Pre-requisites for how to activate it.")
|
35
|
+
end
|
36
|
+
|
37
|
+
if (args.length < 2) or (args.length > 4) then
|
38
|
+
raise Puppet::ParseError, ("validate_augeas(): wrong number of arguments (#{args.length}; must be 2, 3, or 4)")
|
39
|
+
end
|
40
|
+
|
41
|
+
msg = args[3] || "validate_augeas(): Failed to validate content against #{args[1].inspect}"
|
42
|
+
|
43
|
+
require 'augeas'
|
44
|
+
aug = Augeas::open(nil, nil, Augeas::NO_MODL_AUTOLOAD)
|
45
|
+
begin
|
46
|
+
content = args[0]
|
47
|
+
|
48
|
+
# Test content in a temporary file
|
49
|
+
tmpfile = Tempfile.new("validate_augeas")
|
50
|
+
begin
|
51
|
+
tmpfile.write(content)
|
52
|
+
ensure
|
53
|
+
tmpfile.close
|
54
|
+
end
|
55
|
+
|
56
|
+
# Check for syntax
|
57
|
+
lens = args[1]
|
58
|
+
aug.transform(
|
59
|
+
:lens => lens,
|
60
|
+
:name => 'Validate_augeas',
|
61
|
+
:incl => tmpfile.path
|
62
|
+
)
|
63
|
+
aug.load!
|
64
|
+
|
65
|
+
unless aug.match("/augeas/files#{tmpfile.path}//error").empty?
|
66
|
+
error = aug.get("/augeas/files#{tmpfile.path}//error/message")
|
67
|
+
msg += " with error: #{error}"
|
68
|
+
raise Puppet::ParseError, (msg)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Launch unit tests
|
72
|
+
tests = args[2] || []
|
73
|
+
aug.defvar('file', "/files#{tmpfile.path}")
|
74
|
+
tests.each do |t|
|
75
|
+
msg += " testing path #{t}"
|
76
|
+
raise Puppet::ParseError, (msg) unless aug.match(t).empty?
|
77
|
+
end
|
78
|
+
ensure
|
79
|
+
aug.close
|
80
|
+
tmpfile.unlink
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Puppet::Parser::Functions
|
2
|
+
|
3
|
+
newfunction(:validate_bool, :doc => <<-'ENDHEREDOC') do |args|
|
4
|
+
Validate that all passed values are either true or false. Abort catalog
|
5
|
+
compilation if any value fails this check.
|
6
|
+
|
7
|
+
The following values will pass:
|
8
|
+
|
9
|
+
$iamtrue = true
|
10
|
+
validate_bool(true)
|
11
|
+
validate_bool(true, true, false, $iamtrue)
|
12
|
+
|
13
|
+
The following values will fail, causing compilation to abort:
|
14
|
+
|
15
|
+
$some_array = [ true ]
|
16
|
+
validate_bool("false")
|
17
|
+
validate_bool("true")
|
18
|
+
validate_bool($some_array)
|
19
|
+
|
20
|
+
ENDHEREDOC
|
21
|
+
|
22
|
+
unless args.length > 0 then
|
23
|
+
raise Puppet::ParseError, ("validate_bool(): wrong number of arguments (#{args.length}; must be > 0)")
|
24
|
+
end
|
25
|
+
|
26
|
+
args.each do |arg|
|
27
|
+
unless function_is_bool([arg])
|
28
|
+
raise Puppet::ParseError, ("#{arg.inspect} is not a boolean. It looks to be a #{arg.class}")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'puppet/util/execution'
|
2
|
+
require 'tempfile'
|
3
|
+
|
4
|
+
module Puppet::Parser::Functions
|
5
|
+
newfunction(:validate_cmd, :doc => <<-'ENDHEREDOC') do |args|
|
6
|
+
Perform validation of a string with an external command.
|
7
|
+
The first argument of this function should be a string to
|
8
|
+
test, and the second argument should be a path to a test command
|
9
|
+
taking a % as a placeholder for the file path (will default to the end).
|
10
|
+
If the command, launched against a tempfile containing the passed string,
|
11
|
+
returns a non-null value, compilation will abort with a parse error.
|
12
|
+
|
13
|
+
If a third argument is specified, this will be the error message raised and
|
14
|
+
seen by the user.
|
15
|
+
|
16
|
+
A helpful error message can be returned like this:
|
17
|
+
|
18
|
+
Example:
|
19
|
+
|
20
|
+
# Defaults to end of path
|
21
|
+
validate_cmd($sudoerscontent, '/usr/sbin/visudo -c -f', 'Visudo failed to validate sudoers content')
|
22
|
+
|
23
|
+
# % as file location
|
24
|
+
validate_cmd($haproxycontent, '/usr/sbin/haproxy -f % -c', 'Haproxy failed to validate config content')
|
25
|
+
|
26
|
+
ENDHEREDOC
|
27
|
+
if (args.length < 2) or (args.length > 3) then
|
28
|
+
raise Puppet::ParseError, ("validate_cmd(): wrong number of arguments (#{args.length}; must be 2 or 3)")
|
29
|
+
end
|
30
|
+
|
31
|
+
msg = args[2] || "validate_cmd(): failed to validate content with command #{args[1].inspect}"
|
32
|
+
|
33
|
+
content = args[0]
|
34
|
+
checkscript = args[1]
|
35
|
+
|
36
|
+
# Test content in a temporary file
|
37
|
+
tmpfile = Tempfile.new("validate_cmd")
|
38
|
+
begin
|
39
|
+
tmpfile.write(content)
|
40
|
+
tmpfile.close
|
41
|
+
|
42
|
+
if checkscript =~ /\s%(\s|$)/
|
43
|
+
check_with_correct_location = checkscript.gsub(/%/,tmpfile.path)
|
44
|
+
else
|
45
|
+
check_with_correct_location = "#{checkscript} #{tmpfile.path}"
|
46
|
+
end
|
47
|
+
|
48
|
+
if Puppet::Util::Execution.respond_to?('execute')
|
49
|
+
Puppet::Util::Execution.execute(check_with_correct_location)
|
50
|
+
else
|
51
|
+
Puppet::Util.execute(check_with_correct_location)
|
52
|
+
end
|
53
|
+
rescue Puppet::ExecutionFailure => detail
|
54
|
+
msg += "\n#{detail}"
|
55
|
+
raise Puppet::ParseError, msg
|
56
|
+
rescue Exception => detail
|
57
|
+
msg += "\n#{detail.class.name} #{detail}"
|
58
|
+
raise Puppet::ParseError, msg
|
59
|
+
ensure
|
60
|
+
tmpfile.unlink
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Puppet::Parser::Functions
|
2
|
+
|
3
|
+
newfunction(:validate_hash, :doc => <<-'ENDHEREDOC') do |args|
|
4
|
+
Validate that all passed values are hash data structures. Abort catalog
|
5
|
+
compilation if any value fails this check.
|
6
|
+
|
7
|
+
The following values will pass:
|
8
|
+
|
9
|
+
$my_hash = { 'one' => 'two' }
|
10
|
+
validate_hash($my_hash)
|
11
|
+
|
12
|
+
The following values will fail, causing compilation to abort:
|
13
|
+
|
14
|
+
validate_hash(true)
|
15
|
+
validate_hash('some_string')
|
16
|
+
$undefined = undef
|
17
|
+
validate_hash($undefined)
|
18
|
+
|
19
|
+
ENDHEREDOC
|
20
|
+
|
21
|
+
unless args.length > 0 then
|
22
|
+
raise Puppet::ParseError, ("validate_hash(): wrong number of arguments (#{args.length}; must be > 0)")
|
23
|
+
end
|
24
|
+
|
25
|
+
args.each do |arg|
|
26
|
+
unless arg.is_a?(Hash)
|
27
|
+
raise Puppet::ParseError, ("#{arg.inspect} is not a Hash. It looks to be a #{arg.class}")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
module Puppet::Parser::Functions
|
2
|
+
|
3
|
+
newfunction(:validate_integer, :doc => <<-'ENDHEREDOC') do |args|
|
4
|
+
Validate that the first argument is an integer (or an array of integers). Abort catalog compilation if any of the checks fail.
|
5
|
+
|
6
|
+
The second argument is optional and passes a maximum. (All elements of) the first argument has to be less or equal to this max.
|
7
|
+
|
8
|
+
The third argument is optional and passes a minimum. (All elements of) the first argument has to be greater or equal to this min.
|
9
|
+
If, and only if, a minimum is given, the second argument may be an empty string or undef, which will be handled to just check
|
10
|
+
if (all elements of) the first argument are greater or equal to the given minimum.
|
11
|
+
|
12
|
+
It will fail if the first argument is not an integer or array of integers, and if arg 2 and arg 3 are not convertable to an integer.
|
13
|
+
|
14
|
+
The following values will pass:
|
15
|
+
|
16
|
+
validate_integer(1)
|
17
|
+
validate_integer(1, 2)
|
18
|
+
validate_integer(1, 1)
|
19
|
+
validate_integer(1, 2, 0)
|
20
|
+
validate_integer(2, 2, 2)
|
21
|
+
validate_integer(2, '', 0)
|
22
|
+
validate_integer(2, undef, 0)
|
23
|
+
$foo = undef
|
24
|
+
validate_integer(2, $foo, 0)
|
25
|
+
validate_integer([1,2,3,4,5], 6)
|
26
|
+
validate_integer([1,2,3,4,5], 6, 0)
|
27
|
+
|
28
|
+
Plus all of the above, but any combination of values passed as strings ('1' or "1").
|
29
|
+
Plus all of the above, but with (correct) combinations of negative integer values.
|
30
|
+
|
31
|
+
The following values will not:
|
32
|
+
|
33
|
+
validate_integer(true)
|
34
|
+
validate_integer(false)
|
35
|
+
validate_integer(7.0)
|
36
|
+
validate_integer({ 1 => 2 })
|
37
|
+
$foo = undef
|
38
|
+
validate_integer($foo)
|
39
|
+
validate_integer($foobaridontexist)
|
40
|
+
|
41
|
+
validate_integer(1, 0)
|
42
|
+
validate_integer(1, true)
|
43
|
+
validate_integer(1, '')
|
44
|
+
validate_integer(1, undef)
|
45
|
+
validate_integer(1, , 0)
|
46
|
+
validate_integer(1, 2, 3)
|
47
|
+
validate_integer(1, 3, 2)
|
48
|
+
validate_integer(1, 3, true)
|
49
|
+
|
50
|
+
Plus all of the above, but any combination of values passed as strings ('false' or "false").
|
51
|
+
Plus all of the above, but with incorrect combinations of negative integer values.
|
52
|
+
Plus all of the above, but with non-integer crap in arrays or maximum / minimum argument.
|
53
|
+
|
54
|
+
ENDHEREDOC
|
55
|
+
|
56
|
+
# tell the user we need at least one, and optionally up to two other parameters
|
57
|
+
raise Puppet::ParseError, "validate_integer(): Wrong number of arguments; must be 1, 2 or 3, got #{args.length}" unless args.length > 0 and args.length < 4
|
58
|
+
|
59
|
+
input, max, min = *args
|
60
|
+
|
61
|
+
# check maximum parameter
|
62
|
+
if args.length > 1
|
63
|
+
max = max.to_s
|
64
|
+
# allow max to be empty (or undefined) if we have a minimum set
|
65
|
+
if args.length > 2 and max == ''
|
66
|
+
max = nil
|
67
|
+
else
|
68
|
+
begin
|
69
|
+
max = Integer(max)
|
70
|
+
rescue TypeError, ArgumentError
|
71
|
+
raise Puppet::ParseError, "validate_integer(): Expected second argument to be unset or an Integer, got #{max}:#{max.class}"
|
72
|
+
end
|
73
|
+
end
|
74
|
+
else
|
75
|
+
max = nil
|
76
|
+
end
|
77
|
+
|
78
|
+
# check minimum parameter
|
79
|
+
if args.length > 2
|
80
|
+
begin
|
81
|
+
min = Integer(min.to_s)
|
82
|
+
rescue TypeError, ArgumentError
|
83
|
+
raise Puppet::ParseError, "validate_integer(): Expected third argument to be unset or an Integer, got #{min}:#{min.class}"
|
84
|
+
end
|
85
|
+
else
|
86
|
+
min = nil
|
87
|
+
end
|
88
|
+
|
89
|
+
# ensure that min < max
|
90
|
+
if min and max and min > max
|
91
|
+
raise Puppet::ParseError, "validate_integer(): Expected second argument to be larger than third argument, got #{max} < #{min}"
|
92
|
+
end
|
93
|
+
|
94
|
+
# create lamba validator function
|
95
|
+
validator = lambda do |num|
|
96
|
+
# check input < max
|
97
|
+
if max and num > max
|
98
|
+
raise Puppet::ParseError, "validate_integer(): Expected #{input.inspect} to be smaller or equal to #{max}, got #{input.inspect}."
|
99
|
+
end
|
100
|
+
# check input > min (this will only be checked if no exception has been raised before)
|
101
|
+
if min and num < min
|
102
|
+
raise Puppet::ParseError, "validate_integer(): Expected #{input.inspect} to be greater or equal to #{min}, got #{input.inspect}."
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
# if this is an array, handle it.
|
107
|
+
case input
|
108
|
+
when Array
|
109
|
+
# check every element of the array
|
110
|
+
input.each_with_index do |arg, pos|
|
111
|
+
begin
|
112
|
+
arg = Integer(arg.to_s)
|
113
|
+
validator.call(arg)
|
114
|
+
rescue TypeError, ArgumentError
|
115
|
+
raise Puppet::ParseError, "validate_integer(): Expected element at array position #{pos} to be an Integer, got #{arg.class}"
|
116
|
+
end
|
117
|
+
end
|
118
|
+
# for the sake of compatibility with ruby 1.8, we need extra handling of hashes
|
119
|
+
when Hash
|
120
|
+
raise Puppet::ParseError, "validate_integer(): Expected first argument to be an Integer or Array, got #{input.class}"
|
121
|
+
# check the input. this will also fail any stuff other than pure, shiny integers
|
122
|
+
else
|
123
|
+
begin
|
124
|
+
input = Integer(input.to_s)
|
125
|
+
validator.call(input)
|
126
|
+
rescue TypeError, ArgumentError
|
127
|
+
raise Puppet::ParseError, "validate_integer(): Expected first argument to be an Integer or Array, got #{input.class}"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|