puppet 6.0.10-x86-mingw32 → 6.1.0-x86-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
@@ -8,123 +8,123 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
|
|
8
8
|
let(:provider) { described_class.new(resource) }
|
9
9
|
|
10
10
|
before do
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
resource.stubs(:should).returns "fakeval"
|
12
|
+
resource.stubs(:should).with(:keys).returns Hash.new
|
13
|
+
resource.stubs(:[]).returns "fakeval"
|
14
14
|
end
|
15
15
|
|
16
|
+
|
16
17
|
describe "#command" do
|
17
18
|
before do
|
18
|
-
klass =
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
allow(provider).to receive(:class).and_return(klass)
|
19
|
+
klass = stub("provider")
|
20
|
+
klass.stubs(:command).with(:foo).returns("userfoo")
|
21
|
+
klass.stubs(:command).with(:role_foo).returns("rolefoo")
|
22
|
+
provider.stubs(:class).returns(klass)
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should use the command if not a role and ensure!=role" do
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
26
|
+
provider.stubs(:is_role?).returns(false)
|
27
|
+
provider.stubs(:exists?).returns(false)
|
28
|
+
resource.stubs(:[]).with(:ensure).returns(:present)
|
29
|
+
provider.class.stubs(:foo)
|
30
30
|
expect(provider.command(:foo)).to eq("userfoo")
|
31
31
|
end
|
32
32
|
|
33
33
|
it "should use the role command when a role" do
|
34
|
-
|
34
|
+
provider.stubs(:is_role?).returns(true)
|
35
35
|
expect(provider.command(:foo)).to eq("rolefoo")
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should use the role command when !exists and ensure=role" do
|
39
|
-
|
40
|
-
|
41
|
-
|
39
|
+
provider.stubs(:is_role?).returns(false)
|
40
|
+
provider.stubs(:exists?).returns(false)
|
41
|
+
resource.stubs(:[]).with(:ensure).returns(:role)
|
42
42
|
expect(provider.command(:foo)).to eq("rolefoo")
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
46
|
describe "#transition" do
|
47
47
|
it "should return the type set to whatever is passed in" do
|
48
|
-
|
48
|
+
provider.expects(:command).with(:modify).returns("foomod")
|
49
49
|
provider.transition("bar").include?("type=bar")
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
53
|
describe "#create" do
|
54
54
|
before do
|
55
|
-
|
55
|
+
provider.stubs(:password=)
|
56
56
|
end
|
57
57
|
|
58
58
|
it "should use the add command when the user is not a role" do
|
59
|
-
|
60
|
-
|
61
|
-
|
59
|
+
provider.stubs(:is_role?).returns(false)
|
60
|
+
provider.expects(:addcmd).returns("useradd")
|
61
|
+
provider.expects(:run).at_least_once
|
62
62
|
provider.create
|
63
63
|
end
|
64
64
|
|
65
65
|
it "should use transition(normal) when the user is a role" do
|
66
|
-
|
67
|
-
|
68
|
-
|
66
|
+
provider.stubs(:is_role?).returns(true)
|
67
|
+
provider.expects(:transition).with("normal")
|
68
|
+
provider.expects(:run)
|
69
69
|
provider.create
|
70
70
|
end
|
71
71
|
|
72
72
|
it "should set password age rules" do
|
73
73
|
resource = Puppet::Type.type(:user).new :name => "myuser", :password_min_age => 5, :password_max_age => 10, :password_warn_days => 15, :provider => :user_role_add
|
74
74
|
provider = described_class.new(resource)
|
75
|
-
|
76
|
-
|
77
|
-
|
75
|
+
provider.stubs(:user_attributes)
|
76
|
+
provider.stubs(:execute)
|
77
|
+
provider.expects(:execute).with { |cmd, *args| args == ["-n", 5, "-x", 10, '-w', 15, "myuser"] }
|
78
78
|
provider.create
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
82
82
|
describe "#destroy" do
|
83
83
|
it "should use the delete command if the user exists and is not a role" do
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
84
|
+
provider.stubs(:exists?).returns(true)
|
85
|
+
provider.stubs(:is_role?).returns(false)
|
86
|
+
provider.expects(:deletecmd)
|
87
|
+
provider.expects(:run)
|
88
88
|
provider.destroy
|
89
89
|
end
|
90
90
|
|
91
91
|
it "should use the delete command if the user is a role" do
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
92
|
+
provider.stubs(:exists?).returns(true)
|
93
|
+
provider.stubs(:is_role?).returns(true)
|
94
|
+
provider.expects(:deletecmd)
|
95
|
+
provider.expects(:run)
|
96
96
|
provider.destroy
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
100
|
describe "#create_role" do
|
101
101
|
it "should use the transition(role) if the user exists" do
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
102
|
+
provider.stubs(:exists?).returns(true)
|
103
|
+
provider.stubs(:is_role?).returns(false)
|
104
|
+
provider.expects(:transition).with("role")
|
105
|
+
provider.expects(:run)
|
106
106
|
provider.create_role
|
107
107
|
end
|
108
108
|
|
109
109
|
it "should use the add command when role doesn't exists" do
|
110
|
-
|
111
|
-
|
112
|
-
|
110
|
+
provider.stubs(:exists?).returns(false)
|
111
|
+
provider.expects(:addcmd)
|
112
|
+
provider.expects(:run)
|
113
113
|
provider.create_role
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
117
117
|
describe "with :allow_duplicates" do
|
118
118
|
before do
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
119
|
+
resource.stubs(:allowdupe?).returns true
|
120
|
+
provider.stubs(:is_role?).returns(false)
|
121
|
+
provider.stubs(:execute)
|
122
|
+
resource.stubs(:system?).returns false
|
123
|
+
provider.expects(:execute).with { |args| args.include?("-o") }
|
124
124
|
end
|
125
125
|
|
126
126
|
it "should add -o when the user is being created" do
|
127
|
-
|
127
|
+
provider.stubs(:password=)
|
128
128
|
provider.create
|
129
129
|
end
|
130
130
|
|
@@ -137,14 +137,14 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
|
|
137
137
|
context "#send" do
|
138
138
|
describe "when getting #{val}" do
|
139
139
|
it "should get the user_attributes" do
|
140
|
-
|
140
|
+
provider.expects(:user_attributes)
|
141
141
|
provider.send(val)
|
142
142
|
end
|
143
143
|
|
144
144
|
it "should get the #{val} attribute" do
|
145
|
-
attributes =
|
146
|
-
|
147
|
-
|
145
|
+
attributes = mock("attributes")
|
146
|
+
attributes.expects(:[]).with(val)
|
147
|
+
provider.stubs(:user_attributes).returns(attributes)
|
148
148
|
provider.send(val)
|
149
149
|
end
|
150
150
|
end
|
@@ -153,33 +153,33 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
|
|
153
153
|
|
154
154
|
describe "#keys" do
|
155
155
|
it "should get the user_attributes" do
|
156
|
-
|
156
|
+
provider.expects(:user_attributes)
|
157
157
|
provider.keys
|
158
158
|
end
|
159
159
|
|
160
160
|
it "should call removed_managed_attributes" do
|
161
|
-
|
162
|
-
|
161
|
+
provider.stubs(:user_attributes).returns({ :type => "normal", :foo => "something" })
|
162
|
+
provider.expects(:remove_managed_attributes)
|
163
163
|
provider.keys
|
164
164
|
end
|
165
165
|
|
166
166
|
it "should removed managed attribute (type, auths, roles, etc)" do
|
167
|
-
|
167
|
+
provider.stubs(:user_attributes).returns({ :type => "normal", :foo => "something" })
|
168
168
|
expect(provider.keys).to eq({ :foo => "something" })
|
169
169
|
end
|
170
170
|
end
|
171
171
|
|
172
172
|
describe "#add_properties" do
|
173
173
|
it "should call build_keys_cmd" do
|
174
|
-
|
175
|
-
|
176
|
-
|
174
|
+
resource.stubs(:should).returns ""
|
175
|
+
resource.expects(:should).with(:keys).returns({ :foo => "bar" })
|
176
|
+
provider.expects(:build_keys_cmd).returns([])
|
177
177
|
provider.add_properties
|
178
178
|
end
|
179
179
|
|
180
180
|
it "should add the elements of the keys hash to an array" do
|
181
|
-
|
182
|
-
|
181
|
+
resource.stubs(:should).returns ""
|
182
|
+
resource.expects(:should).with(:keys).returns({ :foo => "bar"})
|
183
183
|
expect(provider.add_properties).to eq(["-K", "foo=bar"])
|
184
184
|
end
|
185
185
|
end
|
@@ -192,57 +192,57 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
|
|
192
192
|
|
193
193
|
describe "#keys=" do
|
194
194
|
before do
|
195
|
-
|
195
|
+
provider.stubs(:is_role?).returns(false)
|
196
196
|
end
|
197
197
|
|
198
198
|
it "should run a command" do
|
199
|
-
|
199
|
+
provider.expects(:run)
|
200
200
|
provider.keys=({})
|
201
201
|
end
|
202
202
|
|
203
203
|
it "should build the command" do
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
204
|
+
resource.stubs(:[]).with(:name).returns("someuser")
|
205
|
+
provider.stubs(:command).returns("usermod")
|
206
|
+
provider.expects(:build_keys_cmd).returns(["-K", "foo=bar"])
|
207
|
+
provider.expects(:run).with(["usermod", "-K", "foo=bar", "someuser"], "modify attribute key pairs")
|
208
208
|
provider.keys=({})
|
209
209
|
end
|
210
210
|
end
|
211
211
|
|
212
212
|
describe "#password" do
|
213
213
|
before do
|
214
|
-
@array =
|
214
|
+
@array = mock "array"
|
215
215
|
end
|
216
216
|
|
217
217
|
it "should readlines of /etc/shadow" do
|
218
|
-
|
218
|
+
File.expects(:readlines).with("/etc/shadow").returns([])
|
219
219
|
provider.password
|
220
220
|
end
|
221
221
|
|
222
222
|
it "should reject anything that doesn't start with alpha numerics" do
|
223
|
-
|
224
|
-
|
223
|
+
@array.expects(:reject).returns([])
|
224
|
+
File.stubs(:readlines).with("/etc/shadow").returns(@array)
|
225
225
|
provider.password
|
226
226
|
end
|
227
227
|
|
228
228
|
it "should collect splitting on ':'" do
|
229
|
-
|
230
|
-
|
231
|
-
|
229
|
+
@array.stubs(:reject).returns(@array)
|
230
|
+
@array.expects(:collect).returns([])
|
231
|
+
File.stubs(:readlines).with("/etc/shadow").returns(@array)
|
232
232
|
provider.password
|
233
233
|
end
|
234
234
|
|
235
235
|
it "should find the matching user" do
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
236
|
+
resource.stubs(:[]).with(:name).returns("username")
|
237
|
+
@array.stubs(:reject).returns(@array)
|
238
|
+
@array.stubs(:collect).returns([["username", "hashedpassword"], ["someoneelse", "theirpassword"]])
|
239
|
+
File.stubs(:readlines).with("/etc/shadow").returns(@array)
|
240
240
|
expect(provider.password).to eq("hashedpassword")
|
241
241
|
end
|
242
242
|
|
243
243
|
it "should get the right password" do
|
244
|
-
|
245
|
-
|
244
|
+
resource.stubs(:[]).with(:name).returns("username")
|
245
|
+
File.stubs(:readlines).with("/etc/shadow").returns(["#comment", " nonsense", " ", "username:hashedpassword:stuff:foo:bar:::", "other:pword:yay:::"])
|
246
246
|
expect(provider.password).to eq("hashedpassword")
|
247
247
|
end
|
248
248
|
end
|
@@ -251,7 +251,7 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet::U
|
|
251
251
|
let(:path) { tmpfile('etc-shadow') }
|
252
252
|
|
253
253
|
before :each do
|
254
|
-
|
254
|
+
provider.stubs(:target_file_path).returns(path)
|
255
255
|
end
|
256
256
|
|
257
257
|
def write_fixture(content)
|
@@ -267,7 +267,7 @@ FIXTURE
|
|
267
267
|
end
|
268
268
|
|
269
269
|
it "should only update the target user" do
|
270
|
-
|
270
|
+
Date.expects(:today).returns Date.new(2011,12,07)
|
271
271
|
write_fixture <<FIXTURE
|
272
272
|
before:seriously:15315:0:99999:7:::
|
273
273
|
fakeval:seriously:15315:0:99999:7:::
|
@@ -297,7 +297,7 @@ FIXTURE
|
|
297
297
|
end
|
298
298
|
|
299
299
|
it "should update the lastchg field" do
|
300
|
-
|
300
|
+
Date.expects(:today).returns Date.new(2013,5,12) # 15837 days after 1970-01-01
|
301
301
|
write_fixture <<FIXTURE
|
302
302
|
before:seriously:15315:0:99999:7:::
|
303
303
|
fakeval:seriously:15629:0:99999:7:::
|
@@ -316,58 +316,58 @@ EOT
|
|
316
316
|
|
317
317
|
describe "#shadow_entry" do
|
318
318
|
it "should return the line for the right user" do
|
319
|
-
|
319
|
+
File.stubs(:readlines).returns(["someuser:!:10:5:20:7:1::\n", "fakeval:*:20:10:30:7:2::\n", "testuser:*:30:15:40:7:3::\n"])
|
320
320
|
expect(provider.shadow_entry).to eq(["fakeval", "*", "20", "10", "30", "7", "2", "", ""])
|
321
321
|
end
|
322
322
|
end
|
323
323
|
|
324
324
|
describe "#password_max_age" do
|
325
325
|
it "should return a maximum age number" do
|
326
|
-
|
326
|
+
File.stubs(:readlines).returns(["fakeval:NP:12345:0:50::::\n"])
|
327
327
|
expect(provider.password_max_age).to eq("50")
|
328
328
|
end
|
329
329
|
|
330
330
|
it "should return -1 for no maximum" do
|
331
|
-
|
331
|
+
File.stubs(:readlines).returns(["fakeval:NP:12345::::::\n"])
|
332
332
|
expect(provider.password_max_age).to eq(-1)
|
333
333
|
end
|
334
334
|
|
335
335
|
it "should return -1 for no maximum when failed attempts are present" do
|
336
|
-
|
336
|
+
File.stubs(:readlines).returns(["fakeval:NP:12345::::::3\n"])
|
337
337
|
expect(provider.password_max_age).to eq(-1)
|
338
338
|
end
|
339
339
|
end
|
340
340
|
|
341
341
|
describe "#password_min_age" do
|
342
342
|
it "should return a minimum age number" do
|
343
|
-
|
343
|
+
File.stubs(:readlines).returns(["fakeval:NP:12345:10:50::::\n"])
|
344
344
|
expect(provider.password_min_age).to eq("10")
|
345
345
|
end
|
346
346
|
|
347
347
|
it "should return -1 for no minimum" do
|
348
|
-
|
348
|
+
File.stubs(:readlines).returns(["fakeval:NP:12345::::::\n"])
|
349
349
|
expect(provider.password_min_age).to eq(-1)
|
350
350
|
end
|
351
351
|
|
352
352
|
it "should return -1 for no minimum when failed attempts are present" do
|
353
|
-
|
353
|
+
File.stubs(:readlines).returns(["fakeval:NP:12345::::::3\n"])
|
354
354
|
expect(provider.password_min_age).to eq(-1)
|
355
355
|
end
|
356
356
|
end
|
357
357
|
|
358
358
|
describe "#password_warn_days" do
|
359
359
|
it "should return a warn days number" do
|
360
|
-
|
360
|
+
File.stubs(:readlines).returns(["fakeval:NP:12345:10:50:30:::\n"])
|
361
361
|
expect(provider.password_warn_days).to eq("30")
|
362
362
|
end
|
363
363
|
|
364
364
|
it "should return -1 for no warn days" do
|
365
|
-
|
365
|
+
File.stubs(:readlines).returns(["fakeval:NP:12345::::::\n"])
|
366
366
|
expect(provider.password_warn_days).to eq(-1)
|
367
367
|
end
|
368
368
|
|
369
369
|
it "should return -1 for no warn days when failed attempts are present" do
|
370
|
-
|
370
|
+
File.stubs(:readlines).returns(["fakeval:NP:12345::::::3\n"])
|
371
371
|
expect(provider.password_warn_days).to eq(-1)
|
372
372
|
end
|
373
373
|
end
|
@@ -1,17 +1,17 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
|
-
RSpec::Matchers.define_negated_matcher :excluding, :include
|
4
|
-
|
5
4
|
describe Puppet::Type.type(:user).provider(:useradd) do
|
5
|
+
|
6
6
|
before :each do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
7
|
+
described_class.stubs(:command).with(:password).returns '/usr/bin/chage'
|
8
|
+
described_class.stubs(:command).with(:localpassword).returns '/usr/sbin/lchage'
|
9
|
+
described_class.stubs(:command).with(:add).returns '/usr/sbin/useradd'
|
10
|
+
described_class.stubs(:command).with(:localadd).returns '/usr/sbin/luseradd'
|
11
|
+
described_class.stubs(:command).with(:modify).returns '/usr/sbin/usermod'
|
12
|
+
described_class.stubs(:command).with(:localmodify).returns '/usr/sbin/lusermod'
|
13
|
+
described_class.stubs(:command).with(:delete).returns '/usr/sbin/userdel'
|
14
|
+
described_class.stubs(:command).with(:localdelete).returns '/usr/sbin/luserdel'
|
15
15
|
end
|
16
16
|
|
17
17
|
let(:resource) do
|
@@ -25,6 +25,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
25
25
|
|
26
26
|
let(:provider) { described_class.new(:name => 'myuser') }
|
27
27
|
|
28
|
+
|
28
29
|
let(:shadow_entry) {
|
29
30
|
return unless Puppet.features.libshadow?
|
30
31
|
entry = Struct::PasswdEntry.new
|
@@ -40,36 +41,37 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
40
41
|
}
|
41
42
|
|
42
43
|
describe "#create" do
|
44
|
+
|
43
45
|
before do
|
44
|
-
|
46
|
+
provider.stubs(:exists?).returns(false)
|
45
47
|
end
|
46
48
|
|
47
49
|
it "should add -g when no gid is specified and group already exists" do
|
48
|
-
|
50
|
+
Puppet::Util.stubs(:gid).returns(true)
|
49
51
|
resource[:ensure] = :present
|
50
|
-
|
52
|
+
provider.expects(:execute).with(includes('-g'), kind_of(Hash))
|
51
53
|
provider.create
|
52
54
|
end
|
53
55
|
|
54
56
|
it "should use -G to set groups" do
|
55
|
-
|
57
|
+
Facter.stubs(:value).with(:osfamily).returns('Not RedHat')
|
56
58
|
resource[:ensure] = :present
|
57
59
|
resource[:groups] = ['group1', 'group2']
|
58
|
-
|
60
|
+
provider.expects(:execute).with(['/usr/sbin/useradd', '-G', 'group1,group2', 'myuser'], kind_of(Hash))
|
59
61
|
provider.create
|
60
62
|
end
|
61
63
|
|
62
64
|
it "should use -G to set groups without -M on RedHat" do
|
63
|
-
|
65
|
+
Facter.stubs(:value).with(:osfamily).returns('RedHat')
|
64
66
|
resource[:ensure] = :present
|
65
67
|
resource[:groups] = ['group1', 'group2']
|
66
|
-
|
68
|
+
provider.expects(:execute).with(['/usr/sbin/useradd', '-G', 'group1,group2', '-M', 'myuser'], kind_of(Hash))
|
67
69
|
provider.create
|
68
70
|
end
|
69
71
|
|
70
72
|
it "should add -o when allowdupe is enabled and the user is being created" do
|
71
73
|
resource[:allowdupe] = true
|
72
|
-
|
74
|
+
provider.expects(:execute).with(includes('-o'), kind_of(Hash))
|
73
75
|
provider.create
|
74
76
|
end
|
75
77
|
|
@@ -77,7 +79,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
77
79
|
it "should add -r when system is enabled" do
|
78
80
|
resource[:system] = :true
|
79
81
|
expect(provider).to be_system_users
|
80
|
-
|
82
|
+
provider.expects(:execute).with(includes('-r'), kind_of(Hash))
|
81
83
|
provider.create
|
82
84
|
end
|
83
85
|
end
|
@@ -86,7 +88,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
86
88
|
it "should not add -r when system is enabled" do
|
87
89
|
resource[:system] = :true
|
88
90
|
expect(provider).not_to be_system_users
|
89
|
-
|
91
|
+
provider.expects(:execute).with(['/usr/sbin/useradd', 'myuser'], kind_of(Hash))
|
90
92
|
provider.create
|
91
93
|
end
|
92
94
|
end
|
@@ -96,8 +98,8 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
96
98
|
resource[:password_min_age] = 5
|
97
99
|
resource[:password_max_age] = 10
|
98
100
|
resource[:password_warn_days] = 15
|
99
|
-
|
100
|
-
|
101
|
+
provider.expects(:execute).with(includes('/usr/sbin/useradd'), kind_of(Hash))
|
102
|
+
provider.expects(:execute).with(['/usr/bin/chage', '-m', 5, '-M', 10, '-W', 15, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
|
101
103
|
provider.create
|
102
104
|
end
|
103
105
|
|
@@ -106,41 +108,40 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
106
108
|
described_class.has_feature :libuser
|
107
109
|
resource[:forcelocal] = true
|
108
110
|
end
|
109
|
-
|
110
111
|
it "should use luseradd instead of useradd" do
|
111
|
-
|
112
|
+
provider.expects(:execute).with(includes('/usr/sbin/luseradd'), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
112
113
|
provider.create
|
113
114
|
end
|
114
115
|
|
115
116
|
it "should NOT use -o when allowdupe=true" do
|
116
117
|
resource[:allowdupe] = :true
|
117
|
-
|
118
|
+
provider.expects(:execute).with(Not(includes('-o')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
118
119
|
provider.create
|
119
120
|
end
|
120
121
|
|
121
122
|
it "should raise an exception for duplicate UIDs" do
|
122
123
|
resource[:uid] = 505
|
123
|
-
|
124
|
+
provider.stubs(:finduser).returns(true)
|
124
125
|
expect { provider.create }.to raise_error(Puppet::Error, "UID 505 already exists, use allowdupe to force user creation")
|
125
126
|
end
|
126
127
|
|
127
128
|
it "should not use -G for luseradd and should call usermod with -G after luseradd when groups property is set" do
|
128
129
|
resource[:groups] = ['group1', 'group2']
|
129
|
-
|
130
|
-
|
130
|
+
provider.expects(:execute).with(all_of(includes('/usr/sbin/luseradd'), Not(includes('-G'))), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
131
|
+
provider.expects(:execute).with(all_of(includes('/usr/sbin/usermod'), includes('-G')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
131
132
|
provider.create
|
132
133
|
end
|
133
134
|
|
134
135
|
it "should not use -m when managehome set" do
|
135
136
|
resource[:managehome] = :true
|
136
|
-
|
137
|
+
provider.expects(:execute).with(Not(includes('-m')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
137
138
|
provider.create
|
138
139
|
end
|
139
140
|
|
140
141
|
it "should not use -e with luseradd, should call usermod with -e after luseradd when expiry is set" do
|
141
142
|
resource[:expiry] = '2038-01-24'
|
142
|
-
|
143
|
-
|
143
|
+
provider.expects(:execute).with(all_of(includes('/usr/sbin/luseradd'), Not(includes('-e'))), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
144
|
+
provider.expects(:execute).with(all_of(includes('/usr/sbin/usermod'), includes('-e')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
144
145
|
provider.create
|
145
146
|
end
|
146
147
|
|
@@ -149,8 +150,8 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
149
150
|
resource[:password_min_age] = 5
|
150
151
|
resource[:password_max_age] = 10
|
151
152
|
resource[:password_warn_days] = 15
|
152
|
-
|
153
|
-
|
153
|
+
provider.expects(:execute).with(includes('/usr/sbin/luseradd'), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
154
|
+
provider.expects(:execute).with(['/usr/sbin/lchage', '-m', 5, '-M', 10, '-W', 15, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
154
155
|
provider.create
|
155
156
|
end
|
156
157
|
end
|
@@ -158,11 +159,12 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
158
159
|
describe "on systems that allow to set shell" do
|
159
160
|
it "should trigger shell validation" do
|
160
161
|
resource[:shell] = '/bin/bash'
|
161
|
-
|
162
|
-
|
162
|
+
provider.expects(:check_valid_shell)
|
163
|
+
provider.expects(:execute).with(includes('-s'), kind_of(Hash))
|
163
164
|
provider.create
|
164
165
|
end
|
165
166
|
end
|
167
|
+
|
166
168
|
end
|
167
169
|
|
168
170
|
describe '#modify' do
|
@@ -173,34 +175,34 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
173
175
|
end
|
174
176
|
|
175
177
|
it "should use usermod" do
|
176
|
-
|
178
|
+
provider.expects(:execute).with(['/usr/sbin/usermod', '-u', 150, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
|
177
179
|
provider.uid = 150
|
178
180
|
end
|
179
181
|
|
180
182
|
it "should use -o when allowdupe=true" do
|
181
183
|
resource[:allowdupe] = :true
|
182
|
-
|
184
|
+
provider.expects(:execute).with(includes('-o'), has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
|
183
185
|
provider.uid = 505
|
184
186
|
end
|
185
187
|
|
186
188
|
it 'should use chage for password_min_age' do
|
187
|
-
|
189
|
+
provider.expects(:execute).with(['/usr/bin/chage', '-m', 100, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
|
188
190
|
provider.password_min_age = 100
|
189
191
|
end
|
190
192
|
|
191
193
|
it 'should use chage for password_max_age' do
|
192
|
-
|
194
|
+
provider.expects(:execute).with(['/usr/bin/chage', '-M', 101, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
|
193
195
|
provider.password_max_age = 101
|
194
196
|
end
|
195
197
|
|
196
198
|
it 'should use chage for password_warn_days' do
|
197
|
-
|
199
|
+
provider.expects(:execute).with(['/usr/bin/chage', '-W', 99, 'myuser'], has_entries({:failonfail => true, :combine => true, :custom_environment => {}}))
|
198
200
|
provider.password_warn_days = 99
|
199
201
|
end
|
200
202
|
|
201
203
|
it 'should not call check_allow_dup if not modifying the uid' do
|
202
|
-
|
203
|
-
|
204
|
+
provider.expects(:check_allow_dup).never
|
205
|
+
provider.expects(:execute)
|
204
206
|
provider.home = 'foo/bar'
|
205
207
|
end
|
206
208
|
end
|
@@ -212,34 +214,34 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
212
214
|
end
|
213
215
|
|
214
216
|
it "should use lusermod and not usermod" do
|
215
|
-
|
217
|
+
provider.expects(:execute).with(['/usr/sbin/lusermod', '-u', 150, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
216
218
|
provider.uid = 150
|
217
219
|
end
|
218
220
|
|
219
221
|
it "should NOT use -o when allowdupe=true" do
|
220
222
|
resource[:allowdupe] = :true
|
221
|
-
|
223
|
+
provider.expects(:execute).with(Not(includes('-o')), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
222
224
|
provider.uid = 505
|
223
225
|
end
|
224
226
|
|
225
227
|
it "should raise an exception for duplicate UIDs" do
|
226
228
|
resource[:uid] = 505
|
227
|
-
|
229
|
+
provider.stubs(:finduser).returns(true)
|
228
230
|
expect { provider.uid = 505 }.to raise_error(Puppet::Error, "UID 505 already exists, use allowdupe to force user creation")
|
229
231
|
end
|
230
232
|
|
231
233
|
it 'should use lchage for password_warn_days' do
|
232
|
-
|
234
|
+
provider.expects(:execute).with(['/usr/sbin/lchage', '-W', 99, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
233
235
|
provider.password_warn_days = 99
|
234
236
|
end
|
235
237
|
|
236
238
|
it 'should use lchage for password_min_age' do
|
237
|
-
|
239
|
+
provider.expects(:execute).with(['/usr/sbin/lchage', '-m', 100, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
238
240
|
provider.password_min_age = 100
|
239
241
|
end
|
240
242
|
|
241
243
|
it 'should use lchage for password_max_age' do
|
242
|
-
|
244
|
+
provider.expects(:execute).with(['/usr/sbin/lchage', '-M', 101, 'myuser'], has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
243
245
|
provider.password_max_age = 101
|
244
246
|
end
|
245
247
|
end
|
@@ -248,34 +250,35 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
248
250
|
describe "#uid=" do
|
249
251
|
it "should add -o when allowdupe is enabled and the uid is being modified" do
|
250
252
|
resource[:allowdupe] = :true
|
251
|
-
|
253
|
+
provider.expects(:execute).with(['/usr/sbin/usermod', '-u', 150, '-o', 'myuser'], has_entry(:custom_environment, {}))
|
252
254
|
provider.uid = 150
|
253
255
|
end
|
254
256
|
end
|
255
257
|
|
256
258
|
describe "#expiry=" do
|
257
259
|
it "should pass expiry to usermod as MM/DD/YY when on Solaris" do
|
258
|
-
|
260
|
+
Facter.expects(:value).with(:operatingsystem).returns 'Solaris'
|
259
261
|
resource[:expiry] = '2012-10-31'
|
260
|
-
|
262
|
+
provider.expects(:execute).with(['/usr/sbin/usermod', '-e', '10/31/2012', 'myuser'], has_entry(:custom_environment, {}))
|
261
263
|
provider.expiry = '2012-10-31'
|
262
264
|
end
|
263
265
|
|
264
266
|
it "should pass expiry to usermod as YYYY-MM-DD when not on Solaris" do
|
265
|
-
|
267
|
+
Facter.expects(:value).with(:operatingsystem).returns 'not_solaris'
|
266
268
|
resource[:expiry] = '2012-10-31'
|
267
|
-
|
269
|
+
provider.expects(:execute).with(['/usr/sbin/usermod', '-e', '2012-10-31', 'myuser'], has_entry(:custom_environment, {}))
|
268
270
|
provider.expiry = '2012-10-31'
|
269
271
|
end
|
270
272
|
|
271
273
|
it "should use -e with an empty string when the expiry property is removed" do
|
272
274
|
resource[:expiry] = :absent
|
273
|
-
|
275
|
+
provider.expects(:execute).with(['/usr/sbin/usermod', '-e', '', 'myuser'], has_entry(:custom_environment, {}))
|
274
276
|
provider.expiry = :absent
|
275
277
|
end
|
276
278
|
end
|
277
279
|
|
278
280
|
describe "#check_allow_dup" do
|
281
|
+
|
279
282
|
it "should return an array with a flag if dup is allowed" do
|
280
283
|
resource[:allowdupe] = :true
|
281
284
|
expect(provider.check_allow_dup).to eq(["-o"])
|
@@ -289,25 +292,25 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
289
292
|
|
290
293
|
describe "#check_system_users" do
|
291
294
|
it "should check system users" do
|
292
|
-
|
293
|
-
|
295
|
+
described_class.expects(:system_users?).returns true
|
296
|
+
resource.expects(:system?)
|
294
297
|
provider.check_system_users
|
295
298
|
end
|
296
299
|
|
297
300
|
it "should return an array with a flag if it's a system user" do
|
298
|
-
|
301
|
+
described_class.expects(:system_users?).returns true
|
299
302
|
resource[:system] = :true
|
300
303
|
expect(provider.check_system_users).to eq(["-r"])
|
301
304
|
end
|
302
305
|
|
303
306
|
it "should return an empty array if it's not a system user" do
|
304
|
-
|
307
|
+
described_class.expects(:system_users?).returns true
|
305
308
|
resource[:system] = :false
|
306
309
|
expect(provider.check_system_users).to eq([])
|
307
310
|
end
|
308
311
|
|
309
312
|
it "should return an empty array if system user is not featured" do
|
310
|
-
|
313
|
+
described_class.expects(:system_users?).returns false
|
311
314
|
resource[:system] = :true
|
312
315
|
expect(provider.check_system_users).to eq([])
|
313
316
|
end
|
@@ -316,29 +319,29 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
316
319
|
describe "#check_manage_home" do
|
317
320
|
it "should return an array with -m flag if home is managed" do
|
318
321
|
resource[:managehome] = :true
|
319
|
-
|
322
|
+
provider.expects(:execute).with(includes('-m'), has_entry(:custom_environment, {}))
|
320
323
|
provider.create
|
321
324
|
end
|
322
325
|
|
323
326
|
it "should return an array with -r flag if home is managed" do
|
324
327
|
resource[:managehome] = :true
|
325
328
|
resource[:ensure] = :absent
|
326
|
-
|
327
|
-
|
329
|
+
provider.stubs(:exists?).returns(true)
|
330
|
+
provider.expects(:execute).with(includes('-r'), has_entry(:custom_environment, {}))
|
328
331
|
provider.delete
|
329
332
|
end
|
330
333
|
|
331
334
|
it "should use -M flag if home is not managed and on Redhat" do
|
332
|
-
|
335
|
+
Facter.stubs(:value).with(:osfamily).returns("RedHat")
|
333
336
|
resource[:managehome] = :false
|
334
|
-
|
337
|
+
provider.expects(:execute).with(includes('-M'), kind_of(Hash))
|
335
338
|
provider.create
|
336
339
|
end
|
337
340
|
|
338
341
|
it "should not use -M flag if home is not managed and not on Redhat" do
|
339
|
-
|
342
|
+
Facter.stubs(:value).with(:osfamily).returns("not RedHat")
|
340
343
|
resource[:managehome] = :false
|
341
|
-
|
344
|
+
provider.expects(:execute).with(Not(includes('-M')), kind_of(Hash))
|
342
345
|
provider.create
|
343
346
|
end
|
344
347
|
end
|
@@ -352,22 +355,22 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
352
355
|
end
|
353
356
|
|
354
357
|
it "should call command with :add" do
|
355
|
-
|
358
|
+
provider.expects(:command).with(:add)
|
356
359
|
provider.addcmd
|
357
360
|
end
|
358
361
|
|
359
362
|
it "should add properties" do
|
360
|
-
|
363
|
+
provider.expects(:add_properties).returns(['-foo_add_properties'])
|
361
364
|
expect(provider.addcmd).to include '-foo_add_properties'
|
362
365
|
end
|
363
366
|
|
364
367
|
it "should check and add if dup allowed" do
|
365
|
-
|
368
|
+
provider.expects(:check_allow_dup).returns(['-allow_dup_flag'])
|
366
369
|
expect(provider.addcmd).to include '-allow_dup_flag'
|
367
370
|
end
|
368
371
|
|
369
372
|
it "should check and add if home is managed" do
|
370
|
-
|
373
|
+
provider.expects(:check_manage_home).returns(['-manage_home_flag'])
|
371
374
|
expect(provider.addcmd).to include '-manage_home_flag'
|
372
375
|
end
|
373
376
|
|
@@ -397,26 +400,26 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
397
400
|
end
|
398
401
|
|
399
402
|
it "should return an array with the full command and expiry as MM/DD/YY when on Solaris" do
|
400
|
-
|
401
|
-
|
403
|
+
Facter.stubs(:value).with(:operatingsystem).returns 'Solaris'
|
404
|
+
described_class.expects(:system_users?).returns true
|
402
405
|
resource[:expiry] = "2012-08-18"
|
403
406
|
expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', '08/18/2012', '-G', 'somegroup', '-o', '-m', '-r', 'myuser'])
|
404
407
|
end
|
405
408
|
|
406
409
|
it "should return an array with the full command and expiry as YYYY-MM-DD when not on Solaris" do
|
407
|
-
|
408
|
-
|
410
|
+
Facter.stubs(:value).with(:operatingsystem).returns 'not_solaris'
|
411
|
+
described_class.expects(:system_users?).returns true
|
409
412
|
resource[:expiry] = "2012-08-18"
|
410
413
|
expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', '2012-08-18', '-G', 'somegroup', '-o', '-m', '-r', 'myuser'])
|
411
414
|
end
|
412
415
|
|
413
416
|
it "should return an array without -e if expiry is undefined full command" do
|
414
|
-
|
417
|
+
described_class.expects(:system_users?).returns true
|
415
418
|
expect(provider.addcmd).to eq(["/usr/sbin/useradd", "-G", "somegroup", "-o", "-m", "-r", "myuser"])
|
416
419
|
end
|
417
420
|
|
418
421
|
it "should pass -e \"\" if the expiry has to be removed" do
|
419
|
-
|
422
|
+
described_class.expects(:system_users?).returns true
|
420
423
|
resource[:expiry] = :absent
|
421
424
|
|
422
425
|
expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', '', '-G', 'somegroup', '-o', '-m', '-r', 'myuser'])
|
@@ -468,18 +471,18 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
468
471
|
end
|
469
472
|
|
470
473
|
it "should return absent if libshadow feature is not present" do
|
471
|
-
|
474
|
+
Puppet.features.stubs(:libshadow?).returns false
|
472
475
|
# Shadow::Passwd.expects(:getspnam).never # if we really don't have libshadow we dont have Shadow::Passwd either
|
473
476
|
expect(provider.send(property)).to eq(:absent)
|
474
477
|
end
|
475
478
|
|
476
479
|
it "should return absent if user cannot be found", :if => Puppet.features.libshadow? do
|
477
|
-
|
480
|
+
Shadow::Passwd.expects(:getspnam).with('myuser').returns nil
|
478
481
|
expect(provider.send(property)).to eq(:absent)
|
479
482
|
end
|
480
483
|
|
481
484
|
it "should return the correct value if libshadow is present", :if => Puppet.features.libshadow? do
|
482
|
-
|
485
|
+
Shadow::Passwd.expects(:getspnam).with('myuser').returns shadow_entry
|
483
486
|
expect(provider.send(property)).to eq(expected_value)
|
484
487
|
end
|
485
488
|
|
@@ -492,7 +495,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
492
495
|
canonical_name = [253, 241].pack('C*').force_encoding(Encoding::EUC_KR)
|
493
496
|
provider = described_class.new(:name => '??', :canonical_name => canonical_name)
|
494
497
|
|
495
|
-
|
498
|
+
Shadow::Passwd.expects(:getspnam).with(canonical_name).returns shadow_entry
|
496
499
|
provider.password
|
497
500
|
end
|
498
501
|
end
|
@@ -504,23 +507,23 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
504
507
|
end
|
505
508
|
|
506
509
|
it "should return absent if libshadow feature is not present" do
|
507
|
-
|
510
|
+
Puppet.features.stubs(:libshadow?).returns false
|
508
511
|
expect(provider.expiry).to eq(:absent)
|
509
512
|
end
|
510
513
|
|
511
514
|
it "should return absent if user cannot be found", :if => Puppet.features.libshadow? do
|
512
|
-
|
515
|
+
Shadow::Passwd.expects(:getspnam).with('myuser').returns nil
|
513
516
|
expect(provider.expiry).to eq(:absent)
|
514
517
|
end
|
515
518
|
|
516
519
|
it "should return absent if expiry is -1", :if => Puppet.features.libshadow? do
|
517
520
|
shadow_entry.sp_expire = -1
|
518
|
-
|
521
|
+
Shadow::Passwd.expects(:getspnam).with('myuser').returns shadow_entry
|
519
522
|
expect(provider.expiry).to eq(:absent)
|
520
523
|
end
|
521
524
|
|
522
525
|
it "should convert to YYYY-MM-DD", :if => Puppet.features.libshadow? do
|
523
|
-
|
526
|
+
Shadow::Passwd.expects(:getspnam).with('myuser').returns shadow_entry
|
524
527
|
expect(provider.expiry).to eq('2013-01-01')
|
525
528
|
end
|
526
529
|
end
|
@@ -537,7 +540,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
537
540
|
# command(:password) is only called inside passcmd if
|
538
541
|
# password_min_age or password_max_age is set
|
539
542
|
resource[:password_min_age] = 123
|
540
|
-
|
543
|
+
provider.expects(:command).with(:password)
|
541
544
|
provider.passcmd
|
542
545
|
end
|
543
546
|
|
@@ -594,7 +597,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
594
597
|
end
|
595
598
|
|
596
599
|
it "should raise an error if the shell is not executable" do
|
597
|
-
|
600
|
+
FileTest.stubs(:executable?).with('LICENSE').returns false
|
598
601
|
resource[:shell] = 'LICENSE'
|
599
602
|
expect { provider.check_valid_shell }.to raise_error(Puppet::Error, /Shell LICENSE must be executable/)
|
600
603
|
end
|
@@ -602,30 +605,26 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
602
605
|
|
603
606
|
describe "#delete" do
|
604
607
|
before do
|
605
|
-
|
608
|
+
provider.stubs(:exists?).returns(true)
|
606
609
|
resource[:ensure] = :absent
|
607
610
|
end
|
608
|
-
|
609
611
|
describe "on systems with the libuser and forcelocal=false" do
|
610
612
|
before do
|
611
613
|
described_class.has_feature :libuser
|
612
614
|
resource[:forcelocal] = false
|
613
615
|
end
|
614
|
-
|
615
616
|
it "should use userdel to delete users" do
|
616
|
-
|
617
|
+
provider.expects(:execute).with(includes('/usr/sbin/userdel'), has_entry(:custom_environment, {}))
|
617
618
|
provider.delete
|
618
619
|
end
|
619
620
|
end
|
620
|
-
|
621
621
|
describe "on systems with the libuser and forcelocal=true" do
|
622
622
|
before do
|
623
623
|
described_class.has_feature :libuser
|
624
624
|
resource[:forcelocal] = true
|
625
625
|
end
|
626
|
-
|
627
626
|
it "should use luserdel to delete users" do
|
628
|
-
|
627
|
+
provider.expects(:execute).with(includes('/usr/sbin/luserdel'), has_entry(:custom_environment, has_key('LIBUSER_CONF')))
|
629
628
|
provider.delete
|
630
629
|
end
|
631
630
|
end
|