puppet 6.0.10-universal-darwin → 6.1.0-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +31 -27
- data/Guardfile.example +76 -0
- data/LICENSE +189 -4
- data/MAINTAINERS +47 -0
- data/README.md +3 -3
- data/lib/hiera/scope.rb +0 -7
- data/lib/puppet.rb +6 -5
- data/lib/puppet/application.rb +3 -3
- data/lib/puppet/application/cert.rb +2 -2
- data/lib/puppet/application/device.rb +83 -109
- data/lib/puppet/application/filebucket.rb +1 -10
- data/lib/puppet/application/ssl.rb +0 -2
- data/lib/puppet/configurer.rb +9 -10
- data/lib/puppet/confine/false.rb +1 -7
- data/lib/puppet/confine/true.rb +1 -7
- data/lib/puppet/defaults.rb +39 -51
- data/lib/puppet/forge.rb +1 -4
- data/lib/puppet/functions/abs.rb +1 -1
- data/lib/puppet/functions/call.rb +1 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/indirector/request.rb +15 -26
- data/lib/puppet/network/http/connection.rb +12 -32
- data/lib/puppet/network/http/factory.rb +0 -5
- data/lib/puppet/pal/catalog_compiler.rb +96 -0
- data/lib/puppet/pal/compiler.rb +221 -0
- data/lib/puppet/pal/function_signature.rb +52 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
- data/lib/puppet/pal/pal_api.rb +15 -0
- data/lib/puppet/pal/pal_impl.rb +523 -0
- data/lib/puppet/pal/plan_signature.rb +71 -0
- data/lib/puppet/pal/script_compiler.rb +71 -0
- data/lib/puppet/pal/task_signature.rb +58 -0
- data/lib/puppet/parser/functions/generate.rb +7 -6
- data/lib/puppet/plugins/configuration.rb +5 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
- data/lib/puppet/pops/issues.rb +0 -4
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
- data/lib/puppet/pops/model/factory.rb +4 -38
- data/lib/puppet/pops/model/pn_transformer.rb +0 -5
- data/lib/puppet/pops/parser/egrammar.ra +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
- data/lib/puppet/pops/parser/lexer2.rb +1 -6
- data/lib/puppet/pops/parser/locator.rb +86 -106
- data/lib/puppet/pops/parser/parser_support.rb +2 -11
- data/lib/puppet/pops/types/string_converter.rb +7 -2
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/types.rb +3 -5
- data/lib/puppet/pops/validation/checker4_0.rb +13 -0
- data/lib/puppet/provider.rb +2 -1
- data/lib/puppet/provider/exec.rb +6 -1
- data/lib/puppet/provider/file/windows.rb +1 -49
- data/lib/puppet/provider/group/windows_adsi.rb +1 -4
- data/lib/puppet/provider/package.rb +0 -2
- data/lib/puppet/provider/package/dpkg.rb +2 -15
- data/lib/puppet/provider/package/gem.rb +42 -102
- data/lib/puppet/provider/package/pip.rb +111 -135
- data/lib/puppet/provider/package/pip3.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +37 -21
- data/lib/puppet/provider/package/puppet_gem.rb +1 -1
- data/lib/puppet/provider/package/rpm.rb +16 -27
- data/lib/puppet/provider/package/windows.rb +1 -5
- data/lib/puppet/provider/package/yum.rb +1 -2
- data/lib/puppet/provider/service/systemd.rb +17 -0
- data/lib/puppet/provider/service/upstart.rb +5 -17
- data/lib/puppet/provider/service/windows.rb +8 -3
- data/lib/puppet/provider/user/directoryservice.rb +4 -16
- data/lib/puppet/provider/user/useradd.rb +13 -16
- data/lib/puppet/resource.rb +3 -1
- data/lib/puppet/rest/client.rb +83 -0
- data/lib/puppet/rest/route.rb +1 -1
- data/lib/puppet/settings.rb +5 -10
- data/lib/puppet/settings/server_list_setting.rb +0 -9
- data/lib/puppet/ssl/host.rb +11 -0
- data/lib/puppet/ssl/validator/default_validator.rb +0 -31
- data/lib/puppet/syntax_checkers/epp.rb +34 -0
- data/lib/puppet/syntax_checkers/pp.rb +34 -0
- data/lib/puppet/transaction.rb +7 -12
- data/lib/puppet/transaction/event_manager.rb +5 -1
- data/lib/puppet/transaction/resource_harness.rb +0 -1
- data/lib/puppet/type.rb +6 -0
- data/lib/puppet/type/exec.rb +5 -27
- data/lib/puppet/type/file/mode.rb +1 -6
- data/lib/puppet/type/file/source.rb +1 -0
- data/lib/puppet/type/filebucket.rb +8 -12
- data/lib/puppet/type/package.rb +11 -44
- data/lib/puppet/type/schedule.rb +0 -4
- data/lib/puppet/type/service.rb +12 -0
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/util/command_line.rb +1 -5
- data/lib/puppet/util/connection.rb +6 -15
- data/lib/puppet/util/http_proxy.rb +2 -3
- data/lib/puppet/util/log.rb +2 -7
- data/lib/puppet/util/pidlock.rb +1 -15
- data/lib/puppet/util/windows/process.rb +5 -73
- data/lib/puppet/util/windows/registry.rb +1 -7
- data/lib/puppet/util/windows/security.rb +8 -29
- data/lib/puppet/util/windows/service.rb +33 -27
- data/lib/puppet/util/windows/user.rb +4 -14
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet_pal.rb +5 -1132
- data/locales/ja/puppet.po +297 -363
- data/locales/puppet.pot +445 -517
- data/man/man5/puppet.conf.5 +12 -20
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +2 -6
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
- data/spec/integration/agent/logging_spec.rb +7 -5
- data/spec/integration/application/apply_spec.rb +16 -18
- data/spec/integration/application/doc_spec.rb +2 -1
- data/spec/integration/application/lookup_spec.rb +5 -5
- data/spec/integration/configurer_spec.rb +6 -5
- data/spec/integration/defaults_spec.rb +6 -5
- data/spec/integration/directory_environments_spec.rb +1 -1
- data/spec/integration/faces/config_spec.rb +4 -3
- data/spec/integration/faces/documentation_spec.rb +1 -0
- data/spec/integration/faces/plugin_spec.rb +1 -1
- data/spec/integration/file_bucket/file_spec.rb +4 -2
- data/spec/integration/file_serving/content_spec.rb +1 -0
- data/spec/integration/file_serving/fileset_spec.rb +1 -0
- data/spec/integration/file_serving/metadata_spec.rb +1 -0
- data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
- data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +5 -4
- data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
- data/spec/integration/network/authconfig_spec.rb +24 -23
- data/spec/integration/network/formats_spec.rb +1 -0
- data/spec/integration/node/environment_spec.rb +1 -0
- data/spec/integration/node/facts_spec.rb +10 -9
- data/spec/integration/node_spec.rb +7 -6
- data/spec/integration/parser/catalog_spec.rb +5 -1
- data/spec/integration/parser/collection_spec.rb +2 -1
- data/spec/integration/parser/compiler_spec.rb +6 -6
- data/spec/integration/parser/scope_spec.rb +1 -1
- data/spec/integration/parser/undef_param_spec.rb +1 -1
- data/spec/integration/provider/service/init_spec.rb +5 -4
- data/spec/integration/provider/service/systemd_spec.rb +2 -0
- data/spec/integration/provider/service/windows_spec.rb +2 -1
- data/spec/integration/reference/providers_spec.rb +2 -1
- data/spec/integration/reports_spec.rb +2 -1
- data/spec/integration/resource/catalog_spec.rb +17 -14
- data/spec/integration/resource/type_collection_spec.rb +5 -4
- data/spec/integration/ssl/certificate_request_spec.rb +1 -0
- data/spec/integration/ssl/host_spec.rb +2 -1
- data/spec/integration/ssl/key_spec.rb +1 -0
- data/spec/integration/test/test_helper_spec.rb +1 -0
- data/spec/integration/transaction/report_spec.rb +11 -6
- data/spec/integration/transaction_spec.rb +19 -18
- data/spec/integration/type/exec_spec.rb +1 -0
- data/spec/integration/type/file_spec.rb +33 -13
- data/spec/integration/type/package_spec.rb +24 -20
- data/spec/integration/type/tidy_spec.rb +2 -1
- data/spec/integration/type_spec.rb +1 -0
- data/spec/integration/util/autoload_spec.rb +2 -1
- data/spec/integration/util/rdoc/parser_spec.rb +1 -0
- data/spec/integration/util/settings_spec.rb +1 -0
- data/spec/integration/util/windows/adsi_spec.rb +5 -3
- data/spec/integration/util/windows/principal_spec.rb +1 -0
- data/spec/integration/util/windows/process_spec.rb +6 -4
- data/spec/integration/util/windows/registry_spec.rb +51 -93
- data/spec/integration/util/windows/security_spec.rb +4 -2
- data/spec/integration/util/windows/user_spec.rb +20 -37
- data/spec/integration/util_spec.rb +7 -4
- data/spec/lib/puppet_spec/compiler.rb +1 -1
- data/spec/lib/puppet_spec/files.rb +1 -0
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +2 -1
- data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
- data/spec/shared_behaviours/file_server_terminus.rb +9 -8
- data/spec/shared_behaviours/file_serving.rb +8 -6
- data/spec/shared_behaviours/file_serving_model.rb +5 -3
- data/spec/shared_behaviours/hiera_indirections.rb +4 -3
- data/spec/shared_behaviours/iterative_functions.rb +1 -0
- data/spec/shared_behaviours/memory_terminus.rb +2 -2
- data/spec/shared_examples/rhel_package_provider.rb +70 -112
- data/spec/spec_helper.rb +2 -11
- data/spec/unit/agent/disabler_spec.rb +5 -4
- data/spec/unit/agent/locker_spec.rb +13 -12
- data/spec/unit/agent_spec.rb +85 -80
- data/spec/unit/application/agent_spec.rb +93 -88
- data/spec/unit/application/apply_spec.rb +83 -82
- data/spec/unit/application/config_spec.rb +1 -0
- data/spec/unit/application/describe_spec.rb +7 -6
- data/spec/unit/application/device_spec.rb +419 -395
- data/spec/unit/application/doc_spec.rb +46 -44
- data/spec/unit/application/face_base_spec.rb +62 -61
- data/spec/unit/application/facts_spec.rb +4 -3
- data/spec/unit/application/filebucket_spec.rb +74 -66
- data/spec/unit/application/indirection_base_spec.rb +6 -8
- data/spec/unit/application/lookup_spec.rb +26 -26
- data/spec/unit/application/resource_spec.rb +48 -42
- data/spec/unit/application/ssl_spec.rb +3 -8
- data/spec/unit/application_spec.rb +98 -86
- data/spec/unit/capability_spec.rb +6 -6
- data/spec/unit/certificate_factory_spec.rb +5 -3
- data/spec/unit/configurer/downloader_spec.rb +21 -20
- data/spec/unit/configurer/fact_handler_spec.rb +3 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
- data/spec/unit/configurer_spec.rb +198 -194
- data/spec/unit/confine/exists_spec.rb +15 -17
- data/spec/unit/confine/false_spec.rb +6 -32
- data/spec/unit/confine/feature_spec.rb +5 -7
- data/spec/unit/confine/true_spec.rb +6 -32
- data/spec/unit/confine/variable_spec.rb +15 -14
- data/spec/unit/confine_collection_spec.rb +29 -28
- data/spec/unit/confine_spec.rb +14 -13
- data/spec/unit/confiner_spec.rb +11 -10
- data/spec/unit/context/trusted_information_spec.rb +1 -1
- data/spec/unit/daemon_spec.rb +36 -35
- data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
- data/spec/unit/datatypes_spec.rb +4 -3
- data/spec/unit/defaults_spec.rb +27 -18
- data/spec/unit/environments_spec.rb +7 -7
- data/spec/unit/etc_spec.rb +32 -30
- data/spec/unit/external/pson_spec.rb +1 -0
- data/spec/unit/face/catalog_spec.rb +1 -0
- data/spec/unit/face/config_spec.rb +35 -31
- data/spec/unit/face/epp_face_spec.rb +4 -3
- data/spec/unit/face/facts_spec.rb +6 -5
- data/spec/unit/face/generate_spec.rb +5 -4
- data/spec/unit/face/help_spec.rb +8 -7
- data/spec/unit/face/key_spec.rb +1 -0
- data/spec/unit/face/man_spec.rb +2 -1
- data/spec/unit/face/module/install_spec.rb +5 -3
- data/spec/unit/face/module/list_spec.rb +12 -2
- data/spec/unit/face/module/search_spec.rb +9 -11
- data/spec/unit/face/module/uninstall_spec.rb +8 -4
- data/spec/unit/face/node_spec.rb +24 -23
- data/spec/unit/face/parser_spec.rb +18 -3
- data/spec/unit/face/plugin_spec.rb +9 -36
- data/spec/unit/face/status_spec.rb +1 -0
- data/spec/unit/file_bucket/dipper_spec.rb +20 -24
- data/spec/unit/file_bucket/file_spec.rb +2 -0
- data/spec/unit/file_serving/base_spec.rb +15 -14
- data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
- data/spec/unit/file_serving/configuration_spec.rb +66 -63
- data/spec/unit/file_serving/content_spec.rb +11 -10
- data/spec/unit/file_serving/fileset_spec.rb +58 -63
- data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
- data/spec/unit/file_serving/metadata_spec.rb +36 -36
- data/spec/unit/file_serving/mount/file_spec.rb +32 -31
- data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
- data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
- data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
- data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
- data/spec/unit/file_serving/mount_spec.rb +1 -0
- data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
- data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
- data/spec/unit/file_system/uniquefile_spec.rb +4 -4
- data/spec/unit/file_system_spec.rb +2 -2
- data/spec/unit/forge/errors_spec.rb +1 -1
- data/spec/unit/forge/forge_spec.rb +16 -17
- data/spec/unit/forge/module_release_spec.rb +18 -18
- data/spec/unit/forge/repository_spec.rb +30 -29
- data/spec/unit/forge_spec.rb +11 -15
- data/spec/unit/functions/binary_file_spec.rb +3 -3
- data/spec/unit/functions/contain_spec.rb +2 -0
- data/spec/unit/functions/defined_spec.rb +1 -0
- data/spec/unit/functions/epp_spec.rb +2 -2
- data/spec/unit/functions/find_file_spec.rb +7 -7
- data/spec/unit/functions/include_spec.rb +4 -0
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
- data/spec/unit/functions/lookup_spec.rb +2 -1
- data/spec/unit/functions/module_directory_spec.rb +12 -12
- data/spec/unit/functions/new_spec.rb +0 -15
- data/spec/unit/functions/require_spec.rb +3 -0
- data/spec/unit/functions/shared.rb +8 -5
- data/spec/unit/functions/versioncmp_spec.rb +2 -1
- data/spec/unit/functions4_spec.rb +10 -9
- data/spec/unit/gettext/config_spec.rb +4 -4
- data/spec/unit/gettext/module_loading_spec.rb +7 -7
- data/spec/unit/graph/rb_tree_map_spec.rb +2 -0
- data/spec/unit/graph/relationship_graph_spec.rb +2 -1
- data/spec/unit/graph/simple_graph_spec.rb +10 -9
- data/spec/unit/hiera/scope_spec.rb +0 -7
- data/spec/unit/hiera_puppet_spec.rb +20 -20
- data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
- data/spec/unit/indirector/catalog/json_spec.rb +2 -1
- data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
- data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
- data/spec/unit/indirector/certificate/file_spec.rb +1 -0
- data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
- data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
- data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
- data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
- data/spec/unit/indirector/envelope_spec.rb +2 -1
- data/spec/unit/indirector/exec_spec.rb +5 -4
- data/spec/unit/indirector/face_spec.rb +9 -9
- data/spec/unit/indirector/facts/facter_spec.rb +43 -37
- data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
- data/spec/unit/indirector/facts/rest_spec.rb +8 -7
- data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
- data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
- data/spec/unit/indirector/file_content/file_spec.rb +1 -0
- data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
- data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
- data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
- data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
- data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
- data/spec/unit/indirector/file_server_spec.rb +87 -87
- data/spec/unit/indirector/indirection_spec.rb +226 -242
- data/spec/unit/indirector/json_spec.rb +9 -7
- data/spec/unit/indirector/key/file_spec.rb +22 -21
- data/spec/unit/indirector/memory_spec.rb +7 -6
- data/spec/unit/indirector/msgpack_spec.rb +9 -7
- data/spec/unit/indirector/node/exec_spec.rb +3 -2
- data/spec/unit/indirector/node/memory_spec.rb +4 -2
- data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
- data/spec/unit/indirector/node/plain_spec.rb +4 -2
- data/spec/unit/indirector/node/rest_spec.rb +1 -0
- data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/node/yaml_spec.rb +1 -0
- data/spec/unit/indirector/none_spec.rb +5 -5
- data/spec/unit/indirector/plain_spec.rb +8 -7
- data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
- data/spec/unit/indirector/report/processor_spec.rb +22 -21
- data/spec/unit/indirector/report/rest_spec.rb +12 -11
- data/spec/unit/indirector/report/yaml_spec.rb +1 -0
- data/spec/unit/indirector/request_spec.rb +12 -11
- data/spec/unit/indirector/resource/ral_spec.rb +54 -47
- data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/rest_spec.rb +110 -113
- data/spec/unit/indirector/ssl_file_spec.rb +65 -64
- data/spec/unit/indirector/status/local_spec.rb +1 -0
- data/spec/unit/indirector/status/rest_spec.rb +1 -0
- data/spec/unit/indirector/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/terminus_spec.rb +27 -27
- data/spec/unit/indirector/yaml_spec.rb +6 -5
- data/spec/unit/indirector_spec.rb +2 -1
- data/spec/unit/info_service_spec.rb +1 -1
- data/spec/unit/interface/action_builder_spec.rb +1 -0
- data/spec/unit/interface/action_manager_spec.rb +1 -0
- data/spec/unit/interface/action_spec.rb +3 -2
- data/spec/unit/interface/documentation_spec.rb +1 -0
- data/spec/unit/interface/face_collection_spec.rb +12 -19
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/man_spec.rb +4 -3
- data/spec/unit/module_spec.rb +51 -46
- data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
- data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
- data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
- data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
- data/spec/unit/module_tool/install_directory_spec.rb +8 -8
- data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
- data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
- data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
- data/spec/unit/module_tool/tar_spec.rb +13 -12
- data/spec/unit/module_tool_spec.rb +12 -7
- data/spec/unit/network/auth_config_parser_spec.rb +13 -11
- data/spec/unit/network/authconfig_spec.rb +18 -17
- data/spec/unit/network/authorization_spec.rb +5 -4
- data/spec/unit/network/authstore_spec.rb +1 -0
- data/spec/unit/network/format_handler_spec.rb +1 -0
- data/spec/unit/network/format_spec.rb +10 -9
- data/spec/unit/network/format_support_spec.rb +29 -28
- data/spec/unit/network/formats_spec.rb +5 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +7 -6
- data/spec/unit/network/http/api_spec.rb +2 -0
- data/spec/unit/network/http/compression_spec.rb +22 -21
- data/spec/unit/network/http/connection_spec.rb +121 -30
- data/spec/unit/network/http/factory_spec.rb +6 -11
- data/spec/unit/network/http/handler_spec.rb +18 -9
- data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
- data/spec/unit/network/http/pool_spec.rb +29 -28
- data/spec/unit/network/http/request_spec.rb +2 -0
- data/spec/unit/network/http/response_spec.rb +13 -11
- data/spec/unit/network/http/route_spec.rb +1 -0
- data/spec/unit/network/http/session_spec.rb +2 -1
- data/spec/unit/network/http/site_spec.rb +1 -0
- data/spec/unit/network/http_pool_spec.rb +9 -18
- data/spec/unit/network/http_spec.rb +1 -0
- data/spec/unit/network/resolver_spec.rb +26 -25
- data/spec/unit/network/rights_spec.rb +53 -52
- data/spec/unit/node/environment_spec.rb +15 -14
- data/spec/unit/node/facts_spec.rb +7 -5
- data/spec/unit/node_spec.rb +10 -4
- data/spec/unit/other/selinux_spec.rb +1 -0
- data/spec/unit/parameter/boolean_spec.rb +2 -1
- data/spec/unit/parameter/package_options_spec.rb +2 -1
- data/spec/unit/parameter/path_spec.rb +1 -0
- data/spec/unit/parameter/value_collection_spec.rb +1 -0
- data/spec/unit/parameter/value_spec.rb +1 -0
- data/spec/unit/parameter_spec.rb +9 -9
- data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
- data/spec/unit/parser/ast/leaf_spec.rb +21 -20
- data/spec/unit/parser/compiler_spec.rb +96 -84
- data/spec/unit/parser/environment_compiler_spec.rb +8 -7
- data/spec/unit/parser/files_spec.rb +1 -0
- data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
- data/spec/unit/parser/functions/digest_spec.rb +1 -0
- data/spec/unit/parser/functions/fail_spec.rb +2 -1
- data/spec/unit/parser/functions/file_spec.rb +14 -13
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
- data/spec/unit/parser/functions/generate_spec.rb +8 -7
- data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
- data/spec/unit/parser/functions/scanf_spec.rb +1 -0
- data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
- data/spec/unit/parser/functions/split_spec.rb +1 -0
- data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
- data/spec/unit/parser/functions/tag_spec.rb +2 -1
- data/spec/unit/parser/functions/tagged_spec.rb +3 -2
- data/spec/unit/parser/functions/template_spec.rb +13 -13
- data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
- data/spec/unit/parser/functions_spec.rb +7 -6
- data/spec/unit/parser/relationship_spec.rb +1 -0
- data/spec/unit/parser/resource_spec.rb +42 -42
- data/spec/unit/parser/scope_spec.rb +35 -39
- data/spec/unit/parser/templatewrapper_spec.rb +12 -11
- data/spec/unit/parser/type_loader_spec.rb +19 -17
- data/spec/unit/pops/adaptable_spec.rb +1 -0
- data/spec/unit/pops/benchmark_spec.rb +1 -0
- data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
- data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
- data/spec/unit/pops/factory_spec.rb +4 -3
- data/spec/unit/pops/issues_spec.rb +20 -19
- data/spec/unit/pops/loaders/loader_spec.rb +4 -8
- data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
- data/spec/unit/pops/lookup/context_spec.rb +1 -0
- data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
- data/spec/unit/pops/merge_strategy_spec.rb +1 -0
- data/spec/unit/pops/migration_spec.rb +5 -3
- data/spec/unit/pops/model/model_spec.rb +1 -0
- data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
- data/spec/unit/pops/parser/locator_spec.rb +6 -48
- data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
- data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
- data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
- data/spec/unit/pops/pn_spec.rb +1 -0
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
- data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
- data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
- data/spec/unit/pops/types/string_converter_spec.rb +5 -1
- data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
- data/spec/unit/pops/types/type_parser_spec.rb +13 -13
- data/spec/unit/pops/validator/validator_spec.rb +2 -1
- data/spec/unit/pops/visitor_spec.rb +1 -0
- data/spec/unit/property/boolean_spec.rb +1 -1
- data/spec/unit/property/ensure_spec.rb +1 -0
- data/spec/unit/property/keyvalue_spec.rb +34 -32
- data/spec/unit/property/list_spec.rb +27 -26
- data/spec/unit/property/ordered_list_spec.rb +14 -10
- data/spec/unit/property_spec.rb +43 -42
- data/spec/unit/provider/aix_object_spec.rb +45 -47
- data/spec/unit/provider/command_spec.rb +9 -9
- data/spec/unit/provider/exec/posix_spec.rb +31 -6
- data/spec/unit/provider/exec/shell_spec.rb +1 -0
- data/spec/unit/provider/exec/windows_spec.rb +4 -2
- data/spec/unit/provider/exec_spec.rb +1 -0
- data/spec/unit/provider/file/posix_spec.rb +24 -22
- data/spec/unit/provider/file/windows_spec.rb +17 -15
- data/spec/unit/provider/group/aix_spec.rb +2 -3
- data/spec/unit/provider/group/groupadd_spec.rb +26 -30
- data/spec/unit/provider/group/ldap_spec.rb +18 -18
- data/spec/unit/provider/group/pw_spec.rb +11 -11
- data/spec/unit/provider/group/windows_adsi_spec.rb +53 -59
- data/spec/unit/provider/ldap_spec.rb +62 -61
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
- data/spec/unit/provider/nameservice_spec.rb +40 -38
- data/spec/unit/provider/package/aix_spec.rb +15 -15
- data/spec/unit/provider/package/appdmg_spec.rb +13 -13
- data/spec/unit/provider/package/apt_spec.rb +27 -44
- data/spec/unit/provider/package/aptitude_spec.rb +7 -6
- data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
- data/spec/unit/provider/package/base_spec.rb +4 -4
- data/spec/unit/provider/package/dnf_spec.rb +20 -18
- data/spec/unit/provider/package/dpkg_spec.rb +53 -70
- data/spec/unit/provider/package/freebsd_spec.rb +11 -11
- data/spec/unit/provider/package/gem_spec.rb +55 -132
- data/spec/unit/provider/package/hpux_spec.rb +8 -8
- data/spec/unit/provider/package/macports_spec.rb +42 -46
- data/spec/unit/provider/package/nim_spec.rb +39 -30
- data/spec/unit/provider/package/openbsd_spec.rb +39 -36
- data/spec/unit/provider/package/opkg_spec.rb +26 -23
- data/spec/unit/provider/package/pacman_spec.rb +118 -97
- data/spec/unit/provider/package/pip3_spec.rb +0 -17
- data/spec/unit/provider/package/pip_spec.rb +106 -95
- data/spec/unit/provider/package/pkg_spec.rb +109 -109
- data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
- data/spec/unit/provider/package/pkgin_spec.rb +8 -10
- data/spec/unit/provider/package/pkgng_spec.rb +31 -22
- data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
- data/spec/unit/provider/package/portage_spec.rb +74 -70
- data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
- data/spec/unit/provider/package/rpm_spec.rb +76 -154
- data/spec/unit/provider/package/sun_spec.rb +18 -16
- data/spec/unit/provider/package/tdnf_spec.rb +2 -2
- data/spec/unit/provider/package/up2date_spec.rb +4 -2
- data/spec/unit/provider/package/urpmi_spec.rb +17 -15
- data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
- data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
- data/spec/unit/provider/package/windows/package_spec.rb +42 -37
- data/spec/unit/provider/package/windows_spec.rb +32 -47
- data/spec/unit/provider/package/yum_spec.rb +7 -7
- data/spec/unit/provider/package/zypper_spec.rb +87 -87
- data/spec/unit/provider/parsedfile_spec.rb +45 -44
- data/spec/unit/provider/service/base_spec.rb +5 -4
- data/spec/unit/provider/service/bsd_spec.rb +29 -27
- data/spec/unit/provider/service/daemontools_spec.rb +35 -35
- data/spec/unit/provider/service/debian_spec.rb +38 -38
- data/spec/unit/provider/service/freebsd_spec.rb +18 -18
- data/spec/unit/provider/service/gentoo_spec.rb +55 -50
- data/spec/unit/provider/service/init_spec.rb +52 -53
- data/spec/unit/provider/service/launchd_spec.rb +116 -138
- data/spec/unit/provider/service/openbsd_spec.rb +50 -50
- data/spec/unit/provider/service/openrc_spec.rb +45 -43
- data/spec/unit/provider/service/openwrt_spec.rb +31 -26
- data/spec/unit/provider/service/rcng_spec.rb +14 -14
- data/spec/unit/provider/service/redhat_spec.rb +43 -45
- data/spec/unit/provider/service/runit_spec.rb +27 -29
- data/spec/unit/provider/service/smf_spec.rb +66 -74
- data/spec/unit/provider/service/src_spec.rb +47 -46
- data/spec/unit/provider/service/systemd_spec.rb +136 -109
- data/spec/unit/provider/service/upstart_spec.rb +93 -77
- data/spec/unit/provider/service/windows_spec.rb +41 -33
- data/spec/unit/provider/user/aix_spec.rb +31 -31
- data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
- data/spec/unit/provider/user/hpux_spec.rb +16 -16
- data/spec/unit/provider/user/ldap_spec.rb +57 -57
- data/spec/unit/provider/user/openbsd_spec.rb +12 -10
- data/spec/unit/provider/user/pw_spec.rb +35 -37
- data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
- data/spec/unit/provider/user/useradd_spec.rb +92 -93
- data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
- data/spec/unit/provider_spec.rb +35 -35
- data/spec/unit/puppet_pal_2pec.rb +5 -4
- data/spec/unit/puppet_pal_spec.rb +1 -0
- data/spec/unit/puppet_spec.rb +7 -6
- data/spec/unit/relationship_spec.rb +1 -0
- data/spec/unit/reports/http_spec.rb +23 -21
- data/spec/unit/reports/store_spec.rb +4 -3
- data/spec/unit/reports_spec.rb +14 -12
- data/spec/unit/resource/capability_finder_spec.rb +17 -15
- data/spec/unit/resource/catalog_spec.rb +68 -72
- data/spec/unit/resource/status_spec.rb +8 -6
- data/spec/unit/resource/type_collection_spec.rb +18 -17
- data/spec/unit/resource/type_spec.rb +35 -34
- data/spec/unit/resource_spec.rb +63 -36
- data/spec/unit/rest/client_spec.rb +135 -0
- data/spec/unit/rest/route_spec.rb +6 -6
- data/spec/unit/scheduler/job_spec.rb +1 -0
- data/spec/unit/scheduler/scheduler_spec.rb +1 -0
- data/spec/unit/scheduler/splay_job_spec.rb +2 -1
- data/spec/unit/settings/array_setting_spec.rb +1 -1
- data/spec/unit/settings/autosign_setting_spec.rb +9 -9
- data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
- data/spec/unit/settings/config_file_spec.rb +1 -0
- data/spec/unit/settings/directory_setting_spec.rb +7 -2
- data/spec/unit/settings/duration_setting_spec.rb +2 -1
- data/spec/unit/settings/enum_setting_spec.rb +1 -1
- data/spec/unit/settings/environment_conf_spec.rb +6 -4
- data/spec/unit/settings/file_setting_spec.rb +46 -44
- data/spec/unit/settings/path_setting_spec.rb +2 -1
- data/spec/unit/settings/priority_setting_spec.rb +2 -1
- data/spec/unit/settings/string_setting_spec.rb +15 -14
- data/spec/unit/settings/terminus_setting_spec.rb +2 -1
- data/spec/unit/settings/value_translator_spec.rb +1 -0
- data/spec/unit/settings_spec.rb +224 -253
- data/spec/unit/ssl/base_spec.rb +15 -14
- data/spec/unit/ssl/certificate_request_spec.rb +58 -62
- data/spec/unit/ssl/certificate_spec.rb +25 -23
- data/spec/unit/ssl/digest_spec.rb +1 -0
- data/spec/unit/ssl/host_spec.rb +149 -166
- data/spec/unit/ssl/key_spec.rb +31 -30
- data/spec/unit/ssl/validator_spec.rb +39 -40
- data/spec/unit/task_spec.rb +45 -44
- data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
- data/spec/unit/transaction/event_manager_spec.rb +88 -87
- data/spec/unit/transaction/event_spec.rb +15 -16
- data/spec/unit/transaction/persistence_spec.rb +17 -16
- data/spec/unit/transaction/report_spec.rb +12 -11
- data/spec/unit/transaction/resource_harness_spec.rb +31 -52
- data/spec/unit/transaction_spec.rb +87 -140
- data/spec/unit/type/component_spec.rb +1 -0
- data/spec/unit/type/exec_spec.rb +50 -101
- data/spec/unit/type/file/checksum_spec.rb +10 -9
- data/spec/unit/type/file/checksum_value_spec.rb +32 -31
- data/spec/unit/type/file/content_spec.rb +61 -58
- data/spec/unit/type/file/ctime_spec.rb +1 -0
- data/spec/unit/type/file/ensure_spec.rb +13 -12
- data/spec/unit/type/file/group_spec.rb +7 -5
- data/spec/unit/type/file/mode_spec.rb +6 -4
- data/spec/unit/type/file/mtime_spec.rb +1 -0
- data/spec/unit/type/file/owner_spec.rb +8 -6
- data/spec/unit/type/file/selinux_spec.rb +19 -17
- data/spec/unit/type/file/source_spec.rb +101 -104
- data/spec/unit/type/file/type_spec.rb +1 -0
- data/spec/unit/type/file_spec.rb +185 -195
- data/spec/unit/type/filebucket_spec.rb +10 -11
- data/spec/unit/type/group_spec.rb +8 -6
- data/spec/unit/type/noop_metaparam_spec.rb +2 -1
- data/spec/unit/type/package/package_settings_spec.rb +23 -44
- data/spec/unit/type/package_spec.rb +57 -56
- data/spec/unit/type/resources_spec.rb +74 -72
- data/spec/unit/type/schedule_spec.rb +26 -24
- data/spec/unit/type/service_spec.rb +75 -49
- data/spec/unit/type/stage_spec.rb +1 -0
- data/spec/unit/type/tidy_spec.rb +62 -61
- data/spec/unit/type/user_spec.rb +25 -24
- data/spec/unit/type/whit_spec.rb +1 -0
- data/spec/unit/type_spec.rb +54 -55
- data/spec/unit/util/at_fork_spec.rb +19 -18
- data/spec/unit/util/autoload_spec.rb +56 -55
- data/spec/unit/util/backups_spec.rb +35 -34
- data/spec/unit/util/character_encoding_spec.rb +5 -5
- data/spec/unit/util/checksums_spec.rb +39 -38
- data/spec/unit/util/colors_spec.rb +2 -1
- data/spec/unit/util/command_line_spec.rb +20 -40
- data/spec/unit/util/constant_inflector_spec.rb +1 -0
- data/spec/unit/util/diff_spec.rb +8 -7
- data/spec/unit/util/errors_spec.rb +1 -0
- data/spec/unit/util/execution_spec.rb +163 -187
- data/spec/unit/util/execution_stub_spec.rb +1 -0
- data/spec/unit/util/feature_spec.rb +14 -21
- data/spec/unit/util/filetype_spec.rb +49 -49
- data/spec/unit/util/http_proxy_spec.rb +12 -12
- data/spec/unit/util/inifile_spec.rb +31 -26
- data/spec/unit/util/json_lockfile_spec.rb +5 -3
- data/spec/unit/util/ldap/connection_spec.rb +25 -26
- data/spec/unit/util/ldap/generator_spec.rb +1 -0
- data/spec/unit/util/ldap/manager_spec.rb +101 -102
- data/spec/unit/util/lockfile_spec.rb +1 -0
- data/spec/unit/util/log/destinations_spec.rb +33 -30
- data/spec/unit/util/log_spec.rb +34 -48
- data/spec/unit/util/logging_spec.rb +72 -58
- data/spec/unit/util/metric_spec.rb +1 -0
- data/spec/unit/util/monkey_patches_spec.rb +9 -7
- data/spec/unit/util/multi_match_spec.rb +1 -0
- data/spec/unit/util/network_device/config_spec.rb +1 -0
- data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
- data/spec/unit/util/network_device_spec.rb +9 -7
- data/spec/unit/util/package_spec.rb +1 -0
- data/spec/unit/util/pidlock_spec.rb +15 -60
- data/spec/unit/util/plist_spec.rb +33 -40
- data/spec/unit/util/posix_spec.rb +51 -54
- data/spec/unit/util/rdoc_spec.rb +10 -9
- data/spec/unit/util/reference_spec.rb +1 -0
- data/spec/unit/util/resource_template_spec.rb +20 -20
- data/spec/unit/util/retry_action_spec.rb +8 -7
- data/spec/unit/util/rubygems_spec.rb +8 -7
- data/spec/unit/util/run_mode_spec.rb +4 -3
- data/spec/unit/util/selinux_spec.rb +72 -79
- data/spec/unit/util/splayer_spec.rb +9 -8
- data/spec/unit/util/ssl_spec.rb +1 -0
- data/spec/unit/util/storage_spec.rb +23 -22
- data/spec/unit/util/suidmanager_spec.rb +54 -45
- data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
- data/spec/unit/util/tag_set_spec.rb +1 -0
- data/spec/unit/util/tagging_spec.rb +1 -0
- data/spec/unit/util/terminal_spec.rb +10 -9
- data/spec/unit/util/user_attr_spec.rb +2 -1
- data/spec/unit/util/warnings_spec.rb +4 -3
- data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
- data/spec/unit/util/watcher_spec.rb +21 -51
- data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
- data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
- data/spec/unit/util/windows/adsi_spec.rb +138 -136
- data/spec/unit/util/windows/api_types_spec.rb +1 -0
- data/spec/unit/util/windows/eventlog_spec.rb +12 -9
- data/spec/unit/util/windows/file_spec.rb +1 -0
- data/spec/unit/util/windows/root_certs_spec.rb +1 -0
- data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
- data/spec/unit/util/windows/service_spec.rb +103 -100
- data/spec/unit/util/windows/sid_spec.rb +13 -11
- data/spec/unit/util/windows/string_spec.rb +1 -0
- data/spec/unit/util_spec.rb +57 -55
- data/spec/unit/version_spec.rb +6 -6
- metadata +20 -32
- data/CODEOWNERS +0 -30
- data/ext/autotest/Rakefile +0 -8
- data/ext/autotest/config +0 -43
- data/ext/autotest/readme.rst +0 -16
- data/lib/puppet/confine/boolean.rb +0 -45
- data/lib/puppet/provider/package_targetable.rb +0 -68
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
- data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
- data/spec/integration/network/http_pool_spec.rb +0 -120
- data/spec/integration/provider/file/windows_spec.rb +0 -162
- data/spec/lib/puppet_spec/https.rb +0 -166
- data/spec/unit/settings/server_list_setting_spec.rb +0 -21
- data/spec/watchr.rb +0 -137
data/spec/unit/type/file_spec.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
describe Puppet::Type.type(:file) do
|
@@ -9,7 +10,7 @@ describe Puppet::Type.type(:file) do
|
|
9
10
|
let(:catalog) { Puppet::Resource::Catalog.new }
|
10
11
|
|
11
12
|
before do
|
12
|
-
|
13
|
+
Puppet.features.stubs("posix?").returns(true)
|
13
14
|
end
|
14
15
|
|
15
16
|
describe "the path parameter" do
|
@@ -210,8 +211,8 @@ describe Puppet::Type.type(:file) do
|
|
210
211
|
|
211
212
|
it "should return the default filebucket if using the 'puppet' filebucket" do
|
212
213
|
file[:backup] = 'puppet'
|
213
|
-
bucket =
|
214
|
-
|
214
|
+
bucket = stub('bucket')
|
215
|
+
file.stubs(:default_bucket).returns bucket
|
215
216
|
|
216
217
|
expect(file.bucket).to eq(bucket)
|
217
218
|
end
|
@@ -242,19 +243,19 @@ describe Puppet::Type.type(:file) do
|
|
242
243
|
before :each do
|
243
244
|
# Mocha won't let me just stub SUIDManager.asuser to yield and return,
|
244
245
|
# but it will do exactly that if we're not root.
|
245
|
-
|
246
|
+
Puppet::Util::SUIDManager.stubs(:root?).returns false
|
246
247
|
end
|
247
248
|
|
248
249
|
it "should return the desired owner if they can write to the parent directory" do
|
249
250
|
file[:owner] = 1001
|
250
|
-
|
251
|
+
FileTest.stubs(:writable?).with(File.dirname file[:path]).returns true
|
251
252
|
|
252
253
|
expect(file.asuser).to eq(1001)
|
253
254
|
end
|
254
255
|
|
255
256
|
it "should return nil if the desired owner can't write to the parent directory" do
|
256
257
|
file[:owner] = 1001
|
257
|
-
|
258
|
+
FileTest.stubs(:writable?).with(File.dirname file[:path]).returns false
|
258
259
|
|
259
260
|
expect(file.asuser).to eq(nil)
|
260
261
|
end
|
@@ -266,25 +267,25 @@ describe Puppet::Type.type(:file) do
|
|
266
267
|
|
267
268
|
describe "#exist?" do
|
268
269
|
it "should be considered existent if it can be stat'ed" do
|
269
|
-
|
270
|
+
file.expects(:stat).returns mock('stat')
|
270
271
|
expect(file).to be_exist
|
271
272
|
end
|
272
273
|
|
273
274
|
it "should be considered nonexistent if it can not be stat'ed" do
|
274
|
-
|
275
|
+
file.expects(:stat).returns nil
|
275
276
|
expect(file).to_not be_exist
|
276
277
|
end
|
277
278
|
end
|
278
279
|
|
279
280
|
describe "#eval_generate" do
|
280
281
|
before do
|
281
|
-
@graph =
|
282
|
-
|
282
|
+
@graph = stub 'graph', :add_edge => nil
|
283
|
+
catalog.stubs(:relationship_graph).returns @graph
|
283
284
|
end
|
284
285
|
|
285
286
|
it "should recurse if recursion is enabled" do
|
286
|
-
resource =
|
287
|
-
|
287
|
+
resource = stub('resource', :[] => 'resource')
|
288
|
+
file.expects(:recurse).returns [resource]
|
288
289
|
|
289
290
|
file[:recurse] = true
|
290
291
|
|
@@ -292,7 +293,7 @@ describe Puppet::Type.type(:file) do
|
|
292
293
|
end
|
293
294
|
|
294
295
|
it "should not recurse if recursion is disabled" do
|
295
|
-
|
296
|
+
file.expects(:recurse).never
|
296
297
|
|
297
298
|
file[:recurse] = false
|
298
299
|
|
@@ -318,7 +319,7 @@ describe Puppet::Type.type(:file) do
|
|
318
319
|
describe "#flush" do
|
319
320
|
it "should flush all properties that respond to :flush" do
|
320
321
|
file[:source] = File.expand_path(__FILE__)
|
321
|
-
|
322
|
+
file.parameter(:source).expects(:flush)
|
322
323
|
file.flush
|
323
324
|
end
|
324
325
|
|
@@ -446,14 +447,12 @@ describe Puppet::Type.type(:file) do
|
|
446
447
|
it "should not copy values to the child which were set by the source" do
|
447
448
|
source = File.expand_path(__FILE__)
|
448
449
|
file[:source] = source
|
449
|
-
metadata =
|
450
|
-
|
450
|
+
metadata = stub 'metadata', :owner => "root", :group => "root", :mode => '0755', :ftype => "file", :checksum => "{md5}whatever", :checksum_type => "md5", :source => source
|
451
|
+
file.parameter(:source).stubs(:metadata).returns metadata
|
451
452
|
|
452
453
|
file.parameter(:source).copy_source_values
|
453
454
|
|
454
|
-
|
455
|
-
expect(arg[:group]).to be_nil
|
456
|
-
end
|
455
|
+
file.class.expects(:new).with { |params| params[:group].nil? }
|
457
456
|
file.newchild("my/path")
|
458
457
|
end
|
459
458
|
end
|
@@ -485,8 +484,8 @@ describe Puppet::Type.type(:file) do
|
|
485
484
|
describe "and a source is set" do
|
486
485
|
it "should pass the already-discovered resources to recurse_remote" do
|
487
486
|
file[:source] = File.expand_path(__FILE__)
|
488
|
-
|
489
|
-
|
487
|
+
file.stubs(:recurse_local).returns(:foo => "bar")
|
488
|
+
file.expects(:recurse_remote).with(:foo => "bar").returns []
|
490
489
|
file.recurse
|
491
490
|
end
|
492
491
|
end
|
@@ -494,28 +493,28 @@ describe Puppet::Type.type(:file) do
|
|
494
493
|
describe "and a target is set" do
|
495
494
|
it "should use recurse_link" do
|
496
495
|
file[:target] = File.expand_path(__FILE__)
|
497
|
-
|
498
|
-
|
496
|
+
file.stubs(:recurse_local).returns(:foo => "bar")
|
497
|
+
file.expects(:recurse_link).with(:foo => "bar").returns []
|
499
498
|
file.recurse
|
500
499
|
end
|
501
500
|
end
|
502
501
|
|
503
502
|
it "should use recurse_local if recurse is not remote" do
|
504
|
-
|
503
|
+
file.expects(:recurse_local).returns({})
|
505
504
|
file.recurse
|
506
505
|
end
|
507
506
|
|
508
507
|
it "should not use recurse_local if recurse is remote" do
|
509
508
|
file[:recurse] = :remote
|
510
|
-
|
509
|
+
file.expects(:recurse_local).never
|
511
510
|
file.recurse
|
512
511
|
end
|
513
512
|
|
514
513
|
it "should return the generated resources as an array sorted by file path" do
|
515
|
-
one =
|
516
|
-
two =
|
517
|
-
three =
|
518
|
-
|
514
|
+
one = stub 'one', :[] => "/one"
|
515
|
+
two = stub 'two', :[] => "/one/two"
|
516
|
+
three = stub 'three', :[] => "/three"
|
517
|
+
file.expects(:recurse_local).returns(:one => one, :two => two, :three => three)
|
519
518
|
expect(file.recurse).to eq([one, two, three])
|
520
519
|
end
|
521
520
|
|
@@ -526,20 +525,19 @@ describe Puppet::Type.type(:file) do
|
|
526
525
|
|
527
526
|
it "should mark each file for removal" do
|
528
527
|
local = described_class.new(:path => path, :ensure => :present)
|
529
|
-
|
528
|
+
file.expects(:recurse_local).returns("local" => local)
|
530
529
|
|
531
530
|
file.recurse
|
532
531
|
expect(local[:ensure]).to eq(:absent)
|
533
532
|
end
|
534
533
|
|
535
534
|
it "should not remove files that exist in the remote repository" do
|
536
|
-
pending("FIXME: This test has been broken since it was introduced in c189b46e3f1 because of = vs ==")
|
537
535
|
file[:source] = File.expand_path(__FILE__)
|
538
|
-
|
536
|
+
file.expects(:recurse_local).returns({})
|
539
537
|
|
540
538
|
remote = described_class.new(:path => path, :source => File.expand_path(__FILE__), :ensure => :present)
|
541
539
|
|
542
|
-
|
540
|
+
file.expects(:recurse_remote).with { |hash| hash["remote"] = remote }
|
543
541
|
|
544
542
|
file.recurse
|
545
543
|
|
@@ -582,42 +580,42 @@ describe Puppet::Type.type(:file) do
|
|
582
580
|
|
583
581
|
describe "#recurse_link" do
|
584
582
|
before do
|
585
|
-
@first =
|
586
|
-
@second =
|
583
|
+
@first = stub 'first', :relative_path => "first", :full_path => "/my/first", :ftype => "directory"
|
584
|
+
@second = stub 'second', :relative_path => "second", :full_path => "/my/second", :ftype => "file"
|
587
585
|
|
588
|
-
@resource =
|
586
|
+
@resource = stub 'file', :[]= => nil
|
589
587
|
end
|
590
588
|
|
591
589
|
it "should pass its target to the :perform_recursion method" do
|
592
590
|
file[:target] = "mylinks"
|
593
|
-
|
594
|
-
|
591
|
+
file.expects(:perform_recursion).with("mylinks").returns [@first]
|
592
|
+
file.stubs(:newchild).returns @resource
|
595
593
|
file.recurse_link({})
|
596
594
|
end
|
597
595
|
|
598
596
|
it "should ignore the recursively-found '.' file and configure the top-level file to create a directory" do
|
599
|
-
|
597
|
+
@first.stubs(:relative_path).returns "."
|
600
598
|
file[:target] = "mylinks"
|
601
|
-
|
602
|
-
|
603
|
-
|
599
|
+
file.expects(:perform_recursion).with("mylinks").returns [@first]
|
600
|
+
file.stubs(:newchild).never
|
601
|
+
file.expects(:[]=).with(:ensure, :directory)
|
604
602
|
file.recurse_link({})
|
605
603
|
end
|
606
604
|
|
607
605
|
it "should create a new child resource for each generated metadata instance's relative path that doesn't already exist in the children hash" do
|
608
|
-
|
609
|
-
|
606
|
+
file.expects(:perform_recursion).returns [@first, @second]
|
607
|
+
file.expects(:newchild).with(@first.relative_path).returns @resource
|
610
608
|
file.recurse_link("second" => @resource)
|
611
609
|
end
|
612
610
|
|
613
611
|
it "should not create a new child resource for paths that already exist in the children hash" do
|
614
|
-
|
615
|
-
|
612
|
+
file.expects(:perform_recursion).returns [@first]
|
613
|
+
file.expects(:newchild).never
|
616
614
|
file.recurse_link("first" => @resource)
|
617
615
|
end
|
618
616
|
|
619
617
|
it "should set the target to the full path of discovered file and set :ensure to :link if the file is not a directory", :if => described_class.defaultprovider.feature?(:manages_symlinks) do
|
620
|
-
|
618
|
+
file.stubs(:perform_recursion).returns [@first, @second]
|
621
619
|
file.recurse_link("first" => @resource, "second" => file)
|
622
620
|
|
623
621
|
expect(file[:ensure]).to eq(:link)
|
@@ -625,59 +623,59 @@ describe Puppet::Type.type(:file) do
|
|
625
623
|
end
|
626
624
|
|
627
625
|
it "should :ensure to :directory if the file is a directory" do
|
628
|
-
|
626
|
+
file.stubs(:perform_recursion).returns [@first, @second]
|
629
627
|
file.recurse_link("first" => file, "second" => @resource)
|
630
628
|
|
631
629
|
expect(file[:ensure]).to eq(:directory)
|
632
630
|
end
|
633
631
|
|
634
632
|
it "should return a hash with both created and existing resources with the relative paths as the hash keys" do
|
635
|
-
|
636
|
-
|
633
|
+
file.expects(:perform_recursion).returns [@first, @second]
|
634
|
+
file.stubs(:newchild).returns file
|
637
635
|
expect(file.recurse_link("second" => @resource)).to eq({"second" => @resource, "first" => file})
|
638
636
|
end
|
639
637
|
end
|
640
638
|
|
641
639
|
describe "#recurse_local" do
|
642
640
|
before do
|
643
|
-
@metadata =
|
641
|
+
@metadata = stub 'metadata', :relative_path => "my/file"
|
644
642
|
end
|
645
643
|
|
646
644
|
it "should pass its path to the :perform_recursion method" do
|
647
|
-
|
648
|
-
|
645
|
+
file.expects(:perform_recursion).with(file[:path]).returns [@metadata]
|
646
|
+
file.stubs(:newchild)
|
649
647
|
file.recurse_local
|
650
648
|
end
|
651
649
|
|
652
650
|
it "should return an empty hash if the recursion returns nothing" do
|
653
|
-
|
651
|
+
file.expects(:perform_recursion).returns nil
|
654
652
|
expect(file.recurse_local).to eq({})
|
655
653
|
end
|
656
654
|
|
657
655
|
it "should create a new child resource with each generated metadata instance's relative path" do
|
658
|
-
|
659
|
-
|
656
|
+
file.expects(:perform_recursion).returns [@metadata]
|
657
|
+
file.expects(:newchild).with(@metadata.relative_path).returns "fiebar"
|
660
658
|
file.recurse_local
|
661
659
|
end
|
662
660
|
|
663
661
|
it "should not create a new child resource for the '.' directory" do
|
664
|
-
|
662
|
+
@metadata.stubs(:relative_path).returns "."
|
665
663
|
|
666
|
-
|
667
|
-
|
664
|
+
file.expects(:perform_recursion).returns [@metadata]
|
665
|
+
file.expects(:newchild).never
|
668
666
|
file.recurse_local
|
669
667
|
end
|
670
668
|
|
671
669
|
it "should return a hash of the created resources with the relative paths as the hash keys" do
|
672
|
-
|
673
|
-
|
670
|
+
file.expects(:perform_recursion).returns [@metadata]
|
671
|
+
file.expects(:newchild).with("my/file").returns "fiebar"
|
674
672
|
expect(file.recurse_local).to eq({"my/file" => "fiebar"})
|
675
673
|
end
|
676
674
|
|
677
675
|
it "should set checksum_type to none if this file checksum is none" do
|
678
676
|
file[:checksum] = :none
|
679
|
-
|
680
|
-
|
677
|
+
Puppet::FileServing::Metadata.indirection.expects(:search).with { |path,params| params[:checksum_type] == :none }.returns [@metadata]
|
678
|
+
file.expects(:newchild).with("my/file").returns "fiebar"
|
681
679
|
file.recurse_local
|
682
680
|
end
|
683
681
|
end
|
@@ -690,94 +688,94 @@ describe Puppet::Type.type(:file) do
|
|
690
688
|
|
691
689
|
@first = Puppet::FileServing::Metadata.new(my, :relative_path => "first")
|
692
690
|
@second = Puppet::FileServing::Metadata.new(my, :relative_path => "second")
|
693
|
-
|
694
|
-
|
691
|
+
@first.stubs(:ftype).returns "directory"
|
692
|
+
@second.stubs(:ftype).returns "directory"
|
695
693
|
|
696
|
-
@parameter =
|
697
|
-
@resource =
|
694
|
+
@parameter = stub 'property', :metadata= => nil
|
695
|
+
@resource = stub 'file', :[]= => nil, :parameter => @parameter
|
698
696
|
end
|
699
697
|
|
700
698
|
it "should pass its source to the :perform_recursion method" do
|
701
699
|
data = Puppet::FileServing::Metadata.new(File.expand_path("/whatever"), :relative_path => "foobar")
|
702
|
-
|
703
|
-
|
700
|
+
file.expects(:perform_recursion).with("puppet://foo/bar").returns [data]
|
701
|
+
file.stubs(:newchild).returns @resource
|
704
702
|
file.recurse_remote({})
|
705
703
|
end
|
706
704
|
|
707
705
|
it "should not recurse when the remote file is not a directory" do
|
708
706
|
data = Puppet::FileServing::Metadata.new(File.expand_path("/whatever"), :relative_path => ".")
|
709
|
-
|
710
|
-
|
711
|
-
|
707
|
+
data.stubs(:ftype).returns "file"
|
708
|
+
file.expects(:perform_recursion).with("puppet://foo/bar").returns [data]
|
709
|
+
file.expects(:newchild).never
|
712
710
|
file.recurse_remote({})
|
713
711
|
end
|
714
712
|
|
715
713
|
it "should set the source of each returned file to the searched-for URI plus the found relative path" do
|
716
|
-
|
717
|
-
|
718
|
-
|
714
|
+
@first.expects(:source=).with File.join("puppet://foo/bar", @first.relative_path)
|
715
|
+
file.expects(:perform_recursion).returns [@first]
|
716
|
+
file.stubs(:newchild).returns @resource
|
719
717
|
file.recurse_remote({})
|
720
718
|
end
|
721
719
|
|
722
720
|
it "should create a new resource for any relative file paths that do not already have a resource" do
|
723
|
-
|
724
|
-
|
721
|
+
file.stubs(:perform_recursion).returns [@first]
|
722
|
+
file.expects(:newchild).with("first").returns @resource
|
725
723
|
expect(file.recurse_remote({})).to eq({"first" => @resource})
|
726
724
|
end
|
727
725
|
|
728
726
|
it "should not create a new resource for any relative file paths that do already have a resource" do
|
729
|
-
|
730
|
-
|
727
|
+
file.stubs(:perform_recursion).returns [@first]
|
728
|
+
file.expects(:newchild).never
|
731
729
|
file.recurse_remote("first" => @resource)
|
732
730
|
end
|
733
731
|
|
734
732
|
it "should set the source of each resource to the source of the metadata" do
|
735
|
-
|
736
|
-
|
737
|
-
|
733
|
+
file.stubs(:perform_recursion).returns [@first]
|
734
|
+
@resource.stubs(:[]=)
|
735
|
+
@resource.expects(:[]=).with(:source, File.join("puppet://foo/bar", @first.relative_path))
|
738
736
|
file.recurse_remote("first" => @resource)
|
739
737
|
end
|
740
738
|
|
741
739
|
it "should set the checksum parameter based on the metadata" do
|
742
|
-
|
743
|
-
|
744
|
-
|
740
|
+
file.stubs(:perform_recursion).returns [@first]
|
741
|
+
@resource.stubs(:[]=)
|
742
|
+
@resource.expects(:[]=).with(:checksum, "md5")
|
745
743
|
file.recurse_remote("first" => @resource)
|
746
744
|
end
|
747
745
|
|
748
746
|
it "should store the metadata in the source property for each resource so the source does not have to requery the metadata" do
|
749
|
-
|
750
|
-
|
747
|
+
file.stubs(:perform_recursion).returns [@first]
|
748
|
+
@resource.expects(:parameter).with(:source).returns @parameter
|
751
749
|
|
752
|
-
|
750
|
+
@parameter.expects(:metadata=).with(@first)
|
753
751
|
|
754
752
|
file.recurse_remote("first" => @resource)
|
755
753
|
end
|
756
754
|
|
757
755
|
it "should not create a new resource for the '.' file" do
|
758
|
-
|
759
|
-
|
756
|
+
@first.stubs(:relative_path).returns "."
|
757
|
+
file.stubs(:perform_recursion).returns [@first]
|
760
758
|
|
761
|
-
|
759
|
+
file.expects(:newchild).never
|
762
760
|
|
763
761
|
file.recurse_remote({})
|
764
762
|
end
|
765
763
|
|
766
764
|
it "should store the metadata in the main file's source property if the relative path is '.'" do
|
767
|
-
|
768
|
-
|
765
|
+
@first.stubs(:relative_path).returns "."
|
766
|
+
file.stubs(:perform_recursion).returns [@first]
|
769
767
|
|
770
|
-
|
768
|
+
file.parameter(:source).expects(:metadata=).with @first
|
771
769
|
|
772
770
|
file.recurse_remote("first" => @resource)
|
773
771
|
end
|
774
772
|
|
775
773
|
it "should update the main file's checksum parameter if the relative path is '.'" do
|
776
|
-
|
777
|
-
|
774
|
+
@first.stubs(:relative_path).returns "."
|
775
|
+
file.stubs(:perform_recursion).returns [@first]
|
778
776
|
|
779
|
-
|
780
|
-
|
777
|
+
file.stubs(:[]=)
|
778
|
+
file.expects(:[]=).with(:checksum, "md5")
|
781
779
|
|
782
780
|
file.recurse_remote("first" => @resource)
|
783
781
|
end
|
@@ -795,11 +793,11 @@ describe Puppet::Type.type(:file) do
|
|
795
793
|
it "should create file instances for the results for the first source to return any values" do
|
796
794
|
data = Puppet::FileServing::Metadata.new(File.expand_path("/whatever"), :relative_path => "foobar")
|
797
795
|
file[:source] = sources.keys.sort.map { |key| File.expand_path(key) }
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
796
|
+
file.expects(:perform_recursion).with(sources['/a']).returns nil
|
797
|
+
file.expects(:perform_recursion).with(sources['/b']).returns []
|
798
|
+
file.expects(:perform_recursion).with(sources['/c']).returns [data]
|
799
|
+
file.expects(:perform_recursion).with(sources['/d']).never
|
800
|
+
file.expects(:newchild).with("foobar").returns @resource
|
803
801
|
file.recurse_remote({})
|
804
802
|
end
|
805
803
|
end
|
@@ -813,20 +811,21 @@ describe Puppet::Type.type(:file) do
|
|
813
811
|
klass = Puppet::FileServing::Metadata
|
814
812
|
|
815
813
|
file[:source] = abs_path = %w{/a /b /c /d}.map {|f| File.expand_path(f) }
|
816
|
-
|
814
|
+
file.stubs(:newchild).returns @resource
|
817
815
|
|
818
816
|
one = [klass.new(abs_path[0], :relative_path => "a")]
|
819
|
-
|
820
|
-
|
817
|
+
file.expects(:perform_recursion).with(sources['/a']).returns one
|
818
|
+
file.expects(:newchild).with("a").returns @resource
|
821
819
|
|
822
820
|
two = [klass.new(abs_path[1], :relative_path => "a"), klass.new(abs_path[1], :relative_path => "b")]
|
823
|
-
|
824
|
-
|
821
|
+
file.expects(:perform_recursion).with(sources['/b']).returns two
|
822
|
+
file.expects(:newchild).with("b").returns @resource
|
825
823
|
|
826
824
|
three = [klass.new(abs_path[2], :relative_path => "a"), klass.new(abs_path[2], :relative_path => "c")]
|
827
|
-
|
828
|
-
|
829
|
-
|
825
|
+
file.expects(:perform_recursion).with(sources['/c']).returns three
|
826
|
+
file.expects(:newchild).with("c").returns @resource
|
827
|
+
|
828
|
+
file.expects(:perform_recursion).with(sources['/d']).returns []
|
830
829
|
|
831
830
|
file.recurse_remote({})
|
832
831
|
end
|
@@ -836,54 +835,54 @@ describe Puppet::Type.type(:file) do
|
|
836
835
|
|
837
836
|
describe "#perform_recursion", :uses_checksums => true do
|
838
837
|
it "should use Metadata to do its recursion" do
|
839
|
-
|
838
|
+
Puppet::FileServing::Metadata.indirection.expects(:search)
|
840
839
|
file.perform_recursion(file[:path])
|
841
840
|
end
|
842
841
|
|
843
842
|
it "should use the provided path as the key to the search" do
|
844
|
-
|
843
|
+
Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| key == "/foo" }
|
845
844
|
file.perform_recursion("/foo")
|
846
845
|
end
|
847
846
|
|
848
847
|
it "should return the results of the metadata search" do
|
849
|
-
|
848
|
+
Puppet::FileServing::Metadata.indirection.expects(:search).returns "foobar"
|
850
849
|
expect(file.perform_recursion(file[:path])).to eq("foobar")
|
851
850
|
end
|
852
851
|
|
853
852
|
it "should pass its recursion value to the search" do
|
854
853
|
file[:recurse] = true
|
855
|
-
|
854
|
+
Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:recurse] == true }
|
856
855
|
file.perform_recursion(file[:path])
|
857
856
|
end
|
858
857
|
|
859
858
|
it "should pass true if recursion is remote" do
|
860
859
|
file[:recurse] = :remote
|
861
|
-
|
860
|
+
Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:recurse] == true }
|
862
861
|
file.perform_recursion(file[:path])
|
863
862
|
end
|
864
863
|
|
865
864
|
it "should pass its recursion limit value to the search" do
|
866
865
|
file[:recurselimit] = 10
|
867
|
-
|
866
|
+
Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:recurselimit] == 10 }
|
868
867
|
file.perform_recursion(file[:path])
|
869
868
|
end
|
870
869
|
|
871
870
|
it "should configure the search to ignore or manage links" do
|
872
871
|
file[:links] = :manage
|
873
|
-
|
872
|
+
Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:links] == :manage }
|
874
873
|
file.perform_recursion(file[:path])
|
875
874
|
end
|
876
875
|
|
877
876
|
it "should pass its 'ignore' setting to the search if it has one" do
|
878
877
|
file[:ignore] = %w{.svn CVS}
|
879
|
-
|
878
|
+
Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:ignore] == %w{.svn CVS} }
|
880
879
|
file.perform_recursion(file[:path])
|
881
880
|
end
|
882
881
|
|
883
882
|
with_digest_algorithms do
|
884
883
|
it "it should pass its 'checksum' setting #{metadata[:digest_algorithm]} to the search" do
|
885
884
|
file[:source] = File.expand_path('/foo')
|
886
|
-
|
885
|
+
Puppet::FileServing::Metadata.indirection.expects(:search).with { |key, options| options[:checksum_type] == digest_algorithm.intern }
|
887
886
|
file.perform_recursion(file[:path])
|
888
887
|
end
|
889
888
|
end
|
@@ -896,8 +895,8 @@ describe Puppet::Type.type(:file) do
|
|
896
895
|
|
897
896
|
it "should fail if it can't backup the file" do
|
898
897
|
# Default: file[:backup] = true
|
899
|
-
|
900
|
-
|
898
|
+
file.stubs(:stat).returns stub('stat', :ftype => 'file')
|
899
|
+
file.stubs(:perform_backup).returns false
|
901
900
|
|
902
901
|
expect { file.remove_existing(:file) }.to raise_error(Puppet::Error, /Could not back up; will not remove/)
|
903
902
|
end
|
@@ -906,27 +905,27 @@ describe Puppet::Type.type(:file) do
|
|
906
905
|
it "should not backup directories if backup is true and force is false" do
|
907
906
|
# Default: file[:backup] = true
|
908
907
|
file[:force] = false
|
909
|
-
|
908
|
+
file.stubs(:stat).returns stub('stat', :ftype => 'directory')
|
910
909
|
|
911
|
-
|
912
|
-
|
910
|
+
file.expects(:perform_backup).never
|
911
|
+
file.expects(:warning).with("Could not back up file of type directory")
|
913
912
|
expect(file.remove_existing(:file)).to eq(false)
|
914
913
|
end
|
915
914
|
|
916
915
|
it "should backup directories if backup is true and force is true" do
|
917
916
|
# Default: file[:backup] = true
|
918
917
|
file[:force] = true
|
919
|
-
|
918
|
+
file.stubs(:stat).returns stub('stat', :ftype => 'directory')
|
920
919
|
|
921
|
-
|
922
|
-
|
920
|
+
FileUtils.expects(:rmtree).with(file[:path])
|
921
|
+
file.expects(:perform_backup).returns(true)
|
923
922
|
|
924
923
|
expect(file.remove_existing(:file)).to eq(true)
|
925
924
|
end
|
926
925
|
end
|
927
926
|
|
928
927
|
it "should not do anything if the file is already the right type and not a link" do
|
929
|
-
|
928
|
+
file.stubs(:stat).returns stub('stat', :ftype => 'file')
|
930
929
|
|
931
930
|
expect(file.remove_existing(:file)).to eq(false)
|
932
931
|
end
|
@@ -935,7 +934,7 @@ describe Puppet::Type.type(:file) do
|
|
935
934
|
file[:force] = false
|
936
935
|
# Actually call stat to set @needs_stat to nil
|
937
936
|
file.stat
|
938
|
-
|
937
|
+
file.stubs(:stat).returns stub('stat', :ftype => 'directory')
|
939
938
|
|
940
939
|
expect(file.instance_variable_get(:@stat)).to eq(nil)
|
941
940
|
end
|
@@ -943,15 +942,15 @@ describe Puppet::Type.type(:file) do
|
|
943
942
|
it "should remove a directory if backup is true and force is true" do
|
944
943
|
# Default: file[:backup] = true
|
945
944
|
file[:force] = true
|
946
|
-
|
945
|
+
file.stubs(:stat).returns stub('stat', :ftype => 'directory')
|
947
946
|
|
948
|
-
|
947
|
+
FileUtils.expects(:rmtree).with(file[:path])
|
949
948
|
|
950
949
|
expect(file.remove_existing(:file)).to eq(true)
|
951
950
|
end
|
952
951
|
|
953
952
|
it "should remove an existing file" do
|
954
|
-
|
953
|
+
file.stubs(:perform_backup).returns true
|
955
954
|
FileUtils.touch(path)
|
956
955
|
|
957
956
|
expect(file.remove_existing(:directory)).to eq(true)
|
@@ -960,7 +959,7 @@ describe Puppet::Type.type(:file) do
|
|
960
959
|
end
|
961
960
|
|
962
961
|
it "should remove an existing link", :if => described_class.defaultprovider.feature?(:manages_symlinks) do
|
963
|
-
|
962
|
+
file.stubs(:perform_backup).returns true
|
964
963
|
|
965
964
|
target = tmpfile('link_target')
|
966
965
|
FileUtils.touch(target)
|
@@ -973,18 +972,18 @@ describe Puppet::Type.type(:file) do
|
|
973
972
|
end
|
974
973
|
|
975
974
|
it "should fail if the file is not a directory, link, file, fifo, socket, or is unknown" do
|
976
|
-
|
975
|
+
file.stubs(:stat).returns stub('stat', :ftype => 'blockSpecial')
|
977
976
|
|
978
|
-
|
977
|
+
file.expects(:warning).with("Could not back up file of type blockSpecial")
|
979
978
|
expect { file.remove_existing(:file) }.to raise_error(Puppet::Error, /Could not remove files of type blockSpecial/)
|
980
979
|
end
|
981
980
|
|
982
981
|
it "should invalidate the existing stat of the file" do
|
983
982
|
# Actually call stat to set @needs_stat to nil
|
984
983
|
file.stat
|
985
|
-
|
984
|
+
file.stubs(:stat).returns stub('stat', :ftype => 'file')
|
986
985
|
|
987
|
-
|
986
|
+
Puppet::FileSystem.stubs(:unlink)
|
988
987
|
|
989
988
|
expect(file.remove_existing(:directory)).to eq(true)
|
990
989
|
expect(file.instance_variable_get(:@stat)).to eq(:needs_stat)
|
@@ -994,7 +993,7 @@ describe Puppet::Type.type(:file) do
|
|
994
993
|
describe "#retrieve" do
|
995
994
|
it "should copy the source values if the 'source' parameter is set" do
|
996
995
|
file[:source] = File.expand_path('/foo/bar')
|
997
|
-
|
996
|
+
file.parameter(:source).expects(:copy_source_values)
|
998
997
|
file.retrieve
|
999
998
|
end
|
1000
999
|
end
|
@@ -1010,7 +1009,7 @@ describe Puppet::Type.type(:file) do
|
|
1010
1009
|
end
|
1011
1010
|
|
1012
1011
|
it "should be a file if :ensure is set to :present and the file exists as a normal file" do
|
1013
|
-
|
1012
|
+
file.stubs(:stat).returns(mock('stat', :ftype => "file"))
|
1014
1013
|
file[:ensure] = :present
|
1015
1014
|
expect(file).to be_should_be_file
|
1016
1015
|
end
|
@@ -1021,7 +1020,7 @@ describe Puppet::Type.type(:file) do
|
|
1021
1020
|
end
|
1022
1021
|
|
1023
1022
|
it "should not be a file if :ensure is set to :present and the file exists but is not a normal file" do
|
1024
|
-
|
1023
|
+
file.stubs(:stat).returns(mock('stat', :ftype => "directory"))
|
1025
1024
|
file[:ensure] = :present
|
1026
1025
|
expect(file).to_not be_should_be_file
|
1027
1026
|
end
|
@@ -1032,12 +1031,12 @@ describe Puppet::Type.type(:file) do
|
|
1032
1031
|
end
|
1033
1032
|
|
1034
1033
|
it "should be a file if neither :ensure nor :content is set but the file exists as a normal file" do
|
1035
|
-
|
1034
|
+
file.stubs(:stat).returns(mock("stat", :ftype => "file"))
|
1036
1035
|
expect(file).to be_should_be_file
|
1037
1036
|
end
|
1038
1037
|
|
1039
1038
|
it "should not be a file if neither :ensure nor :content is set but the file exists but not as a normal file" do
|
1040
|
-
|
1039
|
+
file.stubs(:stat).returns(mock("stat", :ftype => "directory"))
|
1041
1040
|
expect(file).to_not be_should_be_file
|
1042
1041
|
end
|
1043
1042
|
end
|
@@ -1104,80 +1103,73 @@ describe Puppet::Type.type(:file) do
|
|
1104
1103
|
|
1105
1104
|
describe "#write" do
|
1106
1105
|
describe "when validating the checksum" do
|
1107
|
-
before {
|
1106
|
+
before { file.stubs(:validate_checksum?).returns(true) }
|
1108
1107
|
|
1109
1108
|
it "should fail if the checksum parameter and content checksums do not match" do
|
1110
|
-
checksum =
|
1111
|
-
|
1112
|
-
|
1109
|
+
checksum = stub('checksum_parameter', :sum => 'checksum_b', :sum_file => 'checksum_b')
|
1110
|
+
file.stubs(:parameter).with(:checksum).returns(checksum)
|
1111
|
+
file.stubs(:parameter).with(:source).returns(nil)
|
1113
1112
|
|
1114
1113
|
|
1115
|
-
property =
|
1116
|
-
|
1114
|
+
property = stub('content_property', :actual_content => "something", :length => "something".length, :write => 'checksum_a')
|
1115
|
+
file.stubs(:property).with(:content).returns(property)
|
1117
1116
|
|
1118
|
-
expect { file.write property }.to raise_error(Puppet::Error)
|
1117
|
+
expect { file.write property }.to raise_error(Puppet::Error)
|
1118
|
+
end
|
1119
1119
|
end
|
1120
1120
|
|
1121
1121
|
describe "when not validating the checksum" do
|
1122
|
-
before
|
1123
|
-
allow(file).to receive(:validate_checksum?).and_return(false)
|
1124
|
-
end
|
1122
|
+
before { file.stubs(:validate_checksum?).returns(false) }
|
1125
1123
|
|
1126
1124
|
it "should not fail if the checksum property and content checksums do not match" do
|
1127
|
-
checksum =
|
1128
|
-
|
1129
|
-
|
1125
|
+
checksum = stub('checksum_parameter', :sum => 'checksum_b')
|
1126
|
+
file.stubs(:parameter).with(:checksum).returns(checksum)
|
1127
|
+
file.stubs(:parameter).with(:source).returns(nil)
|
1130
1128
|
|
1131
|
-
property =
|
1132
|
-
|
1129
|
+
property = stub('content_property', :actual_content => "something", :length => "something".length, :write => 'checksum_a')
|
1130
|
+
file.stubs(:property).with(:content).returns(property)
|
1133
1131
|
|
1134
1132
|
expect { file.write property }.to_not raise_error
|
1135
1133
|
end
|
1136
1134
|
end
|
1137
1135
|
|
1138
1136
|
describe "when resource mode is supplied" do
|
1139
|
-
before
|
1140
|
-
allow(file).to receive(:property_fix)
|
1141
|
-
end
|
1137
|
+
before { file.stubs(:property_fix) }
|
1142
1138
|
|
1143
1139
|
context "and writing temporary files" do
|
1144
|
-
before
|
1145
|
-
allow(file).to receive(:write_temporary_file?).and_return(true)
|
1146
|
-
end
|
1140
|
+
before { file.stubs(:write_temporary_file?).returns(true) }
|
1147
1141
|
|
1148
1142
|
it "should convert symbolic mode to int" do
|
1149
1143
|
file[:mode] = 'oga=r'
|
1150
|
-
|
1144
|
+
Puppet::Util.expects(:replace_file).with(file[:path], 0444)
|
1151
1145
|
file.write
|
1152
1146
|
end
|
1153
1147
|
|
1154
1148
|
it "should support int modes" do
|
1155
1149
|
file[:mode] = '0444'
|
1156
|
-
|
1150
|
+
Puppet::Util.expects(:replace_file).with(file[:path], 0444)
|
1157
1151
|
file.write
|
1158
1152
|
end
|
1159
1153
|
end
|
1160
1154
|
|
1161
1155
|
context "and not writing temporary files" do
|
1162
|
-
before
|
1163
|
-
allow(file).to receive(:write_temporary_file?).and_return(false)
|
1164
|
-
end
|
1156
|
+
before { file.stubs(:write_temporary_file?).returns(false) }
|
1165
1157
|
|
1166
1158
|
it "should set a umask of 0" do
|
1167
1159
|
file[:mode] = 'oga=r'
|
1168
|
-
|
1160
|
+
Puppet::Util.expects(:withumask).with(0)
|
1169
1161
|
file.write
|
1170
1162
|
end
|
1171
1163
|
|
1172
1164
|
it "should convert symbolic mode to int" do
|
1173
1165
|
file[:mode] = 'oga=r'
|
1174
|
-
|
1166
|
+
File.expects(:open).with(file[:path], anything, 0444)
|
1175
1167
|
file.write
|
1176
1168
|
end
|
1177
1169
|
|
1178
1170
|
it "should support int modes" do
|
1179
1171
|
file[:mode] = '0444'
|
1180
|
-
|
1172
|
+
File.expects(:open).with(file[:path], anything, 0444)
|
1181
1173
|
file.write
|
1182
1174
|
end
|
1183
1175
|
end
|
@@ -1212,8 +1204,8 @@ describe Puppet::Type.type(:file) do
|
|
1212
1204
|
describe "#fail_if_checksum_is_wrong" do
|
1213
1205
|
it "should fail if the checksum of the file doesn't match the expected one" do
|
1214
1206
|
expect do
|
1215
|
-
allow(file.parameter(:checksum)).to receive(:sum_file).and_return('wrong!!')
|
1216
1207
|
file.instance_eval do
|
1208
|
+
parameter(:checksum).stubs(:sum_file).returns('wrong!!')
|
1217
1209
|
fail_if_checksum_is_wrong(self[:path], 'anything!')
|
1218
1210
|
end
|
1219
1211
|
end.to raise_error(Puppet::Error, /File written to disk did not match checksum/)
|
@@ -1221,8 +1213,8 @@ describe Puppet::Type.type(:file) do
|
|
1221
1213
|
|
1222
1214
|
it "should not fail if the checksum is correct" do
|
1223
1215
|
expect do
|
1224
|
-
allow(file.parameter(:checksum)).to receive(:sum_file).and_return('anything!')
|
1225
1216
|
file.instance_eval do
|
1217
|
+
parameter(:checksum).stubs(:sum_file).returns('anything!')
|
1226
1218
|
fail_if_checksum_is_wrong(self[:path], 'anything!')
|
1227
1219
|
end
|
1228
1220
|
end.not_to raise_error
|
@@ -1230,8 +1222,8 @@ describe Puppet::Type.type(:file) do
|
|
1230
1222
|
|
1231
1223
|
it "should not fail if the checksum is absent" do
|
1232
1224
|
expect do
|
1233
|
-
allow(file.parameter(:checksum)).to receive(:sum_file).and_return(nil)
|
1234
1225
|
file.instance_eval do
|
1226
|
+
parameter(:checksum).stubs(:sum_file).returns(nil)
|
1235
1227
|
fail_if_checksum_is_wrong(self[:path], 'anything!')
|
1236
1228
|
end
|
1237
1229
|
end.not_to raise_error
|
@@ -1270,9 +1262,9 @@ describe Puppet::Type.type(:file) do
|
|
1270
1262
|
file[name] = value
|
1271
1263
|
|
1272
1264
|
prop = file.property(name)
|
1273
|
-
|
1274
|
-
|
1275
|
-
|
1265
|
+
prop.expects(:retrieve)
|
1266
|
+
prop.expects(:safe_insync?).returns false
|
1267
|
+
prop.expects(:sync)
|
1276
1268
|
|
1277
1269
|
file.send(:property_fix)
|
1278
1270
|
end
|
@@ -1406,7 +1398,7 @@ describe Puppet::Type.type(:file) do
|
|
1406
1398
|
catalog.add_resource @link_resource
|
1407
1399
|
|
1408
1400
|
# to prevent the catalog from trying to write state.yaml
|
1409
|
-
|
1401
|
+
Puppet::Util::Storage.stubs(:store)
|
1410
1402
|
end
|
1411
1403
|
|
1412
1404
|
it "should preserve the original file mode and ignore the one set by the link" do
|
@@ -1443,21 +1435,17 @@ describe Puppet::Type.type(:file) do
|
|
1443
1435
|
file[:source] = source
|
1444
1436
|
|
1445
1437
|
# intercept the indirector call to provide back mocked metadata for the given URI
|
1446
|
-
metadata =
|
1447
|
-
|
1448
|
-
|
1438
|
+
metadata = stub 'metadata', :source => source
|
1439
|
+
metadata.expects(:source=)
|
1440
|
+
Puppet::FileServing::Metadata.indirection.expects(:find).with do |path, opts|
|
1441
|
+
path == source
|
1442
|
+
end.returns metadata
|
1449
1443
|
|
1450
1444
|
uri = file.parameters[:source].uri
|
1451
1445
|
expect(URI.unescape(uri.path)).to eq(filename)
|
1452
1446
|
expect(uri.path.encoding).to eq(Encoding::UTF_8)
|
1453
1447
|
end
|
1454
1448
|
|
1455
|
-
matcher :request_key do |expected|
|
1456
|
-
match do |actual|
|
1457
|
-
values_match? expected, actual.key
|
1458
|
-
end
|
1459
|
-
end
|
1460
|
-
|
1461
1449
|
it 'should allow UTF-8 characters inside the indirector / terminus code' do
|
1462
1450
|
filename = "/bar #{mixed_utf8}"
|
1463
1451
|
source = "puppet://foo#{filename}"
|
@@ -1466,10 +1454,12 @@ describe Puppet::Type.type(:file) do
|
|
1466
1454
|
# for this test to properly trigger previously errant behavior, the code for
|
1467
1455
|
# Puppet::FileServing::Metadata.indirection.find must run and produce an
|
1468
1456
|
# instance of Puppet::Indirector::FileMetadata::Rest that can be amended
|
1469
|
-
metadata =
|
1470
|
-
|
1457
|
+
metadata = stub 'metadata', :source => source
|
1458
|
+
metadata.expects(:source=)
|
1471
1459
|
require 'puppet/indirector/file_metadata/rest'
|
1472
|
-
|
1460
|
+
Puppet::Indirector::FileMetadata::Rest.any_instance.expects(:find).with do |req|
|
1461
|
+
req.key == filename[1..-1]
|
1462
|
+
end.returns(metadata)
|
1473
1463
|
|
1474
1464
|
uri = file.parameters[:source].uri
|
1475
1465
|
expect(URI.unescape(uri.path)).to eq(filename)
|
@@ -1521,7 +1511,7 @@ describe Puppet::Type.type(:file) do
|
|
1521
1511
|
|
1522
1512
|
describe "on Windows when source_permissions is `use`" do
|
1523
1513
|
before :each do
|
1524
|
-
|
1514
|
+
Puppet::Util::Platform.stubs(:windows?).returns true
|
1525
1515
|
|
1526
1516
|
file[:source_permissions] = "use"
|
1527
1517
|
end
|
@@ -1559,8 +1549,8 @@ describe Puppet::Type.type(:file) do
|
|
1559
1549
|
file[:group] = 2
|
1560
1550
|
file[:mode] = "0003"
|
1561
1551
|
|
1562
|
-
|
1563
|
-
|
1552
|
+
file.parameter(:source).expects(:copy_source_values)
|
1553
|
+
file.expects(:warning).with(err_message)
|
1564
1554
|
expect { file.retrieve }.not_to raise_error
|
1565
1555
|
end
|
1566
1556
|
end
|
@@ -1648,7 +1638,7 @@ describe Puppet::Type.type(:file) do
|
|
1648
1638
|
describe "when auditing" do
|
1649
1639
|
before :each do
|
1650
1640
|
# to prevent the catalog from trying to write state.yaml
|
1651
|
-
|
1641
|
+
Puppet::Util::Storage.stubs(:store)
|
1652
1642
|
end
|
1653
1643
|
|
1654
1644
|
it "should not fail if creating a new file if group is not set" do
|