puppet 6.0.10-x64-mingw32 → 6.1.0-x64-mingw32
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
@@ -16,11 +16,11 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
16
16
|
|
17
17
|
describe '.pgrp_to_gid' do
|
18
18
|
it "finds the primary group's gid" do
|
19
|
-
|
19
|
+
provider.stubs(:ia_module_args).returns(['-R', 'module'])
|
20
20
|
|
21
|
-
|
21
|
+
group_provider_class.expects(:list_all)
|
22
22
|
.with(provider.ia_module_args)
|
23
|
-
.
|
23
|
+
.returns([{ :name => 'group', :id => 1}])
|
24
24
|
|
25
25
|
expect(provider_class.pgrp_to_gid(provider, 'group')).to eql(1)
|
26
26
|
end
|
@@ -28,11 +28,11 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
28
28
|
|
29
29
|
describe '.gid_to_pgrp' do
|
30
30
|
it "finds the gid's primary group" do
|
31
|
-
|
31
|
+
provider.stubs(:ia_module_args).returns(['-R', 'module'])
|
32
32
|
|
33
|
-
|
33
|
+
group_provider_class.expects(:list_all)
|
34
34
|
.with(provider.ia_module_args)
|
35
|
-
.
|
35
|
+
.returns([{ :name => 'group', :id => 1}])
|
36
36
|
|
37
37
|
expect(provider_class.gid_to_pgrp(provider, 1)).to eql('group')
|
38
38
|
end
|
@@ -73,7 +73,7 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
73
73
|
describe '.groups_attribute_to_property' do
|
74
74
|
it "reads the user's groups from the etc/groups file" do
|
75
75
|
groups = ['system', 'adm']
|
76
|
-
|
76
|
+
Puppet::Util::POSIX.stubs(:groups_of).with(resource[:name]).returns(groups)
|
77
77
|
|
78
78
|
actual_groups = provider_class.groups_attribute_to_property(provider, 'unused_value')
|
79
79
|
expected_groups = groups.join(',')
|
@@ -98,19 +98,19 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
98
98
|
|
99
99
|
describe '#gid=' do
|
100
100
|
let(:value) { 'new_pgrp' }
|
101
|
+
|
101
102
|
let(:old_pgrp) { 'old_pgrp' }
|
102
103
|
let(:cur_groups) { 'system,adm' }
|
103
|
-
|
104
104
|
before(:each) do
|
105
|
-
|
106
|
-
|
107
|
-
|
105
|
+
provider.stubs(:gid).returns(old_pgrp)
|
106
|
+
provider.stubs(:groups).returns(cur_groups)
|
107
|
+
provider.stubs(:set)
|
108
108
|
end
|
109
109
|
|
110
110
|
it 'raises a Puppet::Error if it fails to set the groups property' do
|
111
|
-
|
111
|
+
provider.stubs(:set)
|
112
112
|
.with(:groups, cur_groups)
|
113
|
-
.
|
113
|
+
.raises(Puppet::ExecutionFailure, 'failed to reset the groups!')
|
114
114
|
|
115
115
|
expect { provider.gid = value }.to raise_error do |error|
|
116
116
|
expect(error).to be_a(Puppet::Error)
|
@@ -153,15 +153,15 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
153
153
|
|
154
154
|
describe '#password=' do
|
155
155
|
let(:mock_tempfile) do
|
156
|
-
mock_tempfile_obj =
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
156
|
+
mock_tempfile_obj = mock()
|
157
|
+
mock_tempfile_obj.stubs(:<<)
|
158
|
+
mock_tempfile_obj.stubs(:close)
|
159
|
+
mock_tempfile_obj.stubs(:delete)
|
160
|
+
mock_tempfile_obj.stubs(:path).returns('tempfile_path')
|
161
161
|
|
162
|
-
|
162
|
+
Tempfile.stubs(:new)
|
163
163
|
.with("puppet_#{provider.name}_pw", :encoding => Encoding::ASCII)
|
164
|
-
.
|
164
|
+
.returns(mock_tempfile_obj)
|
165
165
|
|
166
166
|
mock_tempfile_obj
|
167
167
|
end
|
@@ -177,7 +177,7 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
177
177
|
end
|
178
178
|
|
179
179
|
it 'raises a Puppet::Error if chpasswd fails' do
|
180
|
-
|
180
|
+
provider.stubs(:execute).with(cmd, execute_options).returns("failed to change passwd!")
|
181
181
|
expect { provider.password = 'foo' }.to raise_error do |error|
|
182
182
|
expect(error).to be_a(Puppet::Error)
|
183
183
|
expect(error.message).to match("failed to change passwd!")
|
@@ -185,15 +185,15 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
185
185
|
end
|
186
186
|
|
187
187
|
it "changes the user's password" do
|
188
|
-
|
188
|
+
provider.expects(:execute).with(cmd, execute_options).returns("")
|
189
189
|
provider.password = 'foo'
|
190
190
|
end
|
191
191
|
|
192
192
|
it "closes and deletes the tempfile" do
|
193
|
-
|
193
|
+
provider.stubs(:execute).with(cmd, execute_options).returns("")
|
194
194
|
|
195
|
-
|
196
|
-
|
195
|
+
mock_tempfile.expects(:close).times(2)
|
196
|
+
mock_tempfile.expects(:delete)
|
197
197
|
|
198
198
|
provider.password = 'foo'
|
199
199
|
end
|
@@ -201,13 +201,13 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
201
201
|
|
202
202
|
describe '#create' do
|
203
203
|
it 'should create the user' do
|
204
|
-
|
205
|
-
|
206
|
-
|
204
|
+
provider.resource.stubs(:should).with(anything).returns(nil)
|
205
|
+
provider.resource.stubs(:should).with(:groups).returns('g1,g2')
|
206
|
+
provider.resource.stubs(:should).with(:password).returns('password')
|
207
207
|
|
208
|
-
|
209
|
-
|
210
|
-
|
208
|
+
provider.expects(:execute)
|
209
|
+
provider.expects(:groups=).with('g1,g2')
|
210
|
+
provider.expects(:password=).with('password')
|
211
211
|
|
212
212
|
provider.create
|
213
213
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
#! /usr/bin/env ruby -S rspec
|
1
2
|
# encoding: ASCII-8BIT
|
2
3
|
require 'spec_helper'
|
3
4
|
|
@@ -294,14 +295,14 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
294
295
|
before :each do
|
295
296
|
# Stub out all calls to dscl with default values from above
|
296
297
|
defaults.each do |key, val|
|
297
|
-
|
298
|
+
provider.stubs(:merge_attribute_with_dscl).with('Users', username, key, val)
|
298
299
|
end
|
299
300
|
|
300
301
|
# Mock the rest of the dscl calls. We can't assume that our Linux
|
301
302
|
# build system will have the dscl binary
|
302
|
-
|
303
|
-
|
304
|
-
|
303
|
+
provider.stubs(:create_new_user).with(username)
|
304
|
+
provider.class.stubs(:get_attribute_from_dscl).with('Users', username, 'GeneratedUID').returns({'dsAttrTypeStandard:GeneratedUID' => ['GUID']})
|
305
|
+
provider.stubs(:next_system_id).returns('1000')
|
305
306
|
end
|
306
307
|
|
307
308
|
it 'should not raise any errors when creating a user with default values' do
|
@@ -312,61 +313,31 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
312
313
|
it "should call ##{value}= if a #{value} attribute is specified" do
|
313
314
|
resource[value.intern] = 'somevalue'
|
314
315
|
setter = (value << '=').intern
|
315
|
-
|
316
|
+
provider.expects(setter).with('somevalue')
|
316
317
|
provider.create
|
317
318
|
end
|
318
319
|
end
|
319
320
|
|
320
321
|
it 'should merge the GroupMembership and GroupMembers dscl values if a groups attribute is specified' do
|
321
322
|
resource[:groups] = 'somegroup'
|
322
|
-
|
323
|
-
|
323
|
+
provider.expects(:merge_attribute_with_dscl).with('Groups', 'somegroup', 'GroupMembership', username)
|
324
|
+
provider.expects(:merge_attribute_with_dscl).with('Groups', 'somegroup', 'GroupMembers', 'GUID')
|
324
325
|
provider.create
|
325
326
|
end
|
326
327
|
|
327
328
|
it 'should convert group names into integers' do
|
328
329
|
resource[:gid] = 'somegroup'
|
329
|
-
|
330
|
-
|
330
|
+
Puppet::Util.expects(:gid).with('somegroup').returns(21)
|
331
|
+
provider.expects(:merge_attribute_with_dscl).with('Users', username, 'PrimaryGroupID', 21)
|
331
332
|
provider.create
|
332
333
|
end
|
333
334
|
end
|
334
335
|
|
335
|
-
describe 'Update existing user' do
|
336
|
-
describe 'home=' do
|
337
|
-
context 'on OS X 10.14' do
|
338
|
-
before do
|
339
|
-
provider.instance_variable_set(:@property_hash, { home: 'value' })
|
340
|
-
allow(provider.class).to receive(:get_os_version).and_return('10.14')
|
341
|
-
end
|
342
|
-
|
343
|
-
it 'raises error' do
|
344
|
-
expect { provider.home = 'new' }.to \
|
345
|
-
raise_error(Puppet::Error, "OS X version 10.14 does not allow changing home using puppet")
|
346
|
-
end
|
347
|
-
end
|
348
|
-
end
|
349
|
-
|
350
|
-
describe 'uid=' do
|
351
|
-
context 'on OS X 10.14' do
|
352
|
-
before do
|
353
|
-
provider.instance_variable_set(:@property_hash, { uid: 'value' })
|
354
|
-
allow(provider.class).to receive(:get_os_version).and_return('10.14')
|
355
|
-
end
|
356
|
-
|
357
|
-
it 'raises error' do
|
358
|
-
expect { provider.uid = 'new' }.to \
|
359
|
-
raise_error(Puppet::Error, "OS X version 10.14 does not allow changing uid using puppet")
|
360
|
-
end
|
361
|
-
end
|
362
|
-
end
|
363
|
-
end
|
364
|
-
|
365
336
|
describe 'self#instances' do
|
366
337
|
it 'should create an array of provider instances' do
|
367
|
-
|
338
|
+
provider.class.expects(:get_all_users).returns(['foo', 'bar'])
|
368
339
|
['foo', 'bar'].each do |user|
|
369
|
-
|
340
|
+
provider.class.expects(:generate_attribute_hash).with(user).returns({})
|
370
341
|
end
|
371
342
|
instances = provider.class.instances
|
372
343
|
|
@@ -388,12 +359,12 @@ end
|
|
388
359
|
end
|
389
360
|
|
390
361
|
it 'should return a hash of user attributes' do
|
391
|
-
|
362
|
+
provider.class.expects(:dscl).with('-plist', '.', 'readall', '/Users').returns(user_plist_xml)
|
392
363
|
expect(provider.class.get_all_users).to eq(user_plist_hash)
|
393
364
|
end
|
394
365
|
|
395
366
|
it 'should return a hash when passed an empty plist' do
|
396
|
-
|
367
|
+
provider.class.expects(:dscl).with('-plist', '.', 'readall', '/Users').returns(empty_plist)
|
397
368
|
expect(provider.class.get_all_users).to eq({})
|
398
369
|
end
|
399
370
|
end
|
@@ -415,11 +386,11 @@ end
|
|
415
386
|
end
|
416
387
|
|
417
388
|
before :each do
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
389
|
+
provider.class.stubs(:get_os_version).returns('10.7')
|
390
|
+
provider.class.stubs(:get_all_users).returns(testuser_hash)
|
391
|
+
provider.class.stubs(:get_list_of_groups).returns(group_plist_hash_guid)
|
392
|
+
provider.class.stubs(:convert_binary_to_hash).with(sha512_embedded_bplist).returns(sha512_embedded_bplist_hash)
|
393
|
+
provider.class.stubs(:convert_binary_to_hash).with(pbkdf2_embedded_plist).returns(pbkdf2_embedded_bplist_hash)
|
423
394
|
provider.class.prefetch({})
|
424
395
|
end
|
425
396
|
|
@@ -455,15 +426,16 @@ end
|
|
455
426
|
end
|
456
427
|
|
457
428
|
before :each do
|
458
|
-
|
459
|
-
|
460
|
-
|
429
|
+
provider.class.stubs(:get_os_version).returns('10.7')
|
430
|
+
provider.class.stubs(:get_all_users).returns(testuser_hash)
|
431
|
+
provider.class.stubs(:get_list_of_groups).returns(group_plist_hash_guid)
|
461
432
|
provider.class.prefetch({})
|
462
433
|
end
|
463
434
|
|
464
435
|
it 'should return a hash of resource attributes' do
|
465
436
|
expect(provider.class.generate_attribute_hash(user_plist_hash.merge(pbkdf2_and_ssha512_shadowhashdata_hash))).to eq(user_plist_resource)
|
466
437
|
end
|
438
|
+
|
467
439
|
end
|
468
440
|
|
469
441
|
describe 'self#generate_attribute_hash empty shadowhashdata' do
|
@@ -483,9 +455,9 @@ end
|
|
483
455
|
end
|
484
456
|
|
485
457
|
it 'should handle empty shadowhashdata' do
|
486
|
-
|
487
|
-
|
488
|
-
|
458
|
+
provider.class.stubs(:get_os_version).returns('10.7')
|
459
|
+
provider.class.stubs(:get_all_users).returns([testuser_base])
|
460
|
+
provider.class.stubs(:get_list_of_groups).returns(group_plist_hash_guid)
|
489
461
|
provider.class.prefetch({})
|
490
462
|
expect(provider.class.generate_attribute_hash(user_plist_hash)).to eq(user_plist_resource)
|
491
463
|
end
|
@@ -493,7 +465,7 @@ end
|
|
493
465
|
|
494
466
|
describe '#delete' do
|
495
467
|
it 'should call dscl when destroying/deleting a resource' do
|
496
|
-
|
468
|
+
provider.expects(:dscl).with('.', '-delete', user_path)
|
497
469
|
provider.delete
|
498
470
|
end
|
499
471
|
end
|
@@ -542,20 +514,21 @@ end
|
|
542
514
|
}]
|
543
515
|
end
|
544
516
|
|
517
|
+
|
545
518
|
before :each do
|
546
|
-
|
547
|
-
|
519
|
+
provider.class.stubs(:get_all_users).returns(testuser_hash)
|
520
|
+
provider.class.stubs(:get_os_version).returns('10.7')
|
548
521
|
end
|
549
522
|
|
550
523
|
it "should return a list of groups if the user's name matches GroupMembership" do
|
551
|
-
|
552
|
-
|
524
|
+
provider.class.expects(:get_list_of_groups).returns(group_plist_hash)
|
525
|
+
provider.class.expects(:get_list_of_groups).returns(group_plist_hash)
|
553
526
|
expect(provider.class.prefetch({}).first.groups).to eq('second,testgroup')
|
554
527
|
end
|
555
528
|
|
556
529
|
it "should return a list of groups if the user's GUID matches GroupMembers" do
|
557
|
-
|
558
|
-
|
530
|
+
provider.class.expects(:get_list_of_groups).returns(group_plist_hash_guid)
|
531
|
+
provider.class.expects(:get_list_of_groups).returns(group_plist_hash_guid)
|
559
532
|
expect(provider.class.prefetch({}).first.groups).to eq('testgroup,third')
|
560
533
|
end
|
561
534
|
end
|
@@ -600,65 +573,66 @@ end
|
|
600
573
|
end
|
601
574
|
|
602
575
|
before :each do
|
603
|
-
|
604
|
-
|
576
|
+
provider.class.stubs(:get_all_users).returns(testuser_hash)
|
577
|
+
provider.class.stubs(:get_list_of_groups).returns(group_plist_one_two_three)
|
605
578
|
end
|
606
579
|
|
607
580
|
it 'should call dscl to add necessary groups' do
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
581
|
+
provider.class.expects(:get_attribute_from_dscl).with('Users', username, 'GeneratedUID').returns({'dsAttrTypeStandard:GeneratedUID' => ['guidnonexistent_user']})
|
582
|
+
provider.expects(:groups).returns('two,three')
|
583
|
+
provider.expects(:dscl).with('.', '-merge', '/Groups/one', 'GroupMembership', 'nonexistent_user')
|
584
|
+
provider.expects(:dscl).with('.', '-merge', '/Groups/one', 'GroupMembers', 'guidnonexistent_user')
|
612
585
|
provider.class.prefetch({})
|
613
586
|
provider.groups= 'one,two,three'
|
614
587
|
end
|
615
588
|
|
616
589
|
it 'should call the get_salted_sha512 method on 10.7 and return the correct hash' do
|
617
|
-
|
618
|
-
|
590
|
+
provider.class.expects(:convert_binary_to_hash).with(sha512_embedded_bplist).returns(sha512_embedded_bplist_hash)
|
591
|
+
provider.class.expects(:convert_binary_to_hash).with(pbkdf2_embedded_plist).returns(pbkdf2_embedded_bplist_hash)
|
619
592
|
expect(provider.class.prefetch({}).first.password).to eq(sha512_password_hash)
|
620
593
|
end
|
621
594
|
|
622
595
|
it 'should call the get_salted_sha512_pbkdf2 method on 10.8 and return the correct hash' do
|
623
|
-
|
624
|
-
|
596
|
+
provider.class.expects(:convert_binary_to_hash).with(sha512_embedded_bplist).returns(sha512_embedded_bplist_hash)
|
597
|
+
provider.class.expects(:convert_binary_to_hash).with(pbkdf2_embedded_plist).returns(pbkdf2_embedded_bplist_hash)
|
625
598
|
expect(provider.class.prefetch({}).last.password).to eq(pbkdf2_password_hash)
|
626
599
|
end
|
600
|
+
|
627
601
|
end
|
628
602
|
|
629
603
|
describe '#password=' do
|
630
604
|
before :each do
|
631
|
-
|
632
|
-
|
605
|
+
provider.stubs(:sleep)
|
606
|
+
provider.stubs(:flush_dscl_cache)
|
633
607
|
end
|
634
608
|
|
635
609
|
it 'should call write_password_to_users_plist when setting the password' do
|
636
|
-
|
637
|
-
|
610
|
+
provider.class.stubs(:get_os_version).returns('10.7')
|
611
|
+
provider.expects(:write_password_to_users_plist).with(sha512_password_hash)
|
638
612
|
provider.password = sha512_password_hash
|
639
613
|
end
|
640
614
|
|
641
615
|
it 'should call write_password_to_users_plist when setting the password' do
|
642
|
-
|
616
|
+
provider.class.stubs(:get_os_version).returns('10.8')
|
643
617
|
resource[:salt] = pbkdf2_salt_value
|
644
618
|
resource[:iterations] = pbkdf2_iterations_value
|
645
619
|
resource[:password] = pbkdf2_password_hash
|
646
620
|
|
647
|
-
|
621
|
+
provider.expects(:write_password_to_users_plist).with(pbkdf2_password_hash)
|
648
622
|
|
649
623
|
provider.password = resource[:password]
|
650
624
|
end
|
651
625
|
|
652
626
|
|
653
627
|
it "should raise an error on 10.7 if a password hash that doesn't contain 136 characters is passed" do
|
654
|
-
|
628
|
+
provider.class.stubs(:get_os_version).returns('10.7')
|
655
629
|
expect { provider.password = 'password' }.to raise_error Puppet::Error, /OS X 10\.7 requires a Salted SHA512 hash password of 136 characters\. Please check your password and try again/
|
656
630
|
end
|
657
631
|
end
|
658
632
|
|
659
633
|
describe "passwords on 10.8" do
|
660
634
|
before :each do
|
661
|
-
|
635
|
+
provider.class.stubs(:get_os_version).returns('10.8')
|
662
636
|
end
|
663
637
|
|
664
638
|
it "should raise an error on 10.8 if a password hash that doesn't contain 256 characters is passed" do
|
@@ -754,7 +728,7 @@ end
|
|
754
728
|
end
|
755
729
|
|
756
730
|
it 'should return an array of hashes containing group data' do
|
757
|
-
|
731
|
+
provider.class.expects(:dscl).with('-plist', '.', 'readall', '/Groups').returns(groups_xml)
|
758
732
|
expect(provider.class.get_list_of_groups).to eq(groups_hash)
|
759
733
|
end
|
760
734
|
end
|
@@ -783,28 +757,28 @@ end
|
|
783
757
|
end
|
784
758
|
|
785
759
|
it 'should return a hash containing a user\'s dscl attribute data' do
|
786
|
-
|
760
|
+
provider.class.expects(:dscl).with('-plist', '.', 'read', user_path, 'GeneratedUID').returns(user_guid_xml)
|
787
761
|
expect(provider.class.get_attribute_from_dscl('Users', username, 'GeneratedUID')).to eq(user_guid_hash)
|
788
762
|
end
|
789
763
|
end
|
790
764
|
|
791
765
|
describe '#convert_hash_to_binary' do
|
792
766
|
it 'should use plutil to successfully convert an xml plist to a binary plist' do
|
793
|
-
|
767
|
+
Puppet::Util::Plist.expects(:dump_plist).with('ruby_hash', :binary).returns('binary_plist_data')
|
794
768
|
expect(provider.class.convert_hash_to_binary('ruby_hash')).to eq('binary_plist_data')
|
795
769
|
end
|
796
770
|
end
|
797
771
|
|
798
772
|
describe '#convert_binary_to_hash' do
|
799
773
|
it 'should accept a binary plist and return a ruby hash containing the plist data' do
|
800
|
-
|
774
|
+
Puppet::Util::Plist.expects(:parse_plist).with('binary_plist_data').returns(user_plist_hash)
|
801
775
|
expect(provider.class.convert_binary_to_hash('binary_plist_data')).to eq(user_plist_hash)
|
802
776
|
end
|
803
777
|
end
|
804
778
|
|
805
779
|
describe '#next_system_id' do
|
806
780
|
it 'should return the next available UID number that is not in the list obtained from dscl and is greater than the passed integer value' do
|
807
|
-
|
781
|
+
provider.expects(:dscl).with('.', '-list', '/Users', 'uid').returns("kathee 312\ngary 11\ntanny 33\njohn 9\nzach 5")
|
808
782
|
expect(provider.next_system_id(30)).to eq(34)
|
809
783
|
end
|
810
784
|
end
|
@@ -835,33 +809,33 @@ end
|
|
835
809
|
|
836
810
|
describe '#get_sha1' do
|
837
811
|
let(:password_hash_file) { '/var/db/shadow/hash/user_guid' }
|
838
|
-
let(:stub_password_file) {
|
812
|
+
let(:stub_password_file) { stub('connection') }
|
839
813
|
|
840
814
|
it 'should return a sha1 hash read from disk' do
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
815
|
+
Puppet::FileSystem.expects(:exist?).with(password_hash_file).returns(true)
|
816
|
+
File.expects(:file?).with(password_hash_file).returns(true)
|
817
|
+
File.expects(:readable?).with(password_hash_file).returns(true)
|
818
|
+
File.expects(:new).with(password_hash_file).returns(stub_password_file)
|
819
|
+
stub_password_file.expects(:read).returns('sha1_password_hash')
|
820
|
+
stub_password_file.expects(:close)
|
847
821
|
expect(provider.class.get_sha1('user_guid')).to eq('sha1_password_hash')
|
848
822
|
end
|
849
823
|
|
850
824
|
it 'should return nil if the password_hash_file does not exist' do
|
851
|
-
|
825
|
+
Puppet::FileSystem.expects(:exist?).with(password_hash_file).returns(false)
|
852
826
|
expect(provider.class.get_sha1('user_guid')).to eq(nil)
|
853
827
|
end
|
854
828
|
|
855
829
|
it 'should return nil if the password_hash_file is not a file' do
|
856
|
-
|
857
|
-
|
830
|
+
Puppet::FileSystem.expects(:exist?).with(password_hash_file).returns(true)
|
831
|
+
File.expects(:file?).with(password_hash_file).returns(false)
|
858
832
|
expect(provider.class.get_sha1('user_guid')).to eq(nil)
|
859
833
|
end
|
860
834
|
|
861
835
|
it 'should raise an error if the password_hash_file is not readable' do
|
862
|
-
|
863
|
-
|
864
|
-
|
836
|
+
Puppet::FileSystem.expects(:exist?).with(password_hash_file).returns(true)
|
837
|
+
File.expects(:file?).with(password_hash_file).returns(true)
|
838
|
+
File.expects(:readable?).with(password_hash_file).returns(false)
|
865
839
|
expect { expect(provider.class.get_sha1('user_guid')).to eq(nil) }.to raise_error(Puppet::Error, /Could not read password hash file at #{password_hash_file}/)
|
866
840
|
end
|
867
841
|
end
|
@@ -915,26 +889,26 @@ end
|
|
915
889
|
end
|
916
890
|
|
917
891
|
it 'should call set_salted_sha512 on 10.7 when given a salted-SHA512 password hash' do
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
892
|
+
provider.expects(:get_users_plist).returns(sample_users_plist)
|
893
|
+
provider.expects(:get_shadow_hash_data).with(sample_users_plist).returns(sha512_shadowhashdata)
|
894
|
+
provider.class.expects(:get_os_version).returns('10.7')
|
895
|
+
provider.expects(:set_salted_sha512).with(sample_users_plist, sha512_shadowhashdata, sha512_password_hash)
|
922
896
|
provider.write_password_to_users_plist(sha512_password_hash)
|
923
897
|
end
|
924
898
|
|
925
899
|
it 'should call set_salted_pbkdf2 on 10.8 when given a PBKDF2 password hash' do
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
900
|
+
provider.expects(:get_users_plist).returns(sample_users_plist)
|
901
|
+
provider.expects(:get_shadow_hash_data).with(sample_users_plist).returns(pbkdf2_shadowhashdata)
|
902
|
+
provider.class.expects(:get_os_version).returns('10.8')
|
903
|
+
provider.expects(:set_salted_pbkdf2).with(sample_users_plist, pbkdf2_shadowhashdata, 'entropy', pbkdf2_password_hash)
|
930
904
|
provider.write_password_to_users_plist(pbkdf2_password_hash)
|
931
905
|
end
|
932
906
|
|
933
907
|
it "should delete the SALTED-SHA512 key in the shadow_hash_data hash if it exists on a 10.8 system and write_password_to_users_plist has been called to set the user's password" do
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
908
|
+
provider.expects(:get_users_plist).returns('users_plist')
|
909
|
+
provider.expects(:get_shadow_hash_data).with('users_plist').returns(sha512_shadowhashdata)
|
910
|
+
provider.class.expects(:get_os_version).returns('10.8')
|
911
|
+
provider.expects(:set_salted_pbkdf2).with('users_plist', {}, 'entropy', pbkdf2_password_hash)
|
938
912
|
provider.write_password_to_users_plist(pbkdf2_password_hash)
|
939
913
|
end
|
940
914
|
end
|
@@ -948,14 +922,14 @@ end
|
|
948
922
|
end
|
949
923
|
|
950
924
|
it 'should set the SALTED-SHA512 password hash for a user in 10.7 and call the set_shadow_hash_data method to write the plist to disk' do
|
951
|
-
|
952
|
-
|
925
|
+
provider.class.expects(:convert_hash_to_binary).with(sha512_embedded_bplist_hash).returns(sha512_embedded_bplist)
|
926
|
+
provider.expects(:set_shadow_hash_data).with(users_plist, sha512_embedded_bplist)
|
953
927
|
provider.set_salted_sha512(users_plist, sha512_embedded_bplist_hash, sha512_password_hash)
|
954
928
|
end
|
955
929
|
|
956
930
|
it 'should set the salted-SHA512 password, even if a blank shadow_hash_data hash is passed' do
|
957
|
-
|
958
|
-
|
931
|
+
provider.class.expects(:convert_hash_to_binary).with(sha512_shadow_hash_data).returns(sha512_embedded_bplist)
|
932
|
+
provider.expects(:set_shadow_hash_data).with(users_plist, sha512_embedded_bplist)
|
959
933
|
provider.set_salted_sha512(users_plist, false, sha512_password_hash)
|
960
934
|
end
|
961
935
|
end
|
@@ -974,57 +948,50 @@ end
|
|
974
948
|
# This will also catch the edge-case where a 10.6-style user exists on
|
975
949
|
# a 10.8 system and Puppet attempts to set a password
|
976
950
|
it 'should not fail if shadow_hash_data is not a Hash' do
|
977
|
-
|
978
|
-
|
979
|
-
|
951
|
+
Puppet::Util::Plist.expects(:string_to_blob).with(provider.base64_decode_string(pbkdf2_password_hash)).returns('binary_string')
|
952
|
+
provider.class.expects(:convert_hash_to_binary).with(entropy_shadow_hash_data).returns('binary_plist')
|
953
|
+
provider.expects(:set_shadow_hash_data).with({'passwd' => '********'}, 'binary_plist')
|
980
954
|
provider.set_salted_pbkdf2({}, false, 'entropy', pbkdf2_password_hash)
|
981
955
|
end
|
982
956
|
|
983
957
|
it "should set the PBKDF2 password hash when the 'entropy' field is passed with a valid password hash" do
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
958
|
+
Puppet::Util::Plist.expects(:string_to_blob).with(provider.base64_decode_string(pbkdf2_password_hash))
|
959
|
+
provider.class.expects(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).returns(pbkdf2_embedded_plist)
|
960
|
+
provider.expects(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
|
961
|
+
users_plist.expects(:[]=).with('passwd', '********')
|
988
962
|
provider.set_salted_pbkdf2(users_plist, pbkdf2_embedded_bplist_hash, 'entropy', pbkdf2_password_hash)
|
989
963
|
end
|
990
964
|
|
991
965
|
it "should set the PBKDF2 password hash when the 'salt' field is passed with a valid password hash" do
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
966
|
+
Puppet::Util::Plist.expects(:string_to_blob).with(provider.base64_decode_string(pbkdf2_salt_value))
|
967
|
+
provider.class.expects(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).returns(pbkdf2_embedded_plist)
|
968
|
+
provider.expects(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
|
969
|
+
users_plist.expects(:[]=).with('passwd', '********')
|
996
970
|
provider.set_salted_pbkdf2(users_plist, pbkdf2_embedded_bplist_hash, 'salt', pbkdf2_salt_value)
|
997
971
|
end
|
998
972
|
|
999
973
|
it "should set the PBKDF2 password hash when the 'iterations' field is passed with a valid password hash" do
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
974
|
+
provider.class.expects(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).returns(pbkdf2_embedded_plist)
|
975
|
+
provider.expects(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
|
976
|
+
users_plist.expects(:[]=).with('passwd', '********')
|
1003
977
|
provider.set_salted_pbkdf2(users_plist, pbkdf2_embedded_bplist_hash, 'iterations', pbkdf2_iterations_value)
|
1004
978
|
end
|
1005
979
|
end
|
1006
980
|
|
1007
981
|
describe '#write_users_plist_to_disk' do
|
1008
982
|
it 'should save the passed plist to disk and convert it to a binary plist' do
|
1009
|
-
|
983
|
+
Puppet::Util::Plist.expects(:write_plist_file).with(user_plist_xml, "#{users_plist_dir}/nonexistent_user.plist", :binary)
|
1010
984
|
provider.write_users_plist_to_disk(user_plist_xml)
|
1011
985
|
end
|
1012
986
|
end
|
1013
987
|
|
1014
988
|
describe '#merge_attribute_with_dscl' do
|
1015
989
|
it 'should raise an error if a dscl command raises an error' do
|
1016
|
-
|
990
|
+
provider.expects(:dscl).with('.', '-merge', user_path, 'GeneratedUID', 'GUID').raises(Puppet::ExecutionFailure, 'boom')
|
1017
991
|
expect { provider.merge_attribute_with_dscl('Users', username, 'GeneratedUID', 'GUID') }.to raise_error Puppet::Error, /Could not set the dscl GeneratedUID key with value: GUID/
|
1018
992
|
end
|
1019
993
|
end
|
1020
994
|
|
1021
|
-
describe '#create_attribute_with_dscl' do
|
1022
|
-
it 'should raise an error if a dscl command raises an error' do
|
1023
|
-
expect(provider).to receive(:dscl).with('.', '-create', user_path, 'GeneratedUID', 'GUID').and_raise(Puppet::ExecutionFailure, 'boom')
|
1024
|
-
expect { provider.create_attribute_with_dscl('Users', username, 'GeneratedUID', 'GUID') }.to raise_error Puppet::Error, /Could not set the dscl GeneratedUID key with value: GUID/
|
1025
|
-
end
|
1026
|
-
end
|
1027
|
-
|
1028
995
|
describe '#get_users_plist' do
|
1029
996
|
let(:test_hash) do
|
1030
997
|
{
|
@@ -1034,7 +1001,7 @@ end
|
|
1034
1001
|
end
|
1035
1002
|
|
1036
1003
|
it 'should convert a plist to a valid Ruby hash' do
|
1037
|
-
|
1004
|
+
Puppet::Util::Plist.expects(:read_plist_file).with("#{users_plist_dir}/#{username}.plist").returns(test_hash)
|
1038
1005
|
expect(provider.get_users_plist(username)).to eq(test_hash, )
|
1039
1006
|
end
|
1040
1007
|
end
|
@@ -1059,7 +1026,7 @@ end
|
|
1059
1026
|
it 'should call convert_binary_to_hash() with the string ' +
|
1060
1027
|
'located in the first element of the array of the ShadowHashData key if the ' +
|
1061
1028
|
'passed users_plist contains a ShadowHashData key' do
|
1062
|
-
|
1029
|
+
provider.class.expects(:convert_binary_to_hash).with('test').returns('returnvalue')
|
1063
1030
|
expect(provider.get_shadow_hash_data(shadow_hash)).to eq('returnvalue')
|
1064
1031
|
end
|
1065
1032
|
end
|
@@ -1072,7 +1039,7 @@ end
|
|
1072
1039
|
|
1073
1040
|
it 'should call Facter.value(:macosx_productversion_major) ONLY ONCE no matter how ' +
|
1074
1041
|
'many times get_os_version() is called' do
|
1075
|
-
|
1042
|
+
Facter.expects(:value).with(:macosx_productversion_major).once.returns('10.8')
|
1076
1043
|
expect(provider.class.get_os_version).to eq('10.8')
|
1077
1044
|
expect(provider.class.get_os_version).to eq('10.8')
|
1078
1045
|
expect(provider.class.get_os_version).to eq('10.8')
|
@@ -1160,8 +1127,8 @@ end
|
|
1160
1127
|
end
|
1161
1128
|
|
1162
1129
|
before :each do
|
1163
|
-
|
1164
|
-
|
1130
|
+
provider.class.stubs(:get_all_users).returns(all_users_hash)
|
1131
|
+
provider.class.stubs(:get_list_of_groups).returns(group_plist_hash_guid)
|
1165
1132
|
provider.class.prefetch({})
|
1166
1133
|
end
|
1167
1134
|
|
@@ -1171,13 +1138,14 @@ end
|
|
1171
1138
|
resource[:salt] = pbkdf2_salt_value
|
1172
1139
|
resource[:iterations] = pbkdf2_iterations_value
|
1173
1140
|
resource[:password] = pbkdf2_password_hash
|
1174
|
-
|
1175
|
-
|
1176
|
-
|
1141
|
+
provider.class.stubs(:get_os_version).returns('10.8')
|
1142
|
+
provider.stubs(:sleep)
|
1143
|
+
provider.stubs(:flush_dscl_cache)
|
1177
1144
|
|
1178
|
-
|
1179
|
-
|
1145
|
+
provider.expects(:get_users_plist).with('testuser').returns(user_plist_hash)
|
1146
|
+
provider.expects(:set_salted_pbkdf2).with(user_plist_hash, false, 'entropy', pbkdf2_password_hash)
|
1180
1147
|
provider.password = resource[:password]
|
1181
1148
|
end
|
1182
1149
|
end
|
1183
1150
|
end
|
1151
|
+
|