puppet 6.4.0-universal-darwin → 6.4.1-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +0 -1
- data/Gemfile.lock +7 -11
- data/lib/puppet/application/device.rb +97 -82
- data/lib/puppet/application/filebucket.rb +4 -0
- data/lib/puppet/application/ssl.rb +2 -2
- data/lib/puppet/configurer.rb +5 -4
- data/lib/puppet/defaults.rb +33 -11
- data/lib/puppet/indirector/request.rb +28 -15
- data/lib/puppet/ssl.rb +1 -1
- data/lib/puppet/ssl/certificate.rb +1 -1
- data/lib/puppet/ssl/error.rb +1 -1
- data/lib/puppet/ssl/host.rb +0 -47
- data/lib/puppet/ssl/ssl_provider.rb +2 -2
- data/lib/puppet/ssl/state_machine.rb +16 -17
- data/lib/puppet/ssl/validator/default_validator.rb +4 -4
- data/lib/puppet/ssl/verifier.rb +1 -1
- data/lib/puppet/transaction/event_manager.rb +1 -5
- data/lib/puppet/util/connection.rb +15 -8
- data/lib/puppet/util/monkey_patches.rb +20 -1
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +135 -68
- data/man/man5/puppet.conf.5 +9 -9
- 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 +1 -1
- 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/integration/agent/logging_spec.rb +5 -7
- data/spec/integration/application/apply_spec.rb +18 -16
- data/spec/integration/application/doc_spec.rb +1 -2
- data/spec/integration/application/lookup_spec.rb +5 -5
- data/spec/integration/configurer_spec.rb +5 -6
- data/spec/integration/defaults_spec.rb +5 -6
- data/spec/integration/directory_environments_spec.rb +1 -1
- data/spec/integration/faces/config_spec.rb +3 -4
- data/spec/integration/faces/documentation_spec.rb +0 -1
- data/spec/integration/faces/plugin_spec.rb +1 -1
- data/spec/integration/file_bucket/file_spec.rb +2 -4
- data/spec/integration/file_serving/content_spec.rb +0 -1
- data/spec/integration/file_serving/fileset_spec.rb +0 -1
- data/spec/integration/file_serving/metadata_spec.rb +0 -1
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
- data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +4 -5
- data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
- data/spec/integration/network/authconfig_spec.rb +23 -24
- data/spec/integration/network/formats_spec.rb +0 -1
- data/spec/integration/network/http_pool_spec.rb +3 -3
- data/spec/integration/node/environment_spec.rb +0 -1
- data/spec/integration/node/facts_spec.rb +9 -10
- data/spec/integration/node_spec.rb +6 -7
- data/spec/integration/parser/catalog_spec.rb +1 -5
- data/spec/integration/parser/collection_spec.rb +1 -2
- 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 +4 -5
- data/spec/integration/provider/service/systemd_spec.rb +0 -2
- data/spec/integration/provider/service/windows_spec.rb +1 -2
- data/spec/integration/reference/providers_spec.rb +1 -2
- data/spec/integration/reports_spec.rb +1 -2
- data/spec/integration/resource/catalog_spec.rb +14 -17
- data/spec/integration/resource/type_collection_spec.rb +4 -5
- data/spec/integration/rest/client_spec.rb +1 -1
- data/spec/integration/ssl/certificate_request_spec.rb +0 -1
- data/spec/integration/ssl/host_spec.rb +1 -2
- data/spec/integration/ssl/key_spec.rb +0 -1
- data/spec/integration/test/test_helper_spec.rb +0 -1
- data/spec/integration/transaction/report_spec.rb +6 -11
- data/spec/integration/transaction_spec.rb +18 -19
- data/spec/integration/type/exec_spec.rb +0 -1
- data/spec/integration/type/file_spec.rb +13 -14
- data/spec/integration/type/package_spec.rb +19 -23
- data/spec/integration/type/tidy_spec.rb +1 -2
- data/spec/integration/type_spec.rb +0 -1
- data/spec/integration/util/autoload_spec.rb +1 -2
- data/spec/integration/util/rdoc/parser_spec.rb +0 -1
- data/spec/integration/util/settings_spec.rb +0 -1
- data/spec/integration/util/windows/adsi_spec.rb +3 -5
- data/spec/integration/util/windows/principal_spec.rb +0 -1
- data/spec/integration/util/windows/process_spec.rb +4 -6
- data/spec/integration/util/windows/registry_spec.rb +41 -51
- data/spec/integration/util/windows/security_spec.rb +2 -4
- data/spec/integration/util/windows/user_spec.rb +18 -20
- data/spec/integration/util_spec.rb +4 -7
- data/spec/lib/puppet_spec/compiler.rb +1 -1
- data/spec/lib/puppet_spec/files.rb +0 -1
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +1 -2
- data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
- data/spec/shared_behaviours/file_server_terminus.rb +8 -9
- data/spec/shared_behaviours/file_serving.rb +6 -8
- data/spec/shared_behaviours/file_serving_model.rb +3 -5
- data/spec/shared_behaviours/hiera_indirections.rb +3 -4
- data/spec/shared_behaviours/iterative_functions.rb +0 -1
- data/spec/shared_behaviours/memory_terminus.rb +2 -2
- data/spec/shared_examples/rhel_package_provider.rb +112 -70
- data/spec/spec_helper.rb +10 -1
- data/spec/unit/agent/disabler_spec.rb +4 -5
- data/spec/unit/agent/locker_spec.rb +12 -13
- data/spec/unit/agent_spec.rb +80 -85
- data/spec/unit/application/agent_spec.rb +88 -94
- data/spec/unit/application/apply_spec.rb +82 -83
- data/spec/unit/application/config_spec.rb +0 -1
- data/spec/unit/application/describe_spec.rb +6 -7
- data/spec/unit/application/device_spec.rb +379 -384
- data/spec/unit/application/doc_spec.rb +44 -46
- data/spec/unit/application/face_base_spec.rb +61 -62
- data/spec/unit/application/facts_spec.rb +3 -4
- data/spec/unit/application/filebucket_spec.rb +66 -74
- data/spec/unit/application/indirection_base_spec.rb +8 -6
- data/spec/unit/application/lookup_spec.rb +26 -26
- data/spec/unit/application/resource_spec.rb +42 -48
- data/spec/unit/application/ssl_spec.rb +9 -9
- data/spec/unit/application_spec.rb +82 -92
- data/spec/unit/capability_spec.rb +6 -6
- data/spec/unit/certificate_factory_spec.rb +3 -5
- data/spec/unit/configurer/downloader_spec.rb +20 -21
- data/spec/unit/configurer/fact_handler_spec.rb +2 -3
- data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
- data/spec/unit/configurer_spec.rb +189 -192
- data/spec/unit/confine/exists_spec.rb +17 -15
- data/spec/unit/confine/false_spec.rb +5 -6
- data/spec/unit/confine/feature_spec.rb +7 -5
- data/spec/unit/confine/true_spec.rb +5 -6
- data/spec/unit/confine/variable_spec.rb +14 -15
- data/spec/unit/confine_collection_spec.rb +28 -29
- data/spec/unit/confine_spec.rb +13 -14
- data/spec/unit/confiner_spec.rb +10 -11
- data/spec/unit/context/trusted_information_spec.rb +1 -1
- data/spec/unit/daemon_spec.rb +35 -36
- data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
- data/spec/unit/datatypes_spec.rb +3 -4
- data/spec/unit/defaults_spec.rb +18 -13
- data/spec/unit/environments_spec.rb +7 -7
- data/spec/unit/etc_spec.rb +30 -32
- data/spec/unit/external/pson_spec.rb +0 -1
- data/spec/unit/face/catalog_spec.rb +0 -1
- data/spec/unit/face/config_spec.rb +31 -35
- data/spec/unit/face/epp_face_spec.rb +3 -4
- data/spec/unit/face/facts_spec.rb +5 -6
- data/spec/unit/face/generate_spec.rb +4 -5
- data/spec/unit/face/help_spec.rb +7 -8
- data/spec/unit/face/key_spec.rb +0 -1
- data/spec/unit/face/man_spec.rb +1 -2
- data/spec/unit/face/module/install_spec.rb +3 -5
- data/spec/unit/face/module/list_spec.rb +2 -12
- data/spec/unit/face/module/search_spec.rb +11 -9
- data/spec/unit/face/module/uninstall_spec.rb +4 -8
- data/spec/unit/face/node_spec.rb +23 -24
- data/spec/unit/face/parser_spec.rb +3 -3
- data/spec/unit/face/plugin_spec.rb +36 -9
- data/spec/unit/face/status_spec.rb +0 -1
- data/spec/unit/file_bucket/dipper_spec.rb +24 -20
- data/spec/unit/file_bucket/file_spec.rb +0 -2
- data/spec/unit/file_serving/base_spec.rb +14 -15
- data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
- data/spec/unit/file_serving/configuration_spec.rb +63 -66
- data/spec/unit/file_serving/content_spec.rb +10 -11
- data/spec/unit/file_serving/fileset_spec.rb +63 -58
- data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
- data/spec/unit/file_serving/metadata_spec.rb +36 -36
- data/spec/unit/file_serving/mount/file_spec.rb +31 -32
- data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
- data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
- data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
- data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
- data/spec/unit/file_serving/mount_spec.rb +0 -1
- data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
- data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
- data/spec/unit/file_system/uniquefile_spec.rb +4 -4
- data/spec/unit/file_system_spec.rb +4 -4
- data/spec/unit/forge/errors_spec.rb +1 -1
- data/spec/unit/forge/forge_spec.rb +13 -14
- data/spec/unit/forge/module_release_spec.rb +18 -18
- data/spec/unit/forge/repository_spec.rb +29 -30
- data/spec/unit/forge_spec.rb +15 -11
- data/spec/unit/functions/binary_file_spec.rb +3 -3
- data/spec/unit/functions/contain_spec.rb +0 -2
- data/spec/unit/functions/defined_spec.rb +0 -1
- 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 +0 -4
- data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
- data/spec/unit/functions/lookup_spec.rb +1 -2
- data/spec/unit/functions/module_directory_spec.rb +12 -12
- data/spec/unit/functions/require_spec.rb +0 -3
- data/spec/unit/functions/shared.rb +5 -8
- data/spec/unit/functions/versioncmp_spec.rb +1 -2
- data/spec/unit/functions4_spec.rb +9 -10
- 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 +0 -2
- data/spec/unit/graph/relationship_graph_spec.rb +1 -2
- data/spec/unit/graph/simple_graph_spec.rb +9 -10
- data/spec/unit/hiera_puppet_spec.rb +20 -20
- data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
- data/spec/unit/indirector/catalog/json_spec.rb +1 -2
- data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
- data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
- data/spec/unit/indirector/certificate/file_spec.rb +0 -1
- data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
- data/spec/unit/indirector/direct_file_server_spec.rb +17 -18
- data/spec/unit/indirector/envelope_spec.rb +1 -2
- data/spec/unit/indirector/exec_spec.rb +4 -5
- data/spec/unit/indirector/face_spec.rb +9 -9
- data/spec/unit/indirector/facts/facter_spec.rb +37 -43
- data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
- data/spec/unit/indirector/facts/rest_spec.rb +7 -8
- data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/facts/yaml_spec.rb +0 -1
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
- data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_content/file_spec.rb +0 -1
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_server_spec.rb +87 -87
- data/spec/unit/indirector/indirection_spec.rb +242 -226
- data/spec/unit/indirector/json_spec.rb +7 -9
- data/spec/unit/indirector/key/file_spec.rb +21 -22
- data/spec/unit/indirector/memory_spec.rb +6 -7
- data/spec/unit/indirector/msgpack_spec.rb +7 -9
- data/spec/unit/indirector/node/exec_spec.rb +2 -3
- data/spec/unit/indirector/node/memory_spec.rb +2 -4
- data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/node/plain_spec.rb +2 -4
- data/spec/unit/indirector/node/rest_spec.rb +0 -1
- data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/node/yaml_spec.rb +0 -1
- data/spec/unit/indirector/none_spec.rb +5 -5
- data/spec/unit/indirector/plain_spec.rb +7 -8
- data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/report/processor_spec.rb +21 -22
- data/spec/unit/indirector/report/rest_spec.rb +11 -12
- data/spec/unit/indirector/report/yaml_spec.rb +0 -1
- data/spec/unit/indirector/request_spec.rb +11 -12
- data/spec/unit/indirector/resource/ral_spec.rb +47 -54
- data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/rest_spec.rb +113 -110
- data/spec/unit/indirector/ssl_file_spec.rb +64 -65
- data/spec/unit/indirector/status/local_spec.rb +0 -1
- data/spec/unit/indirector/status/rest_spec.rb +0 -1
- data/spec/unit/indirector/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/terminus_spec.rb +27 -27
- data/spec/unit/indirector/yaml_spec.rb +5 -6
- data/spec/unit/indirector_spec.rb +1 -2
- data/spec/unit/info_service_spec.rb +1 -1
- data/spec/unit/interface/action_builder_spec.rb +0 -1
- data/spec/unit/interface/action_manager_spec.rb +0 -1
- data/spec/unit/interface/action_spec.rb +2 -3
- data/spec/unit/interface/documentation_spec.rb +0 -1
- data/spec/unit/interface/face_collection_spec.rb +19 -12
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/man_spec.rb +3 -4
- data/spec/unit/module_spec.rb +46 -51
- data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
- data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
- 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 +12 -13
- data/spec/unit/module_tool_spec.rb +7 -12
- data/spec/unit/network/auth_config_parser_spec.rb +11 -13
- data/spec/unit/network/authconfig_spec.rb +17 -18
- data/spec/unit/network/authorization_spec.rb +4 -5
- data/spec/unit/network/authstore_spec.rb +0 -1
- data/spec/unit/network/format_handler_spec.rb +0 -1
- data/spec/unit/network/format_spec.rb +9 -10
- data/spec/unit/network/format_support_spec.rb +28 -29
- data/spec/unit/network/formats_spec.rb +4 -5
- data/spec/unit/network/http/api/indirected_routes_spec.rb +24 -29
- 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 +6 -7
- data/spec/unit/network/http/api_spec.rb +0 -2
- data/spec/unit/network/http/compression_spec.rb +21 -22
- data/spec/unit/network/http/connection_spec.rb +35 -35
- data/spec/unit/network/http/factory_spec.rb +5 -6
- data/spec/unit/network/http/handler_spec.rb +9 -18
- data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
- data/spec/unit/network/http/pool_spec.rb +33 -34
- data/spec/unit/network/http/request_spec.rb +0 -2
- data/spec/unit/network/http/response_spec.rb +11 -13
- data/spec/unit/network/http/route_spec.rb +0 -1
- data/spec/unit/network/http/session_spec.rb +2 -3
- data/spec/unit/network/http/site_spec.rb +0 -1
- data/spec/unit/network/http_pool_spec.rb +19 -10
- data/spec/unit/network/http_spec.rb +0 -1
- data/spec/unit/network/resolver_spec.rb +25 -26
- data/spec/unit/network/rights_spec.rb +52 -53
- data/spec/unit/node/environment_spec.rb +14 -15
- data/spec/unit/node/facts_spec.rb +5 -7
- data/spec/unit/node_spec.rb +4 -10
- data/spec/unit/other/selinux_spec.rb +0 -1
- data/spec/unit/parameter/boolean_spec.rb +1 -2
- data/spec/unit/parameter/package_options_spec.rb +1 -2
- data/spec/unit/parameter/path_spec.rb +0 -1
- data/spec/unit/parameter/value_collection_spec.rb +0 -1
- data/spec/unit/parameter/value_spec.rb +0 -1
- data/spec/unit/parameter_spec.rb +9 -9
- data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
- data/spec/unit/parser/ast/leaf_spec.rb +20 -21
- data/spec/unit/parser/compiler_spec.rb +84 -96
- data/spec/unit/parser/environment_compiler_spec.rb +7 -8
- data/spec/unit/parser/files_spec.rb +0 -1
- data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
- data/spec/unit/parser/functions/digest_spec.rb +0 -1
- data/spec/unit/parser/functions/fail_spec.rb +1 -2
- data/spec/unit/parser/functions/file_spec.rb +13 -14
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
- data/spec/unit/parser/functions/generate_spec.rb +7 -8
- data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
- data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
- data/spec/unit/parser/functions/scanf_spec.rb +0 -1
- data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
- data/spec/unit/parser/functions/split_spec.rb +0 -1
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
- data/spec/unit/parser/functions/tag_spec.rb +1 -2
- data/spec/unit/parser/functions/tagged_spec.rb +2 -3
- data/spec/unit/parser/functions/template_spec.rb +13 -13
- data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
- data/spec/unit/parser/functions_spec.rb +6 -7
- data/spec/unit/parser/relationship_spec.rb +0 -1
- data/spec/unit/parser/resource_spec.rb +42 -42
- data/spec/unit/parser/scope_spec.rb +39 -35
- data/spec/unit/parser/templatewrapper_spec.rb +11 -12
- data/spec/unit/parser/type_loader_spec.rb +17 -19
- data/spec/unit/pops/adaptable_spec.rb +0 -1
- data/spec/unit/pops/benchmark_spec.rb +0 -1
- data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +10 -11
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
- data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
- data/spec/unit/pops/factory_spec.rb +3 -4
- data/spec/unit/pops/issues_spec.rb +19 -20
- data/spec/unit/pops/loaders/loader_spec.rb +9 -5
- data/spec/unit/pops/loaders/loaders_spec.rb +31 -28
- data/spec/unit/pops/lookup/context_spec.rb +0 -1
- data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
- data/spec/unit/pops/merge_strategy_spec.rb +0 -1
- data/spec/unit/pops/migration_spec.rb +3 -5
- data/spec/unit/pops/model/model_spec.rb +0 -1
- data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
- data/spec/unit/pops/parser/locator_spec.rb +3 -6
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
- data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
- data/spec/unit/pops/pn_spec.rb +0 -1
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
- 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/type_asserter_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +30 -30
- data/spec/unit/pops/types/type_parser_spec.rb +13 -13
- data/spec/unit/pops/validator/validator_spec.rb +1 -2
- data/spec/unit/pops/visitor_spec.rb +0 -1
- data/spec/unit/property/boolean_spec.rb +1 -1
- data/spec/unit/property/ensure_spec.rb +0 -1
- data/spec/unit/property/keyvalue_spec.rb +32 -34
- data/spec/unit/property/list_spec.rb +26 -27
- data/spec/unit/property/ordered_list_spec.rb +10 -14
- data/spec/unit/property_spec.rb +42 -43
- data/spec/unit/provider/aix_object_spec.rb +47 -45
- data/spec/unit/provider/command_spec.rb +9 -9
- data/spec/unit/provider/exec/posix_spec.rb +8 -9
- data/spec/unit/provider/exec/shell_spec.rb +0 -1
- data/spec/unit/provider/exec/windows_spec.rb +2 -4
- data/spec/unit/provider/exec_spec.rb +0 -1
- data/spec/unit/provider/file/posix_spec.rb +22 -24
- data/spec/unit/provider/file/windows_spec.rb +15 -17
- data/spec/unit/provider/group/aix_spec.rb +3 -2
- data/spec/unit/provider/group/groupadd_spec.rb +30 -26
- 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 +54 -54
- data/spec/unit/provider/ldap_spec.rb +61 -62
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
- data/spec/unit/provider/nameservice_spec.rb +38 -40
- 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 +44 -27
- data/spec/unit/provider/package/aptitude_spec.rb +6 -7
- data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
- data/spec/unit/provider/package/base_spec.rb +4 -4
- data/spec/unit/provider/package/dnf_spec.rb +18 -20
- data/spec/unit/provider/package/dpkg_spec.rb +52 -52
- data/spec/unit/provider/package/freebsd_spec.rb +11 -11
- data/spec/unit/provider/package/gem_spec.rb +51 -43
- data/spec/unit/provider/package/hpux_spec.rb +8 -8
- data/spec/unit/provider/package/macports_spec.rb +46 -42
- data/spec/unit/provider/package/nim_spec.rb +30 -39
- data/spec/unit/provider/package/openbsd_spec.rb +36 -39
- data/spec/unit/provider/package/opkg_spec.rb +23 -26
- data/spec/unit/provider/package/pacman_spec.rb +97 -118
- data/spec/unit/provider/package/pip_spec.rb +71 -72
- data/spec/unit/provider/package/pkg_spec.rb +113 -114
- data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
- data/spec/unit/provider/package/pkgin_spec.rb +10 -8
- data/spec/unit/provider/package/pkgng_spec.rb +21 -22
- data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
- data/spec/unit/provider/package/portage_spec.rb +71 -75
- data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
- data/spec/unit/provider/package/rpm_spec.rb +53 -64
- data/spec/unit/provider/package/sun_spec.rb +16 -18
- data/spec/unit/provider/package/tdnf_spec.rb +2 -2
- data/spec/unit/provider/package/up2date_spec.rb +2 -4
- data/spec/unit/provider/package/urpmi_spec.rb +15 -17
- data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
- data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
- data/spec/unit/provider/package/windows/package_spec.rb +37 -42
- data/spec/unit/provider/package/windows_spec.rb +36 -32
- 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 +44 -45
- data/spec/unit/provider/service/base_spec.rb +4 -5
- data/spec/unit/provider/service/bsd_spec.rb +27 -29
- 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 +50 -55
- data/spec/unit/provider/service/init_spec.rb +53 -52
- data/spec/unit/provider/service/launchd_spec.rb +138 -116
- data/spec/unit/provider/service/openbsd_spec.rb +50 -50
- data/spec/unit/provider/service/openrc_spec.rb +43 -45
- data/spec/unit/provider/service/openwrt_spec.rb +26 -31
- data/spec/unit/provider/service/rcng_spec.rb +14 -14
- data/spec/unit/provider/service/redhat_spec.rb +45 -43
- data/spec/unit/provider/service/runit_spec.rb +29 -27
- data/spec/unit/provider/service/smf_spec.rb +74 -66
- data/spec/unit/provider/service/src_spec.rb +46 -47
- data/spec/unit/provider/service/systemd_spec.rb +113 -122
- data/spec/unit/provider/service/upstart_spec.rb +74 -71
- data/spec/unit/provider/service/windows_spec.rb +33 -41
- data/spec/unit/provider/user/aix_spec.rb +31 -31
- data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
- 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 +10 -12
- data/spec/unit/provider/user/pw_spec.rb +37 -35
- data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
- data/spec/unit/provider/user/useradd_spec.rb +93 -92
- data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
- data/spec/unit/provider_spec.rb +35 -35
- data/spec/unit/puppet_pal_2pec.rb +4 -5
- data/spec/unit/puppet_pal_spec.rb +0 -1
- data/spec/unit/puppet_spec.rb +6 -7
- data/spec/unit/relationship_spec.rb +0 -1
- data/spec/unit/reports/http_spec.rb +22 -24
- data/spec/unit/reports/store_spec.rb +3 -4
- data/spec/unit/reports_spec.rb +12 -14
- data/spec/unit/resource/capability_finder_spec.rb +15 -17
- data/spec/unit/resource/catalog_spec.rb +72 -68
- data/spec/unit/resource/status_spec.rb +6 -8
- data/spec/unit/resource/type_collection_spec.rb +17 -18
- data/spec/unit/resource/type_spec.rb +34 -35
- data/spec/unit/resource_spec.rb +36 -32
- data/spec/unit/rest/client_spec.rb +56 -25
- data/spec/unit/rest/route_spec.rb +5 -5
- data/spec/unit/scheduler/job_spec.rb +0 -1
- data/spec/unit/scheduler/scheduler_spec.rb +0 -1
- data/spec/unit/scheduler/splay_job_spec.rb +1 -2
- 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 +0 -1
- data/spec/unit/settings/directory_setting_spec.rb +2 -7
- data/spec/unit/settings/duration_setting_spec.rb +1 -2
- data/spec/unit/settings/enum_setting_spec.rb +1 -1
- data/spec/unit/settings/environment_conf_spec.rb +4 -6
- data/spec/unit/settings/file_setting_spec.rb +44 -46
- data/spec/unit/settings/path_setting_spec.rb +1 -2
- data/spec/unit/settings/priority_setting_spec.rb +1 -2
- data/spec/unit/settings/string_setting_spec.rb +14 -15
- data/spec/unit/settings/terminus_setting_spec.rb +1 -2
- data/spec/unit/settings/value_translator_spec.rb +0 -1
- data/spec/unit/settings_spec.rb +228 -235
- data/spec/unit/ssl/base_spec.rb +14 -15
- data/spec/unit/ssl/certificate_request_spec.rb +62 -58
- data/spec/unit/ssl/certificate_spec.rb +23 -25
- data/spec/unit/ssl/digest_spec.rb +0 -1
- data/spec/unit/ssl/host_spec.rb +147 -130
- data/spec/unit/ssl/key_spec.rb +30 -31
- data/spec/unit/ssl/ssl_provider_spec.rb +24 -24
- data/spec/unit/ssl/state_machine_spec.rb +50 -58
- data/spec/unit/ssl/validator_spec.rb +43 -54
- data/spec/unit/ssl/verifier_spec.rb +10 -10
- data/spec/unit/task_spec.rb +44 -45
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
- data/spec/unit/transaction/event_manager_spec.rb +87 -88
- data/spec/unit/transaction/event_spec.rb +16 -15
- data/spec/unit/transaction/persistence_spec.rb +16 -17
- data/spec/unit/transaction/report_spec.rb +11 -12
- data/spec/unit/transaction/resource_harness_spec.rb +28 -33
- data/spec/unit/transaction_spec.rb +100 -101
- data/spec/unit/type/component_spec.rb +0 -1
- data/spec/unit/type/exec_spec.rb +60 -56
- data/spec/unit/type/file/checksum_spec.rb +9 -10
- data/spec/unit/type/file/checksum_value_spec.rb +31 -32
- data/spec/unit/type/file/content_spec.rb +58 -61
- data/spec/unit/type/file/ctime_spec.rb +0 -1
- data/spec/unit/type/file/ensure_spec.rb +12 -13
- data/spec/unit/type/file/group_spec.rb +5 -7
- data/spec/unit/type/file/mode_spec.rb +4 -6
- data/spec/unit/type/file/mtime_spec.rb +0 -1
- data/spec/unit/type/file/owner_spec.rb +6 -8
- data/spec/unit/type/file/selinux_spec.rb +17 -19
- data/spec/unit/type/file/source_spec.rb +104 -101
- data/spec/unit/type/file/type_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +195 -185
- data/spec/unit/type/filebucket_spec.rb +4 -5
- data/spec/unit/type/group_spec.rb +6 -8
- data/spec/unit/type/noop_metaparam_spec.rb +1 -2
- data/spec/unit/type/package/package_settings_spec.rb +44 -23
- data/spec/unit/type/package_spec.rb +56 -57
- data/spec/unit/type/resources_spec.rb +72 -74
- data/spec/unit/type/schedule_spec.rb +24 -26
- data/spec/unit/type/service_spec.rb +49 -49
- data/spec/unit/type/stage_spec.rb +0 -1
- data/spec/unit/type/tidy_spec.rb +61 -62
- data/spec/unit/type/user_spec.rb +24 -25
- data/spec/unit/type/whit_spec.rb +0 -1
- data/spec/unit/type_spec.rb +55 -54
- data/spec/unit/util/at_fork_spec.rb +18 -19
- data/spec/unit/util/autoload_spec.rb +55 -56
- data/spec/unit/util/backups_spec.rb +34 -35
- data/spec/unit/util/character_encoding_spec.rb +5 -5
- data/spec/unit/util/checksums_spec.rb +38 -39
- data/spec/unit/util/colors_spec.rb +1 -2
- data/spec/unit/util/command_line_spec.rb +24 -25
- data/spec/unit/util/constant_inflector_spec.rb +0 -1
- data/spec/unit/util/diff_spec.rb +7 -8
- data/spec/unit/util/errors_spec.rb +0 -1
- data/spec/unit/util/execution_spec.rb +185 -161
- data/spec/unit/util/execution_stub_spec.rb +0 -1
- data/spec/unit/util/feature_spec.rb +23 -14
- 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 +26 -31
- data/spec/unit/util/json_lockfile_spec.rb +3 -5
- data/spec/unit/util/ldap/connection_spec.rb +26 -25
- data/spec/unit/util/ldap/generator_spec.rb +0 -1
- data/spec/unit/util/ldap/manager_spec.rb +102 -101
- data/spec/unit/util/lockfile_spec.rb +0 -1
- data/spec/unit/util/log/destinations_spec.rb +30 -33
- data/spec/unit/util/log_spec.rb +35 -36
- data/spec/unit/util/logging_spec.rb +58 -72
- data/spec/unit/util/metric_spec.rb +0 -1
- data/spec/unit/util/monkey_patches_spec.rb +7 -9
- data/spec/unit/util/multi_match_spec.rb +0 -1
- data/spec/unit/util/network_device/config_spec.rb +0 -1
- data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
- data/spec/unit/util/network_device_spec.rb +7 -9
- data/spec/unit/util/package_spec.rb +0 -1
- data/spec/unit/util/pidlock_spec.rb +21 -22
- data/spec/unit/util/plist_spec.rb +40 -33
- data/spec/unit/util/posix_spec.rb +54 -51
- data/spec/unit/util/rdoc_spec.rb +9 -10
- data/spec/unit/util/reference_spec.rb +0 -1
- data/spec/unit/util/resource_template_spec.rb +20 -20
- data/spec/unit/util/retry_action_spec.rb +7 -8
- data/spec/unit/util/rubygems_spec.rb +7 -8
- data/spec/unit/util/run_mode_spec.rb +3 -4
- data/spec/unit/util/selinux_spec.rb +79 -72
- data/spec/unit/util/splayer_spec.rb +8 -9
- data/spec/unit/util/ssl_spec.rb +0 -1
- data/spec/unit/util/storage_spec.rb +3 -4
- data/spec/unit/util/suidmanager_spec.rb +45 -54
- data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
- data/spec/unit/util/tag_set_spec.rb +0 -1
- data/spec/unit/util/tagging_spec.rb +0 -1
- data/spec/unit/util/terminal_spec.rb +9 -10
- data/spec/unit/util/user_attr_spec.rb +1 -2
- data/spec/unit/util/warnings_spec.rb +3 -4
- data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
- data/spec/unit/util/watcher_spec.rb +51 -21
- data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
- data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
- data/spec/unit/util/windows/adsi_spec.rb +136 -138
- data/spec/unit/util/windows/api_types_spec.rb +0 -1
- data/spec/unit/util/windows/eventlog_spec.rb +9 -12
- data/spec/unit/util/windows/file_spec.rb +0 -1
- data/spec/unit/util/windows/root_certs_spec.rb +1 -2
- data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
- data/spec/unit/util/windows/service_spec.rb +66 -68
- data/spec/unit/util/windows/sid_spec.rb +11 -13
- data/spec/unit/util/windows/string_spec.rb +0 -1
- data/spec/unit/util_spec.rb +55 -57
- data/spec/unit/version_spec.rb +6 -6
- data/spec/unit/x509/cert_provider_spec.rb +14 -14
- data/spec/unit/x509/pem_store_spec.rb +5 -5
- metadata +2 -2
@@ -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
|
-
resource.
|
12
|
-
resource.
|
13
|
-
resource.
|
11
|
+
allow(resource).to receive(:should).and_return("fakeval")
|
12
|
+
allow(resource).to receive(:should).with(:keys).and_return(Hash.new)
|
13
|
+
allow(resource).to receive(:[]).and_return("fakeval")
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
16
|
describe "#command" do
|
18
17
|
before do
|
19
|
-
klass =
|
20
|
-
klass
|
21
|
-
klass.
|
22
|
-
|
18
|
+
klass = double("provider")
|
19
|
+
allow(klass).to receive(:superclass)
|
20
|
+
allow(klass).to receive(:command).with(:foo).and_return("userfoo")
|
21
|
+
allow(klass).to receive(:command).with(:role_foo).and_return("rolefoo")
|
22
|
+
allow(provider).to receive(:class).and_return(klass)
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should use the command if not a role and ensure!=role" do
|
26
|
-
provider.
|
27
|
-
provider.
|
28
|
-
resource.
|
29
|
-
provider.class.
|
26
|
+
allow(provider).to receive(:is_role?).and_return(false)
|
27
|
+
allow(provider).to receive(:exists?).and_return(false)
|
28
|
+
allow(resource).to receive(:[]).with(:ensure).and_return(:present)
|
29
|
+
allow(provider.class).to receive(: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
|
-
provider.
|
34
|
+
allow(provider).to receive(:is_role?).and_return(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
|
-
provider.
|
40
|
-
provider.
|
41
|
-
resource.
|
39
|
+
allow(provider).to receive(:is_role?).and_return(false)
|
40
|
+
allow(provider).to receive(:exists?).and_return(false)
|
41
|
+
allow(resource).to receive(:[]).with(:ensure).and_return(: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
|
-
provider.
|
48
|
+
expect(provider).to receive(:command).with(:modify).and_return("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
|
-
provider.
|
55
|
+
allow(provider).to receive(:password=)
|
56
56
|
end
|
57
57
|
|
58
58
|
it "should use the add command when the user is not a role" do
|
59
|
-
provider.
|
60
|
-
provider.
|
61
|
-
provider.
|
59
|
+
allow(provider).to receive(:is_role?).and_return(false)
|
60
|
+
expect(provider).to receive(:addcmd).and_return("useradd")
|
61
|
+
expect(provider).to receive(: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
|
-
provider.
|
67
|
-
provider.
|
68
|
-
provider.
|
66
|
+
allow(provider).to receive(:is_role?).and_return(true)
|
67
|
+
expect(provider).to receive(:transition).with("normal")
|
68
|
+
expect(provider).to receive(: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
|
-
provider.
|
76
|
-
provider.
|
77
|
-
provider.
|
75
|
+
allow(provider).to receive(:user_attributes)
|
76
|
+
allow(provider).to receive(:execute)
|
77
|
+
expect(provider).to receive(:execute).with([anything, "-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
|
-
provider.
|
85
|
-
provider.
|
86
|
-
provider.
|
87
|
-
provider.
|
84
|
+
allow(provider).to receive(:exists?).and_return(true)
|
85
|
+
allow(provider).to receive(:is_role?).and_return(false)
|
86
|
+
expect(provider).to receive(:deletecmd)
|
87
|
+
expect(provider).to receive(: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
|
-
provider.
|
93
|
-
provider.
|
94
|
-
provider.
|
95
|
-
provider.
|
92
|
+
allow(provider).to receive(:exists?).and_return(true)
|
93
|
+
allow(provider).to receive(:is_role?).and_return(true)
|
94
|
+
expect(provider).to receive(:deletecmd)
|
95
|
+
expect(provider).to receive(: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
|
-
provider.
|
103
|
-
provider.
|
104
|
-
provider.
|
105
|
-
provider.
|
102
|
+
allow(provider).to receive(:exists?).and_return(true)
|
103
|
+
allow(provider).to receive(:is_role?).and_return(false)
|
104
|
+
expect(provider).to receive(:transition).with("role")
|
105
|
+
expect(provider).to receive(: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
|
-
provider.
|
111
|
-
provider.
|
112
|
-
provider.
|
110
|
+
allow(provider).to receive(:exists?).and_return(false)
|
111
|
+
expect(provider).to receive(:addcmd)
|
112
|
+
expect(provider).to receive(: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
|
-
resource.
|
120
|
-
provider.
|
121
|
-
provider.
|
122
|
-
resource.
|
123
|
-
provider.
|
119
|
+
allow(resource).to receive(:allowdupe?).and_return(true)
|
120
|
+
allow(provider).to receive(:is_role?).and_return(false)
|
121
|
+
allow(provider).to receive(:execute)
|
122
|
+
allow(resource).to receive(:system?).and_return(false)
|
123
|
+
expect(provider).to receive(:execute).with(include("-o"), any_args)
|
124
124
|
end
|
125
125
|
|
126
126
|
it "should add -o when the user is being created" do
|
127
|
-
provider.
|
127
|
+
allow(provider).to receive(: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
|
-
provider.
|
140
|
+
expect(provider).to receive(:user_attributes)
|
141
141
|
provider.send(val)
|
142
142
|
end
|
143
143
|
|
144
144
|
it "should get the #{val} attribute" do
|
145
|
-
attributes =
|
146
|
-
attributes.
|
147
|
-
provider.
|
145
|
+
attributes = double("attributes")
|
146
|
+
expect(attributes).to receive(:[]).with(val)
|
147
|
+
allow(provider).to receive(:user_attributes).and_return(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
|
-
provider.
|
156
|
+
expect(provider).to receive(:user_attributes)
|
157
157
|
provider.keys
|
158
158
|
end
|
159
159
|
|
160
160
|
it "should call removed_managed_attributes" do
|
161
|
-
provider.
|
162
|
-
provider.
|
161
|
+
allow(provider).to receive(:user_attributes).and_return({ :type => "normal", :foo => "something" })
|
162
|
+
expect(provider).to receive(: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
|
-
provider.
|
167
|
+
allow(provider).to receive(:user_attributes).and_return({ :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
|
-
resource.
|
175
|
-
resource.
|
176
|
-
provider.
|
174
|
+
allow(resource).to receive(:should).and_return("")
|
175
|
+
expect(resource).to receive(:should).with(:keys).and_return({ :foo => "bar" })
|
176
|
+
expect(provider).to receive(:build_keys_cmd).and_return([])
|
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
|
-
resource.
|
182
|
-
resource.
|
181
|
+
allow(resource).to receive(:should).and_return("")
|
182
|
+
expect(resource).to receive(:should).with(:keys).and_return({ :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
|
-
provider.
|
195
|
+
allow(provider).to receive(:is_role?).and_return(false)
|
196
196
|
end
|
197
197
|
|
198
198
|
it "should run a command" do
|
199
|
-
provider.
|
199
|
+
expect(provider).to receive(:run)
|
200
200
|
provider.keys=({})
|
201
201
|
end
|
202
202
|
|
203
203
|
it "should build the command" do
|
204
|
-
resource.
|
205
|
-
provider.
|
206
|
-
provider.
|
207
|
-
provider.
|
204
|
+
allow(resource).to receive(:[]).with(:name).and_return("someuser")
|
205
|
+
allow(provider).to receive(:command).and_return("usermod")
|
206
|
+
expect(provider).to receive(:build_keys_cmd).and_return(["-K", "foo=bar"])
|
207
|
+
expect(provider).to receive(: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 = double("array")
|
215
215
|
end
|
216
216
|
|
217
217
|
it "should readlines of /etc/shadow" do
|
218
|
-
File.
|
218
|
+
expect(File).to receive(:readlines).with("/etc/shadow").and_return([])
|
219
219
|
provider.password
|
220
220
|
end
|
221
221
|
|
222
222
|
it "should reject anything that doesn't start with alpha numerics" do
|
223
|
-
@array.
|
224
|
-
File.
|
223
|
+
expect(@array).to receive(:reject).and_return([])
|
224
|
+
allow(File).to receive(:readlines).with("/etc/shadow").and_return(@array)
|
225
225
|
provider.password
|
226
226
|
end
|
227
227
|
|
228
228
|
it "should collect splitting on ':'" do
|
229
|
-
@array.
|
230
|
-
@array.
|
231
|
-
File.
|
229
|
+
allow(@array).to receive(:reject).and_return(@array)
|
230
|
+
expect(@array).to receive(:collect).and_return([])
|
231
|
+
allow(File).to receive(:readlines).with("/etc/shadow").and_return(@array)
|
232
232
|
provider.password
|
233
233
|
end
|
234
234
|
|
235
235
|
it "should find the matching user" do
|
236
|
-
resource.
|
237
|
-
@array.
|
238
|
-
@array.
|
239
|
-
File.
|
236
|
+
allow(resource).to receive(:[]).with(:name).and_return("username")
|
237
|
+
allow(@array).to receive(:reject).and_return(@array)
|
238
|
+
allow(@array).to receive(:collect).and_return([["username", "hashedpassword"], ["someoneelse", "theirpassword"]])
|
239
|
+
allow(File).to receive(:readlines).with("/etc/shadow").and_return(@array)
|
240
240
|
expect(provider.password).to eq("hashedpassword")
|
241
241
|
end
|
242
242
|
|
243
243
|
it "should get the right password" do
|
244
|
-
resource.
|
245
|
-
File.
|
244
|
+
allow(resource).to receive(:[]).with(:name).and_return("username")
|
245
|
+
allow(File).to receive(:readlines).with("/etc/shadow").and_return(["#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
|
-
provider.
|
254
|
+
allow(provider).to receive(:target_file_path).and_return(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
|
-
Date.
|
270
|
+
expect(Date).to receive(:today).and_return(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
|
-
Date.
|
300
|
+
expect(Date).to receive(:today).and_return(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
|
-
File.
|
319
|
+
allow(File).to receive(:readlines).and_return(["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
|
-
File.
|
326
|
+
allow(File).to receive(:readlines).and_return(["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
|
-
File.
|
331
|
+
allow(File).to receive(:readlines).and_return(["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
|
-
File.
|
336
|
+
allow(File).to receive(:readlines).and_return(["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
|
-
File.
|
343
|
+
allow(File).to receive(:readlines).and_return(["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
|
-
File.
|
348
|
+
allow(File).to receive(:readlines).and_return(["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
|
-
File.
|
353
|
+
allow(File).to receive(:readlines).and_return(["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
|
-
File.
|
360
|
+
allow(File).to receive(:readlines).and_return(["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
|
-
File.
|
365
|
+
allow(File).to receive(:readlines).and_return(["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
|
-
File.
|
370
|
+
allow(File).to receive(:readlines).and_return(["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
|
2
1
|
require 'spec_helper'
|
3
2
|
|
4
|
-
|
3
|
+
RSpec::Matchers.define_negated_matcher :excluding, :include
|
5
4
|
|
5
|
+
describe Puppet::Type.type(:user).provider(:useradd) do
|
6
6
|
before :each do
|
7
|
-
described_class.
|
8
|
-
described_class.
|
9
|
-
described_class.
|
10
|
-
described_class.
|
11
|
-
described_class.
|
12
|
-
described_class.
|
13
|
-
described_class.
|
14
|
-
described_class.
|
7
|
+
allow(described_class).to receive(:command).with(:password).and_return('/usr/bin/chage')
|
8
|
+
allow(described_class).to receive(:command).with(:localpassword).and_return('/usr/sbin/lchage')
|
9
|
+
allow(described_class).to receive(:command).with(:add).and_return('/usr/sbin/useradd')
|
10
|
+
allow(described_class).to receive(:command).with(:localadd).and_return('/usr/sbin/luseradd')
|
11
|
+
allow(described_class).to receive(:command).with(:modify).and_return('/usr/sbin/usermod')
|
12
|
+
allow(described_class).to receive(:command).with(:localmodify).and_return('/usr/sbin/lusermod')
|
13
|
+
allow(described_class).to receive(:command).with(:delete).and_return('/usr/sbin/userdel')
|
14
|
+
allow(described_class).to receive(:command).with(:localdelete).and_return('/usr/sbin/luserdel')
|
15
15
|
end
|
16
16
|
|
17
17
|
let(:resource) do
|
@@ -25,7 +25,6 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
25
25
|
|
26
26
|
let(:provider) { described_class.new(:name => 'myuser') }
|
27
27
|
|
28
|
-
|
29
28
|
let(:shadow_entry) {
|
30
29
|
return unless Puppet.features.libshadow?
|
31
30
|
entry = Struct::PasswdEntry.new
|
@@ -41,37 +40,36 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
41
40
|
}
|
42
41
|
|
43
42
|
describe "#create" do
|
44
|
-
|
45
43
|
before do
|
46
|
-
provider.
|
44
|
+
allow(provider).to receive(:exists?).and_return(false)
|
47
45
|
end
|
48
46
|
|
49
47
|
it "should add -g when no gid is specified and group already exists" do
|
50
|
-
Puppet::Util.
|
48
|
+
allow(Puppet::Util).to receive(:gid).and_return(true)
|
51
49
|
resource[:ensure] = :present
|
52
|
-
provider.
|
50
|
+
expect(provider).to receive(:execute).with(include('-g'), kind_of(Hash))
|
53
51
|
provider.create
|
54
52
|
end
|
55
53
|
|
56
54
|
it "should use -G to set groups" do
|
57
|
-
Facter.
|
55
|
+
allow(Facter).to receive(:value).with(:osfamily).and_return('Not RedHat')
|
58
56
|
resource[:ensure] = :present
|
59
57
|
resource[:groups] = ['group1', 'group2']
|
60
|
-
provider.
|
58
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/useradd', '-G', 'group1,group2', 'myuser'], kind_of(Hash))
|
61
59
|
provider.create
|
62
60
|
end
|
63
61
|
|
64
62
|
it "should use -G to set groups without -M on RedHat" do
|
65
|
-
Facter.
|
63
|
+
allow(Facter).to receive(:value).with(:osfamily).and_return('RedHat')
|
66
64
|
resource[:ensure] = :present
|
67
65
|
resource[:groups] = ['group1', 'group2']
|
68
|
-
provider.
|
66
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/useradd', '-G', 'group1,group2', '-M', 'myuser'], kind_of(Hash))
|
69
67
|
provider.create
|
70
68
|
end
|
71
69
|
|
72
70
|
it "should add -o when allowdupe is enabled and the user is being created" do
|
73
71
|
resource[:allowdupe] = true
|
74
|
-
provider.
|
72
|
+
expect(provider).to receive(:execute).with(include('-o'), kind_of(Hash))
|
75
73
|
provider.create
|
76
74
|
end
|
77
75
|
|
@@ -79,7 +77,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
79
77
|
it "should add -r when system is enabled" do
|
80
78
|
resource[:system] = :true
|
81
79
|
expect(provider).to be_system_users
|
82
|
-
provider.
|
80
|
+
expect(provider).to receive(:execute).with(include('-r'), kind_of(Hash))
|
83
81
|
provider.create
|
84
82
|
end
|
85
83
|
end
|
@@ -88,7 +86,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
88
86
|
it "should not add -r when system is enabled" do
|
89
87
|
resource[:system] = :true
|
90
88
|
expect(provider).not_to be_system_users
|
91
|
-
provider.
|
89
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/useradd', 'myuser'], kind_of(Hash))
|
92
90
|
provider.create
|
93
91
|
end
|
94
92
|
end
|
@@ -98,8 +96,8 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
98
96
|
resource[:password_min_age] = 5
|
99
97
|
resource[:password_max_age] = 10
|
100
98
|
resource[:password_warn_days] = 15
|
101
|
-
provider.
|
102
|
-
provider.
|
99
|
+
expect(provider).to receive(:execute).with(include('/usr/sbin/useradd'), kind_of(Hash))
|
100
|
+
expect(provider).to receive(:execute).with(['/usr/bin/chage', '-m', 5, '-M', 10, '-W', 15, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
|
103
101
|
provider.create
|
104
102
|
end
|
105
103
|
|
@@ -108,40 +106,41 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
108
106
|
described_class.has_feature :libuser
|
109
107
|
resource[:forcelocal] = true
|
110
108
|
end
|
109
|
+
|
111
110
|
it "should use luseradd instead of useradd" do
|
112
|
-
provider.
|
111
|
+
expect(provider).to receive(:execute).with(include('/usr/sbin/luseradd'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
113
112
|
provider.create
|
114
113
|
end
|
115
114
|
|
116
115
|
it "should NOT use -o when allowdupe=true" do
|
117
116
|
resource[:allowdupe] = :true
|
118
|
-
provider.
|
117
|
+
expect(provider).to receive(:execute).with(excluding('-o'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
119
118
|
provider.create
|
120
119
|
end
|
121
120
|
|
122
121
|
it "should raise an exception for duplicate UIDs" do
|
123
122
|
resource[:uid] = 505
|
124
|
-
provider.
|
123
|
+
allow(provider).to receive(:finduser).and_return(true)
|
125
124
|
expect { provider.create }.to raise_error(Puppet::Error, "UID 505 already exists, use allowdupe to force user creation")
|
126
125
|
end
|
127
126
|
|
128
127
|
it "should not use -G for luseradd and should call usermod with -G after luseradd when groups property is set" do
|
129
128
|
resource[:groups] = ['group1', 'group2']
|
130
|
-
provider.
|
131
|
-
provider.
|
129
|
+
expect(provider).to receive(:execute).with(include('/usr/sbin/luseradd').and(excluding('-G')), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
130
|
+
expect(provider).to receive(:execute).with(include('/usr/sbin/usermod').and(include('-G')), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
132
131
|
provider.create
|
133
132
|
end
|
134
133
|
|
135
134
|
it "should not use -m when managehome set" do
|
136
135
|
resource[:managehome] = :true
|
137
|
-
provider.
|
136
|
+
expect(provider).to receive(:execute).with(excluding('-m'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
138
137
|
provider.create
|
139
138
|
end
|
140
139
|
|
141
140
|
it "should not use -e with luseradd, should call usermod with -e after luseradd when expiry is set" do
|
142
141
|
resource[:expiry] = '2038-01-24'
|
143
|
-
provider.
|
144
|
-
provider.
|
142
|
+
expect(provider).to receive(:execute).with(include('/usr/sbin/luseradd').and(excluding('-e')), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
143
|
+
expect(provider).to receive(:execute).with(include('/usr/sbin/usermod').and(include('-e')), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
145
144
|
provider.create
|
146
145
|
end
|
147
146
|
|
@@ -150,8 +149,8 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
150
149
|
resource[:password_min_age] = 5
|
151
150
|
resource[:password_max_age] = 10
|
152
151
|
resource[:password_warn_days] = 15
|
153
|
-
provider.
|
154
|
-
provider.
|
152
|
+
expect(provider).to receive(:execute).with(include('/usr/sbin/luseradd'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
153
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/lchage', '-m', 5, '-M', 10, '-W', 15, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
155
154
|
provider.create
|
156
155
|
end
|
157
156
|
end
|
@@ -159,12 +158,11 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
159
158
|
describe "on systems that allow to set shell" do
|
160
159
|
it "should trigger shell validation" do
|
161
160
|
resource[:shell] = '/bin/bash'
|
162
|
-
provider.
|
163
|
-
provider.
|
161
|
+
expect(provider).to receive(:check_valid_shell)
|
162
|
+
expect(provider).to receive(:execute).with(include('-s'), kind_of(Hash))
|
164
163
|
provider.create
|
165
164
|
end
|
166
165
|
end
|
167
|
-
|
168
166
|
end
|
169
167
|
|
170
168
|
describe '#modify' do
|
@@ -175,34 +173,34 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
175
173
|
end
|
176
174
|
|
177
175
|
it "should use usermod" do
|
178
|
-
provider.
|
176
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-u', 150, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
|
179
177
|
provider.uid = 150
|
180
178
|
end
|
181
179
|
|
182
180
|
it "should use -o when allowdupe=true" do
|
183
181
|
resource[:allowdupe] = :true
|
184
|
-
provider.
|
182
|
+
expect(provider).to receive(:execute).with(include('-o'), hash_including(failonfail: true, combine: true, custom_environment: {}))
|
185
183
|
provider.uid = 505
|
186
184
|
end
|
187
185
|
|
188
186
|
it 'should use chage for password_min_age' do
|
189
|
-
provider.
|
187
|
+
expect(provider).to receive(:execute).with(['/usr/bin/chage', '-m', 100, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
|
190
188
|
provider.password_min_age = 100
|
191
189
|
end
|
192
190
|
|
193
191
|
it 'should use chage for password_max_age' do
|
194
|
-
provider.
|
192
|
+
expect(provider).to receive(:execute).with(['/usr/bin/chage', '-M', 101, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
|
195
193
|
provider.password_max_age = 101
|
196
194
|
end
|
197
195
|
|
198
196
|
it 'should use chage for password_warn_days' do
|
199
|
-
provider.
|
197
|
+
expect(provider).to receive(:execute).with(['/usr/bin/chage', '-W', 99, 'myuser'], hash_including(failonfail: true, combine: true, custom_environment: {}))
|
200
198
|
provider.password_warn_days = 99
|
201
199
|
end
|
202
200
|
|
203
201
|
it 'should not call check_allow_dup if not modifying the uid' do
|
204
|
-
provider.
|
205
|
-
provider.
|
202
|
+
expect(provider).not_to receive(:check_allow_dup)
|
203
|
+
expect(provider).to receive(:execute)
|
206
204
|
provider.home = 'foo/bar'
|
207
205
|
end
|
208
206
|
end
|
@@ -214,34 +212,34 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
214
212
|
end
|
215
213
|
|
216
214
|
it "should use lusermod and not usermod" do
|
217
|
-
provider.
|
215
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/lusermod', '-u', 150, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
218
216
|
provider.uid = 150
|
219
217
|
end
|
220
218
|
|
221
219
|
it "should NOT use -o when allowdupe=true" do
|
222
220
|
resource[:allowdupe] = :true
|
223
|
-
provider.
|
221
|
+
expect(provider).to receive(:execute).with(excluding('-o'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
224
222
|
provider.uid = 505
|
225
223
|
end
|
226
224
|
|
227
225
|
it "should raise an exception for duplicate UIDs" do
|
228
226
|
resource[:uid] = 505
|
229
|
-
provider.
|
227
|
+
allow(provider).to receive(:finduser).and_return(true)
|
230
228
|
expect { provider.uid = 505 }.to raise_error(Puppet::Error, "UID 505 already exists, use allowdupe to force user creation")
|
231
229
|
end
|
232
230
|
|
233
231
|
it 'should use lchage for password_warn_days' do
|
234
|
-
provider.
|
232
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/lchage', '-W', 99, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
235
233
|
provider.password_warn_days = 99
|
236
234
|
end
|
237
235
|
|
238
236
|
it 'should use lchage for password_min_age' do
|
239
|
-
provider.
|
237
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/lchage', '-m', 100, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
240
238
|
provider.password_min_age = 100
|
241
239
|
end
|
242
240
|
|
243
241
|
it 'should use lchage for password_max_age' do
|
244
|
-
provider.
|
242
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/lchage', '-M', 101, 'myuser'], hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
245
243
|
provider.password_max_age = 101
|
246
244
|
end
|
247
245
|
end
|
@@ -250,35 +248,34 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
250
248
|
describe "#uid=" do
|
251
249
|
it "should add -o when allowdupe is enabled and the uid is being modified" do
|
252
250
|
resource[:allowdupe] = :true
|
253
|
-
provider.
|
251
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-u', 150, '-o', 'myuser'], hash_including(custom_environment: {}))
|
254
252
|
provider.uid = 150
|
255
253
|
end
|
256
254
|
end
|
257
255
|
|
258
256
|
describe "#expiry=" do
|
259
257
|
it "should pass expiry to usermod as MM/DD/YY when on Solaris" do
|
260
|
-
Facter.
|
258
|
+
expect(Facter).to receive(:value).with(:operatingsystem).and_return('Solaris')
|
261
259
|
resource[:expiry] = '2012-10-31'
|
262
|
-
provider.
|
260
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-e', '10/31/2012', 'myuser'], hash_including(custom_environment: {}))
|
263
261
|
provider.expiry = '2012-10-31'
|
264
262
|
end
|
265
263
|
|
266
264
|
it "should pass expiry to usermod as YYYY-MM-DD when not on Solaris" do
|
267
|
-
Facter.
|
265
|
+
expect(Facter).to receive(:value).with(:operatingsystem).and_return('not_solaris')
|
268
266
|
resource[:expiry] = '2012-10-31'
|
269
|
-
provider.
|
267
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-e', '2012-10-31', 'myuser'], hash_including(custom_environment: {}))
|
270
268
|
provider.expiry = '2012-10-31'
|
271
269
|
end
|
272
270
|
|
273
271
|
it "should use -e with an empty string when the expiry property is removed" do
|
274
272
|
resource[:expiry] = :absent
|
275
|
-
provider.
|
273
|
+
expect(provider).to receive(:execute).with(['/usr/sbin/usermod', '-e', '', 'myuser'], hash_including(custom_environment: {}))
|
276
274
|
provider.expiry = :absent
|
277
275
|
end
|
278
276
|
end
|
279
277
|
|
280
278
|
describe "#check_allow_dup" do
|
281
|
-
|
282
279
|
it "should return an array with a flag if dup is allowed" do
|
283
280
|
resource[:allowdupe] = :true
|
284
281
|
expect(provider.check_allow_dup).to eq(["-o"])
|
@@ -292,25 +289,25 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
292
289
|
|
293
290
|
describe "#check_system_users" do
|
294
291
|
it "should check system users" do
|
295
|
-
described_class.
|
296
|
-
resource.
|
292
|
+
expect(described_class).to receive(:system_users?).and_return(true)
|
293
|
+
expect(resource).to receive(:system?)
|
297
294
|
provider.check_system_users
|
298
295
|
end
|
299
296
|
|
300
297
|
it "should return an array with a flag if it's a system user" do
|
301
|
-
described_class.
|
298
|
+
expect(described_class).to receive(:system_users?).and_return(true)
|
302
299
|
resource[:system] = :true
|
303
300
|
expect(provider.check_system_users).to eq(["-r"])
|
304
301
|
end
|
305
302
|
|
306
303
|
it "should return an empty array if it's not a system user" do
|
307
|
-
described_class.
|
304
|
+
expect(described_class).to receive(:system_users?).and_return(true)
|
308
305
|
resource[:system] = :false
|
309
306
|
expect(provider.check_system_users).to eq([])
|
310
307
|
end
|
311
308
|
|
312
309
|
it "should return an empty array if system user is not featured" do
|
313
|
-
described_class.
|
310
|
+
expect(described_class).to receive(:system_users?).and_return(false)
|
314
311
|
resource[:system] = :true
|
315
312
|
expect(provider.check_system_users).to eq([])
|
316
313
|
end
|
@@ -319,29 +316,29 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
319
316
|
describe "#check_manage_home" do
|
320
317
|
it "should return an array with -m flag if home is managed" do
|
321
318
|
resource[:managehome] = :true
|
322
|
-
provider.
|
319
|
+
expect(provider).to receive(:execute).with(include('-m'), hash_including(custom_environment: {}))
|
323
320
|
provider.create
|
324
321
|
end
|
325
322
|
|
326
323
|
it "should return an array with -r flag if home is managed" do
|
327
324
|
resource[:managehome] = :true
|
328
325
|
resource[:ensure] = :absent
|
329
|
-
provider.
|
330
|
-
provider.
|
326
|
+
allow(provider).to receive(:exists?).and_return(true)
|
327
|
+
expect(provider).to receive(:execute).with(include('-r'), hash_including(custom_environment: {}))
|
331
328
|
provider.delete
|
332
329
|
end
|
333
330
|
|
334
331
|
it "should use -M flag if home is not managed and on Redhat" do
|
335
|
-
Facter.
|
332
|
+
allow(Facter).to receive(:value).with(:osfamily).and_return("RedHat")
|
336
333
|
resource[:managehome] = :false
|
337
|
-
provider.
|
334
|
+
expect(provider).to receive(:execute).with(include('-M'), kind_of(Hash))
|
338
335
|
provider.create
|
339
336
|
end
|
340
337
|
|
341
338
|
it "should not use -M flag if home is not managed and not on Redhat" do
|
342
|
-
Facter.
|
339
|
+
allow(Facter).to receive(:value).with(:osfamily).and_return("not RedHat")
|
343
340
|
resource[:managehome] = :false
|
344
|
-
provider.
|
341
|
+
expect(provider).to receive(:execute).with(excluding('-M'), kind_of(Hash))
|
345
342
|
provider.create
|
346
343
|
end
|
347
344
|
end
|
@@ -355,22 +352,22 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
355
352
|
end
|
356
353
|
|
357
354
|
it "should call command with :add" do
|
358
|
-
provider.
|
355
|
+
expect(provider).to receive(:command).with(:add)
|
359
356
|
provider.addcmd
|
360
357
|
end
|
361
358
|
|
362
359
|
it "should add properties" do
|
363
|
-
provider.
|
360
|
+
expect(provider).to receive(:add_properties).and_return(['-foo_add_properties'])
|
364
361
|
expect(provider.addcmd).to include '-foo_add_properties'
|
365
362
|
end
|
366
363
|
|
367
364
|
it "should check and add if dup allowed" do
|
368
|
-
provider.
|
365
|
+
expect(provider).to receive(:check_allow_dup).and_return(['-allow_dup_flag'])
|
369
366
|
expect(provider.addcmd).to include '-allow_dup_flag'
|
370
367
|
end
|
371
368
|
|
372
369
|
it "should check and add if home is managed" do
|
373
|
-
provider.
|
370
|
+
expect(provider).to receive(:check_manage_home).and_return(['-manage_home_flag'])
|
374
371
|
expect(provider.addcmd).to include '-manage_home_flag'
|
375
372
|
end
|
376
373
|
|
@@ -400,26 +397,26 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
400
397
|
end
|
401
398
|
|
402
399
|
it "should return an array with the full command and expiry as MM/DD/YY when on Solaris" do
|
403
|
-
Facter.
|
404
|
-
described_class.
|
400
|
+
allow(Facter).to receive(:value).with(:operatingsystem).and_return('Solaris')
|
401
|
+
expect(described_class).to receive(:system_users?).and_return(true)
|
405
402
|
resource[:expiry] = "2012-08-18"
|
406
403
|
expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', '08/18/2012', '-G', 'somegroup', '-o', '-m', '-r', 'myuser'])
|
407
404
|
end
|
408
405
|
|
409
406
|
it "should return an array with the full command and expiry as YYYY-MM-DD when not on Solaris" do
|
410
|
-
Facter.
|
411
|
-
described_class.
|
407
|
+
allow(Facter).to receive(:value).with(:operatingsystem).and_return('not_solaris')
|
408
|
+
expect(described_class).to receive(:system_users?).and_return(true)
|
412
409
|
resource[:expiry] = "2012-08-18"
|
413
410
|
expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', '2012-08-18', '-G', 'somegroup', '-o', '-m', '-r', 'myuser'])
|
414
411
|
end
|
415
412
|
|
416
413
|
it "should return an array without -e if expiry is undefined full command" do
|
417
|
-
described_class.
|
414
|
+
expect(described_class).to receive(:system_users?).and_return(true)
|
418
415
|
expect(provider.addcmd).to eq(["/usr/sbin/useradd", "-G", "somegroup", "-o", "-m", "-r", "myuser"])
|
419
416
|
end
|
420
417
|
|
421
418
|
it "should pass -e \"\" if the expiry has to be removed" do
|
422
|
-
described_class.
|
419
|
+
expect(described_class).to receive(:system_users?).and_return(true)
|
423
420
|
resource[:expiry] = :absent
|
424
421
|
|
425
422
|
expect(provider.addcmd).to eq(['/usr/sbin/useradd', '-e', '', '-G', 'somegroup', '-o', '-m', '-r', 'myuser'])
|
@@ -471,18 +468,18 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
471
468
|
end
|
472
469
|
|
473
470
|
it "should return absent if libshadow feature is not present" do
|
474
|
-
Puppet.features.
|
471
|
+
allow(Puppet.features).to receive(:libshadow?).and_return(false)
|
475
472
|
# Shadow::Passwd.expects(:getspnam).never # if we really don't have libshadow we dont have Shadow::Passwd either
|
476
473
|
expect(provider.send(property)).to eq(:absent)
|
477
474
|
end
|
478
475
|
|
479
476
|
it "should return absent if user cannot be found", :if => Puppet.features.libshadow? do
|
480
|
-
Shadow::Passwd.
|
477
|
+
expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(nil)
|
481
478
|
expect(provider.send(property)).to eq(:absent)
|
482
479
|
end
|
483
480
|
|
484
481
|
it "should return the correct value if libshadow is present", :if => Puppet.features.libshadow? do
|
485
|
-
Shadow::Passwd.
|
482
|
+
expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(shadow_entry)
|
486
483
|
expect(provider.send(property)).to eq(expected_value)
|
487
484
|
end
|
488
485
|
|
@@ -495,7 +492,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
495
492
|
canonical_name = [253, 241].pack('C*').force_encoding(Encoding::EUC_KR)
|
496
493
|
provider = described_class.new(:name => '??', :canonical_name => canonical_name)
|
497
494
|
|
498
|
-
Shadow::Passwd.
|
495
|
+
expect(Shadow::Passwd).to receive(:getspnam).with(canonical_name).and_return(shadow_entry)
|
499
496
|
provider.password
|
500
497
|
end
|
501
498
|
end
|
@@ -507,23 +504,23 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
507
504
|
end
|
508
505
|
|
509
506
|
it "should return absent if libshadow feature is not present" do
|
510
|
-
Puppet.features.
|
507
|
+
allow(Puppet.features).to receive(:libshadow?).and_return(false)
|
511
508
|
expect(provider.expiry).to eq(:absent)
|
512
509
|
end
|
513
510
|
|
514
511
|
it "should return absent if user cannot be found", :if => Puppet.features.libshadow? do
|
515
|
-
Shadow::Passwd.
|
512
|
+
expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(nil)
|
516
513
|
expect(provider.expiry).to eq(:absent)
|
517
514
|
end
|
518
515
|
|
519
516
|
it "should return absent if expiry is -1", :if => Puppet.features.libshadow? do
|
520
517
|
shadow_entry.sp_expire = -1
|
521
|
-
Shadow::Passwd.
|
518
|
+
expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(shadow_entry)
|
522
519
|
expect(provider.expiry).to eq(:absent)
|
523
520
|
end
|
524
521
|
|
525
522
|
it "should convert to YYYY-MM-DD", :if => Puppet.features.libshadow? do
|
526
|
-
Shadow::Passwd.
|
523
|
+
expect(Shadow::Passwd).to receive(:getspnam).with('myuser').and_return(shadow_entry)
|
527
524
|
expect(provider.expiry).to eq('2013-01-01')
|
528
525
|
end
|
529
526
|
end
|
@@ -540,7 +537,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
540
537
|
# command(:password) is only called inside passcmd if
|
541
538
|
# password_min_age or password_max_age is set
|
542
539
|
resource[:password_min_age] = 123
|
543
|
-
provider.
|
540
|
+
expect(provider).to receive(:command).with(:password)
|
544
541
|
provider.passcmd
|
545
542
|
end
|
546
543
|
|
@@ -597,7 +594,7 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
597
594
|
end
|
598
595
|
|
599
596
|
it "should raise an error if the shell is not executable" do
|
600
|
-
FileTest.
|
597
|
+
allow(FileTest).to receive(:executable?).with('LICENSE').and_return(false)
|
601
598
|
resource[:shell] = 'LICENSE'
|
602
599
|
expect { provider.check_valid_shell }.to raise_error(Puppet::Error, /Shell LICENSE must be executable/)
|
603
600
|
end
|
@@ -605,26 +602,30 @@ describe Puppet::Type.type(:user).provider(:useradd) do
|
|
605
602
|
|
606
603
|
describe "#delete" do
|
607
604
|
before do
|
608
|
-
provider.
|
605
|
+
allow(provider).to receive(:exists?).and_return(true)
|
609
606
|
resource[:ensure] = :absent
|
610
607
|
end
|
608
|
+
|
611
609
|
describe "on systems with the libuser and forcelocal=false" do
|
612
610
|
before do
|
613
611
|
described_class.has_feature :libuser
|
614
612
|
resource[:forcelocal] = false
|
615
613
|
end
|
614
|
+
|
616
615
|
it "should use userdel to delete users" do
|
617
|
-
provider.
|
616
|
+
expect(provider).to receive(:execute).with(include('/usr/sbin/userdel'), hash_including(custom_environment: {}))
|
618
617
|
provider.delete
|
619
618
|
end
|
620
619
|
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
|
+
|
626
627
|
it "should use luserdel to delete users" do
|
627
|
-
provider.
|
628
|
+
expect(provider).to receive(:execute).with(include('/usr/sbin/luserdel'), hash_including(custom_environment: hash_including('LIBUSER_CONF')))
|
628
629
|
provider.delete
|
629
630
|
end
|
630
631
|
end
|