puppet 6.0.7-x64-mingw32 → 6.0.8-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +0 -1
- data/Gemfile.lock +4 -8
- data/lib/puppet/application/device.rb +99 -83
- data/lib/puppet/application/filebucket.rb +4 -0
- data/lib/puppet/configurer.rb +5 -4
- data/lib/puppet/defaults.rb +31 -11
- data/lib/puppet/indirector/request.rb +26 -15
- data/lib/puppet/network/http/connection.rb +15 -7
- data/lib/puppet/transaction/event_manager.rb +1 -5
- data/lib/puppet/type/file/source.rb +0 -1
- data/lib/puppet/util/connection.rb +15 -6
- data/lib/puppet/util/http_proxy.rb +3 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +99 -40
- data/man/man5/puppet.conf.5 +8 -8
- 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/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/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 -93
- 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 +395 -419
- 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 +3 -3
- 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 +2 -2
- 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 +46 -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 +41 -36
- 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 +28 -29
- 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 +1 -2
- data/spec/unit/network/http/site_spec.rb +0 -1
- data/spec/unit/network/http_pool_spec.rb +18 -9
- 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 +8 -4
- 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 +6 -7
- 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 +109 -109
- 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 +17 -18
- data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
- data/spec/unit/provider/package/portage_spec.rb +70 -74
- 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 +104 -113
- 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 +21 -23
- 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 +58 -27
- 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 +166 -149
- data/spec/unit/ssl/key_spec.rb +30 -31
- data/spec/unit/ssl/validator_spec.rb +38 -39
- 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 +48 -48
- 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 +21 -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 +0 -1
- 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
- metadata +2 -2
@@ -16,11 +16,11 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
16
16
|
|
17
17
|
describe '.pgrp_to_gid' do
|
18
18
|
it "finds the primary group's gid" do
|
19
|
-
provider.
|
19
|
+
allow(provider).to receive(:ia_module_args).and_return(['-R', 'module'])
|
20
20
|
|
21
|
-
group_provider_class.
|
21
|
+
expect(group_provider_class).to receive(:list_all)
|
22
22
|
.with(provider.ia_module_args)
|
23
|
-
.
|
23
|
+
.and_return([{ :name => 'group', :id => 1}])
|
24
24
|
|
25
25
|
expect(provider_class.pgrp_to_gid(provider, 'group')).to eql(1)
|
26
26
|
end
|
@@ -28,11 +28,11 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
28
28
|
|
29
29
|
describe '.gid_to_pgrp' do
|
30
30
|
it "finds the gid's primary group" do
|
31
|
-
provider.
|
31
|
+
allow(provider).to receive(:ia_module_args).and_return(['-R', 'module'])
|
32
32
|
|
33
|
-
group_provider_class.
|
33
|
+
expect(group_provider_class).to receive(:list_all)
|
34
34
|
.with(provider.ia_module_args)
|
35
|
-
.
|
35
|
+
.and_return([{ :name => 'group', :id => 1}])
|
36
36
|
|
37
37
|
expect(provider_class.gid_to_pgrp(provider, 1)).to eql('group')
|
38
38
|
end
|
@@ -73,7 +73,7 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
73
73
|
describe '.groups_attribute_to_property' do
|
74
74
|
it "reads the user's groups from the etc/groups file" do
|
75
75
|
groups = ['system', 'adm']
|
76
|
-
Puppet::Util::POSIX.
|
76
|
+
allow(Puppet::Util::POSIX).to receive(:groups_of).with(resource[:name]).and_return(groups)
|
77
77
|
|
78
78
|
actual_groups = provider_class.groups_attribute_to_property(provider, 'unused_value')
|
79
79
|
expected_groups = groups.join(',')
|
@@ -98,19 +98,19 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
98
98
|
|
99
99
|
describe '#gid=' do
|
100
100
|
let(:value) { 'new_pgrp' }
|
101
|
-
|
102
101
|
let(:old_pgrp) { 'old_pgrp' }
|
103
102
|
let(:cur_groups) { 'system,adm' }
|
103
|
+
|
104
104
|
before(:each) do
|
105
|
-
provider.
|
106
|
-
provider.
|
107
|
-
provider.
|
105
|
+
allow(provider).to receive(:gid).and_return(old_pgrp)
|
106
|
+
allow(provider).to receive(:groups).and_return(cur_groups)
|
107
|
+
allow(provider).to receive(:set)
|
108
108
|
end
|
109
109
|
|
110
110
|
it 'raises a Puppet::Error if it fails to set the groups property' do
|
111
|
-
provider.
|
111
|
+
allow(provider).to receive(:set)
|
112
112
|
.with(:groups, cur_groups)
|
113
|
-
.
|
113
|
+
.and_raise(Puppet::ExecutionFailure, 'failed to reset the groups!')
|
114
114
|
|
115
115
|
expect { provider.gid = value }.to raise_error do |error|
|
116
116
|
expect(error).to be_a(Puppet::Error)
|
@@ -153,15 +153,15 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
153
153
|
|
154
154
|
describe '#password=' do
|
155
155
|
let(:mock_tempfile) do
|
156
|
-
mock_tempfile_obj =
|
157
|
-
mock_tempfile_obj.
|
158
|
-
mock_tempfile_obj.
|
159
|
-
mock_tempfile_obj.
|
160
|
-
mock_tempfile_obj.
|
156
|
+
mock_tempfile_obj = double()
|
157
|
+
allow(mock_tempfile_obj).to receive(:<<)
|
158
|
+
allow(mock_tempfile_obj).to receive(:close)
|
159
|
+
allow(mock_tempfile_obj).to receive(:delete)
|
160
|
+
allow(mock_tempfile_obj).to receive(:path).and_return('tempfile_path')
|
161
161
|
|
162
|
-
Tempfile.
|
162
|
+
allow(Tempfile).to receive(:new)
|
163
163
|
.with("puppet_#{provider.name}_pw", :encoding => Encoding::ASCII)
|
164
|
-
.
|
164
|
+
.and_return(mock_tempfile_obj)
|
165
165
|
|
166
166
|
mock_tempfile_obj
|
167
167
|
end
|
@@ -177,7 +177,7 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
177
177
|
end
|
178
178
|
|
179
179
|
it 'raises a Puppet::Error if chpasswd fails' do
|
180
|
-
provider.
|
180
|
+
allow(provider).to receive(:execute).with(cmd, execute_options).and_return("failed to change passwd!")
|
181
181
|
expect { provider.password = 'foo' }.to raise_error do |error|
|
182
182
|
expect(error).to be_a(Puppet::Error)
|
183
183
|
expect(error.message).to match("failed to change passwd!")
|
@@ -185,15 +185,15 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
185
185
|
end
|
186
186
|
|
187
187
|
it "changes the user's password" do
|
188
|
-
provider.
|
188
|
+
expect(provider).to receive(:execute).with(cmd, execute_options).and_return("")
|
189
189
|
provider.password = 'foo'
|
190
190
|
end
|
191
191
|
|
192
192
|
it "closes and deletes the tempfile" do
|
193
|
-
provider.
|
193
|
+
allow(provider).to receive(:execute).with(cmd, execute_options).and_return("")
|
194
194
|
|
195
|
-
mock_tempfile.
|
196
|
-
mock_tempfile.
|
195
|
+
expect(mock_tempfile).to receive(:close).twice
|
196
|
+
expect(mock_tempfile).to receive(:delete)
|
197
197
|
|
198
198
|
provider.password = 'foo'
|
199
199
|
end
|
@@ -201,13 +201,13 @@ describe 'Puppet::Type::User::Provider::Aix' do
|
|
201
201
|
|
202
202
|
describe '#create' do
|
203
203
|
it 'should create the user' do
|
204
|
-
provider.resource.
|
205
|
-
provider.resource.
|
206
|
-
provider.resource.
|
204
|
+
allow(provider.resource).to receive(:should).with(anything).and_return(nil)
|
205
|
+
allow(provider.resource).to receive(:should).with(:groups).and_return('g1,g2')
|
206
|
+
allow(provider.resource).to receive(:should).with(:password).and_return('password')
|
207
207
|
|
208
|
-
provider.
|
209
|
-
provider.
|
210
|
-
provider.
|
208
|
+
expect(provider).to receive(:execute)
|
209
|
+
expect(provider).to receive(:groups=).with('g1,g2')
|
210
|
+
expect(provider).to receive(:password=).with('password')
|
211
211
|
|
212
212
|
provider.create
|
213
213
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby -S rspec
|
2
1
|
# encoding: ASCII-8BIT
|
3
2
|
require 'spec_helper'
|
4
3
|
|
@@ -295,14 +294,14 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
295
294
|
before :each do
|
296
295
|
# Stub out all calls to dscl with default values from above
|
297
296
|
defaults.each do |key, val|
|
298
|
-
provider.
|
297
|
+
allow(provider).to receive(:merge_attribute_with_dscl).with('Users', username, key, val)
|
299
298
|
end
|
300
299
|
|
301
300
|
# Mock the rest of the dscl calls. We can't assume that our Linux
|
302
301
|
# build system will have the dscl binary
|
303
|
-
provider.
|
304
|
-
provider.class.
|
305
|
-
provider.
|
302
|
+
allow(provider).to receive(:create_new_user).with(username)
|
303
|
+
allow(provider.class).to receive(:get_attribute_from_dscl).with('Users', username, 'GeneratedUID').and_return({'dsAttrTypeStandard:GeneratedUID' => ['GUID']})
|
304
|
+
allow(provider).to receive(:next_system_id).and_return('1000')
|
306
305
|
end
|
307
306
|
|
308
307
|
it 'should not raise any errors when creating a user with default values' do
|
@@ -313,31 +312,31 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
313
312
|
it "should call ##{value}= if a #{value} attribute is specified" do
|
314
313
|
resource[value.intern] = 'somevalue'
|
315
314
|
setter = (value << '=').intern
|
316
|
-
provider.
|
315
|
+
expect(provider).to receive(setter).with('somevalue')
|
317
316
|
provider.create
|
318
317
|
end
|
319
318
|
end
|
320
319
|
|
321
320
|
it 'should merge the GroupMembership and GroupMembers dscl values if a groups attribute is specified' do
|
322
321
|
resource[:groups] = 'somegroup'
|
323
|
-
provider.
|
324
|
-
provider.
|
322
|
+
expect(provider).to receive(:merge_attribute_with_dscl).with('Groups', 'somegroup', 'GroupMembership', username)
|
323
|
+
expect(provider).to receive(:merge_attribute_with_dscl).with('Groups', 'somegroup', 'GroupMembers', 'GUID')
|
325
324
|
provider.create
|
326
325
|
end
|
327
326
|
|
328
327
|
it 'should convert group names into integers' do
|
329
328
|
resource[:gid] = 'somegroup'
|
330
|
-
Puppet::Util.
|
331
|
-
provider.
|
329
|
+
expect(Puppet::Util).to receive(:gid).with('somegroup').and_return(21)
|
330
|
+
expect(provider).to receive(:merge_attribute_with_dscl).with('Users', username, 'PrimaryGroupID', 21)
|
332
331
|
provider.create
|
333
332
|
end
|
334
333
|
end
|
335
334
|
|
336
335
|
describe 'self#instances' do
|
337
336
|
it 'should create an array of provider instances' do
|
338
|
-
provider.class.
|
337
|
+
expect(provider.class).to receive(:get_all_users).and_return(['foo', 'bar'])
|
339
338
|
['foo', 'bar'].each do |user|
|
340
|
-
provider.class.
|
339
|
+
expect(provider.class).to receive(:generate_attribute_hash).with(user).and_return({})
|
341
340
|
end
|
342
341
|
instances = provider.class.instances
|
343
342
|
|
@@ -359,12 +358,12 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
359
358
|
end
|
360
359
|
|
361
360
|
it 'should return a hash of user attributes' do
|
362
|
-
provider.class.
|
361
|
+
expect(provider.class).to receive(:dscl).with('-plist', '.', 'readall', '/Users').and_return(user_plist_xml)
|
363
362
|
expect(provider.class.get_all_users).to eq(user_plist_hash)
|
364
363
|
end
|
365
364
|
|
366
365
|
it 'should return a hash when passed an empty plist' do
|
367
|
-
provider.class.
|
366
|
+
expect(provider.class).to receive(:dscl).with('-plist', '.', 'readall', '/Users').and_return(empty_plist)
|
368
367
|
expect(provider.class.get_all_users).to eq({})
|
369
368
|
end
|
370
369
|
end
|
@@ -386,11 +385,11 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
386
385
|
end
|
387
386
|
|
388
387
|
before :each do
|
389
|
-
provider.class.
|
390
|
-
provider.class.
|
391
|
-
provider.class.
|
392
|
-
provider.class.
|
393
|
-
provider.class.
|
388
|
+
allow(provider.class).to receive(:get_os_version).and_return('10.7')
|
389
|
+
allow(provider.class).to receive(:get_all_users).and_return(testuser_hash)
|
390
|
+
allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
|
391
|
+
allow(provider.class).to receive(:convert_binary_to_hash).with(sha512_embedded_bplist).and_return(sha512_embedded_bplist_hash)
|
392
|
+
allow(provider.class).to receive(:convert_binary_to_hash).with(pbkdf2_embedded_plist).and_return(pbkdf2_embedded_bplist_hash)
|
394
393
|
provider.class.prefetch({})
|
395
394
|
end
|
396
395
|
|
@@ -426,16 +425,15 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
426
425
|
end
|
427
426
|
|
428
427
|
before :each do
|
429
|
-
provider.class.
|
430
|
-
provider.class.
|
431
|
-
provider.class.
|
428
|
+
allow(provider.class).to receive(:get_os_version).and_return('10.7')
|
429
|
+
allow(provider.class).to receive(:get_all_users).and_return(testuser_hash)
|
430
|
+
allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
|
432
431
|
provider.class.prefetch({})
|
433
432
|
end
|
434
433
|
|
435
434
|
it 'should return a hash of resource attributes' do
|
436
435
|
expect(provider.class.generate_attribute_hash(user_plist_hash.merge(pbkdf2_and_ssha512_shadowhashdata_hash))).to eq(user_plist_resource)
|
437
436
|
end
|
438
|
-
|
439
437
|
end
|
440
438
|
|
441
439
|
describe 'self#generate_attribute_hash empty shadowhashdata' do
|
@@ -455,9 +453,9 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
455
453
|
end
|
456
454
|
|
457
455
|
it 'should handle empty shadowhashdata' do
|
458
|
-
provider.class.
|
459
|
-
provider.class.
|
460
|
-
provider.class.
|
456
|
+
allow(provider.class).to receive(:get_os_version).and_return('10.7')
|
457
|
+
allow(provider.class).to receive(:get_all_users).and_return([testuser_base])
|
458
|
+
allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
|
461
459
|
provider.class.prefetch({})
|
462
460
|
expect(provider.class.generate_attribute_hash(user_plist_hash)).to eq(user_plist_resource)
|
463
461
|
end
|
@@ -465,7 +463,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
465
463
|
|
466
464
|
describe '#delete' do
|
467
465
|
it 'should call dscl when destroying/deleting a resource' do
|
468
|
-
provider.
|
466
|
+
expect(provider).to receive(:dscl).with('.', '-delete', user_path)
|
469
467
|
provider.delete
|
470
468
|
end
|
471
469
|
end
|
@@ -514,21 +512,20 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
514
512
|
}]
|
515
513
|
end
|
516
514
|
|
517
|
-
|
518
515
|
before :each do
|
519
|
-
provider.class.
|
520
|
-
provider.class.
|
516
|
+
allow(provider.class).to receive(:get_all_users).and_return(testuser_hash)
|
517
|
+
allow(provider.class).to receive(:get_os_version).and_return('10.7')
|
521
518
|
end
|
522
519
|
|
523
520
|
it "should return a list of groups if the user's name matches GroupMembership" do
|
524
|
-
provider.class.
|
525
|
-
provider.class.
|
521
|
+
expect(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash)
|
522
|
+
expect(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash)
|
526
523
|
expect(provider.class.prefetch({}).first.groups).to eq('second,testgroup')
|
527
524
|
end
|
528
525
|
|
529
526
|
it "should return a list of groups if the user's GUID matches GroupMembers" do
|
530
|
-
provider.class.
|
531
|
-
provider.class.
|
527
|
+
expect(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
|
528
|
+
expect(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
|
532
529
|
expect(provider.class.prefetch({}).first.groups).to eq('testgroup,third')
|
533
530
|
end
|
534
531
|
end
|
@@ -573,66 +570,65 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
573
570
|
end
|
574
571
|
|
575
572
|
before :each do
|
576
|
-
provider.class.
|
577
|
-
provider.class.
|
573
|
+
allow(provider.class).to receive(:get_all_users).and_return(testuser_hash)
|
574
|
+
allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_one_two_three)
|
578
575
|
end
|
579
576
|
|
580
577
|
it 'should call dscl to add necessary groups' do
|
581
|
-
provider.class.
|
582
|
-
provider.
|
583
|
-
provider.
|
584
|
-
provider.
|
578
|
+
expect(provider.class).to receive(:get_attribute_from_dscl).with('Users', username, 'GeneratedUID').and_return({'dsAttrTypeStandard:GeneratedUID' => ['guidnonexistent_user']})
|
579
|
+
expect(provider).to receive(:groups).and_return('two,three')
|
580
|
+
expect(provider).to receive(:dscl).with('.', '-merge', '/Groups/one', 'GroupMembership', 'nonexistent_user')
|
581
|
+
expect(provider).to receive(:dscl).with('.', '-merge', '/Groups/one', 'GroupMembers', 'guidnonexistent_user')
|
585
582
|
provider.class.prefetch({})
|
586
583
|
provider.groups= 'one,two,three'
|
587
584
|
end
|
588
585
|
|
589
586
|
it 'should call the get_salted_sha512 method on 10.7 and return the correct hash' do
|
590
|
-
provider.class.
|
591
|
-
provider.class.
|
587
|
+
expect(provider.class).to receive(:convert_binary_to_hash).with(sha512_embedded_bplist).and_return(sha512_embedded_bplist_hash)
|
588
|
+
expect(provider.class).to receive(:convert_binary_to_hash).with(pbkdf2_embedded_plist).and_return(pbkdf2_embedded_bplist_hash)
|
592
589
|
expect(provider.class.prefetch({}).first.password).to eq(sha512_password_hash)
|
593
590
|
end
|
594
591
|
|
595
592
|
it 'should call the get_salted_sha512_pbkdf2 method on 10.8 and return the correct hash' do
|
596
|
-
provider.class.
|
597
|
-
provider.class.
|
593
|
+
expect(provider.class).to receive(:convert_binary_to_hash).with(sha512_embedded_bplist).and_return(sha512_embedded_bplist_hash)
|
594
|
+
expect(provider.class).to receive(:convert_binary_to_hash).with(pbkdf2_embedded_plist).and_return(pbkdf2_embedded_bplist_hash)
|
598
595
|
expect(provider.class.prefetch({}).last.password).to eq(pbkdf2_password_hash)
|
599
596
|
end
|
600
|
-
|
601
597
|
end
|
602
598
|
|
603
599
|
describe '#password=' do
|
604
600
|
before :each do
|
605
|
-
provider.
|
606
|
-
provider.
|
601
|
+
allow(provider).to receive(:sleep)
|
602
|
+
allow(provider).to receive(:flush_dscl_cache)
|
607
603
|
end
|
608
604
|
|
609
605
|
it 'should call write_password_to_users_plist when setting the password' do
|
610
|
-
provider.class.
|
611
|
-
provider.
|
606
|
+
allow(provider.class).to receive(:get_os_version).and_return('10.7')
|
607
|
+
expect(provider).to receive(:write_password_to_users_plist).with(sha512_password_hash)
|
612
608
|
provider.password = sha512_password_hash
|
613
609
|
end
|
614
610
|
|
615
611
|
it 'should call write_password_to_users_plist when setting the password' do
|
616
|
-
provider.class.
|
612
|
+
allow(provider.class).to receive(:get_os_version).and_return('10.8')
|
617
613
|
resource[:salt] = pbkdf2_salt_value
|
618
614
|
resource[:iterations] = pbkdf2_iterations_value
|
619
615
|
resource[:password] = pbkdf2_password_hash
|
620
616
|
|
621
|
-
provider.
|
617
|
+
expect(provider).to receive(:write_password_to_users_plist).with(pbkdf2_password_hash)
|
622
618
|
|
623
619
|
provider.password = resource[:password]
|
624
620
|
end
|
625
621
|
|
626
622
|
|
627
623
|
it "should raise an error on 10.7 if a password hash that doesn't contain 136 characters is passed" do
|
628
|
-
provider.class.
|
624
|
+
allow(provider.class).to receive(:get_os_version).and_return('10.7')
|
629
625
|
expect { provider.password = 'password' }.to raise_error Puppet::Error, /OS X 10\.7 requires a Salted SHA512 hash password of 136 characters\. Please check your password and try again/
|
630
626
|
end
|
631
627
|
end
|
632
628
|
|
633
629
|
describe "passwords on 10.8" do
|
634
630
|
before :each do
|
635
|
-
provider.class.
|
631
|
+
allow(provider.class).to receive(:get_os_version).and_return('10.8')
|
636
632
|
end
|
637
633
|
|
638
634
|
it "should raise an error on 10.8 if a password hash that doesn't contain 256 characters is passed" do
|
@@ -728,7 +724,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
728
724
|
end
|
729
725
|
|
730
726
|
it 'should return an array of hashes containing group data' do
|
731
|
-
provider.class.
|
727
|
+
expect(provider.class).to receive(:dscl).with('-plist', '.', 'readall', '/Groups').and_return(groups_xml)
|
732
728
|
expect(provider.class.get_list_of_groups).to eq(groups_hash)
|
733
729
|
end
|
734
730
|
end
|
@@ -757,28 +753,28 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
757
753
|
end
|
758
754
|
|
759
755
|
it 'should return a hash containing a user\'s dscl attribute data' do
|
760
|
-
provider.class.
|
756
|
+
expect(provider.class).to receive(:dscl).with('-plist', '.', 'read', user_path, 'GeneratedUID').and_return(user_guid_xml)
|
761
757
|
expect(provider.class.get_attribute_from_dscl('Users', username, 'GeneratedUID')).to eq(user_guid_hash)
|
762
758
|
end
|
763
759
|
end
|
764
760
|
|
765
761
|
describe '#convert_hash_to_binary' do
|
766
762
|
it 'should use plutil to successfully convert an xml plist to a binary plist' do
|
767
|
-
Puppet::Util::Plist.
|
763
|
+
expect(Puppet::Util::Plist).to receive(:dump_plist).with('ruby_hash', :binary).and_return('binary_plist_data')
|
768
764
|
expect(provider.class.convert_hash_to_binary('ruby_hash')).to eq('binary_plist_data')
|
769
765
|
end
|
770
766
|
end
|
771
767
|
|
772
768
|
describe '#convert_binary_to_hash' do
|
773
769
|
it 'should accept a binary plist and return a ruby hash containing the plist data' do
|
774
|
-
Puppet::Util::Plist.
|
770
|
+
expect(Puppet::Util::Plist).to receive(:parse_plist).with('binary_plist_data').and_return(user_plist_hash)
|
775
771
|
expect(provider.class.convert_binary_to_hash('binary_plist_data')).to eq(user_plist_hash)
|
776
772
|
end
|
777
773
|
end
|
778
774
|
|
779
775
|
describe '#next_system_id' do
|
780
776
|
it 'should return the next available UID number that is not in the list obtained from dscl and is greater than the passed integer value' do
|
781
|
-
provider.
|
777
|
+
expect(provider).to receive(:dscl).with('.', '-list', '/Users', 'uid').and_return("kathee 312\ngary 11\ntanny 33\njohn 9\nzach 5")
|
782
778
|
expect(provider.next_system_id(30)).to eq(34)
|
783
779
|
end
|
784
780
|
end
|
@@ -809,33 +805,33 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
809
805
|
|
810
806
|
describe '#get_sha1' do
|
811
807
|
let(:password_hash_file) { '/var/db/shadow/hash/user_guid' }
|
812
|
-
let(:stub_password_file) {
|
808
|
+
let(:stub_password_file) { double('connection') }
|
813
809
|
|
814
810
|
it 'should return a sha1 hash read from disk' do
|
815
|
-
Puppet::FileSystem.
|
816
|
-
File.
|
817
|
-
File.
|
818
|
-
File.
|
819
|
-
stub_password_file.
|
820
|
-
stub_password_file.
|
811
|
+
expect(Puppet::FileSystem).to receive(:exist?).with(password_hash_file).and_return(true)
|
812
|
+
expect(File).to receive(:file?).with(password_hash_file).and_return(true)
|
813
|
+
expect(File).to receive(:readable?).with(password_hash_file).and_return(true)
|
814
|
+
expect(File).to receive(:new).with(password_hash_file).and_return(stub_password_file)
|
815
|
+
expect(stub_password_file).to receive(:read).and_return('sha1_password_hash')
|
816
|
+
expect(stub_password_file).to receive(:close)
|
821
817
|
expect(provider.class.get_sha1('user_guid')).to eq('sha1_password_hash')
|
822
818
|
end
|
823
819
|
|
824
820
|
it 'should return nil if the password_hash_file does not exist' do
|
825
|
-
Puppet::FileSystem.
|
821
|
+
expect(Puppet::FileSystem).to receive(:exist?).with(password_hash_file).and_return(false)
|
826
822
|
expect(provider.class.get_sha1('user_guid')).to eq(nil)
|
827
823
|
end
|
828
824
|
|
829
825
|
it 'should return nil if the password_hash_file is not a file' do
|
830
|
-
Puppet::FileSystem.
|
831
|
-
File.
|
826
|
+
expect(Puppet::FileSystem).to receive(:exist?).with(password_hash_file).and_return(true)
|
827
|
+
expect(File).to receive(:file?).with(password_hash_file).and_return(false)
|
832
828
|
expect(provider.class.get_sha1('user_guid')).to eq(nil)
|
833
829
|
end
|
834
830
|
|
835
831
|
it 'should raise an error if the password_hash_file is not readable' do
|
836
|
-
Puppet::FileSystem.
|
837
|
-
File.
|
838
|
-
File.
|
832
|
+
expect(Puppet::FileSystem).to receive(:exist?).with(password_hash_file).and_return(true)
|
833
|
+
expect(File).to receive(:file?).with(password_hash_file).and_return(true)
|
834
|
+
expect(File).to receive(:readable?).with(password_hash_file).and_return(false)
|
839
835
|
expect { expect(provider.class.get_sha1('user_guid')).to eq(nil) }.to raise_error(Puppet::Error, /Could not read password hash file at #{password_hash_file}/)
|
840
836
|
end
|
841
837
|
end
|
@@ -889,26 +885,26 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
889
885
|
end
|
890
886
|
|
891
887
|
it 'should call set_salted_sha512 on 10.7 when given a salted-SHA512 password hash' do
|
892
|
-
provider.
|
893
|
-
provider.
|
894
|
-
provider.class.
|
895
|
-
provider.
|
888
|
+
expect(provider).to receive(:get_users_plist).and_return(sample_users_plist)
|
889
|
+
expect(provider).to receive(:get_shadow_hash_data).with(sample_users_plist).and_return(sha512_shadowhashdata)
|
890
|
+
expect(provider.class).to receive(:get_os_version).and_return('10.7')
|
891
|
+
expect(provider).to receive(:set_salted_sha512).with(sample_users_plist, sha512_shadowhashdata, sha512_password_hash)
|
896
892
|
provider.write_password_to_users_plist(sha512_password_hash)
|
897
893
|
end
|
898
894
|
|
899
895
|
it 'should call set_salted_pbkdf2 on 10.8 when given a PBKDF2 password hash' do
|
900
|
-
provider.
|
901
|
-
provider.
|
902
|
-
provider.class.
|
903
|
-
provider.
|
896
|
+
expect(provider).to receive(:get_users_plist).and_return(sample_users_plist)
|
897
|
+
expect(provider).to receive(:get_shadow_hash_data).with(sample_users_plist).and_return(pbkdf2_shadowhashdata)
|
898
|
+
expect(provider.class).to receive(:get_os_version).and_return('10.8')
|
899
|
+
expect(provider).to receive(:set_salted_pbkdf2).with(sample_users_plist, pbkdf2_shadowhashdata, 'entropy', pbkdf2_password_hash)
|
904
900
|
provider.write_password_to_users_plist(pbkdf2_password_hash)
|
905
901
|
end
|
906
902
|
|
907
903
|
it "should delete the SALTED-SHA512 key in the shadow_hash_data hash if it exists on a 10.8 system and write_password_to_users_plist has been called to set the user's password" do
|
908
|
-
provider.
|
909
|
-
provider.
|
910
|
-
provider.class.
|
911
|
-
provider.
|
904
|
+
expect(provider).to receive(:get_users_plist).and_return('users_plist')
|
905
|
+
expect(provider).to receive(:get_shadow_hash_data).with('users_plist').and_return(sha512_shadowhashdata)
|
906
|
+
expect(provider.class).to receive(:get_os_version).and_return('10.8')
|
907
|
+
expect(provider).to receive(:set_salted_pbkdf2).with('users_plist', {}, 'entropy', pbkdf2_password_hash)
|
912
908
|
provider.write_password_to_users_plist(pbkdf2_password_hash)
|
913
909
|
end
|
914
910
|
end
|
@@ -922,14 +918,14 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
922
918
|
end
|
923
919
|
|
924
920
|
it 'should set the SALTED-SHA512 password hash for a user in 10.7 and call the set_shadow_hash_data method to write the plist to disk' do
|
925
|
-
provider.class.
|
926
|
-
provider.
|
921
|
+
expect(provider.class).to receive(:convert_hash_to_binary).with(sha512_embedded_bplist_hash).and_return(sha512_embedded_bplist)
|
922
|
+
expect(provider).to receive(:set_shadow_hash_data).with(users_plist, sha512_embedded_bplist)
|
927
923
|
provider.set_salted_sha512(users_plist, sha512_embedded_bplist_hash, sha512_password_hash)
|
928
924
|
end
|
929
925
|
|
930
926
|
it 'should set the salted-SHA512 password, even if a blank shadow_hash_data hash is passed' do
|
931
|
-
provider.class.
|
932
|
-
provider.
|
927
|
+
expect(provider.class).to receive(:convert_hash_to_binary).with(sha512_shadow_hash_data).and_return(sha512_embedded_bplist)
|
928
|
+
expect(provider).to receive(:set_shadow_hash_data).with(users_plist, sha512_embedded_bplist)
|
933
929
|
provider.set_salted_sha512(users_plist, false, sha512_password_hash)
|
934
930
|
end
|
935
931
|
end
|
@@ -948,46 +944,46 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
948
944
|
# This will also catch the edge-case where a 10.6-style user exists on
|
949
945
|
# a 10.8 system and Puppet attempts to set a password
|
950
946
|
it 'should not fail if shadow_hash_data is not a Hash' do
|
951
|
-
Puppet::Util::Plist.
|
952
|
-
provider.class.
|
953
|
-
provider.
|
947
|
+
expect(Puppet::Util::Plist).to receive(:string_to_blob).with(provider.base64_decode_string(pbkdf2_password_hash)).and_return('binary_string')
|
948
|
+
expect(provider.class).to receive(:convert_hash_to_binary).with(entropy_shadow_hash_data).and_return('binary_plist')
|
949
|
+
expect(provider).to receive(:set_shadow_hash_data).with({'passwd' => '********'}, 'binary_plist')
|
954
950
|
provider.set_salted_pbkdf2({}, false, 'entropy', pbkdf2_password_hash)
|
955
951
|
end
|
956
952
|
|
957
953
|
it "should set the PBKDF2 password hash when the 'entropy' field is passed with a valid password hash" do
|
958
|
-
Puppet::Util::Plist.
|
959
|
-
provider.class.
|
960
|
-
provider.
|
961
|
-
users_plist.
|
954
|
+
expect(Puppet::Util::Plist).to receive(:string_to_blob).with(provider.base64_decode_string(pbkdf2_password_hash))
|
955
|
+
expect(provider.class).to receive(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).and_return(pbkdf2_embedded_plist)
|
956
|
+
expect(provider).to receive(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
|
957
|
+
expect(users_plist).to receive(:[]=).with('passwd', '********')
|
962
958
|
provider.set_salted_pbkdf2(users_plist, pbkdf2_embedded_bplist_hash, 'entropy', pbkdf2_password_hash)
|
963
959
|
end
|
964
960
|
|
965
961
|
it "should set the PBKDF2 password hash when the 'salt' field is passed with a valid password hash" do
|
966
|
-
Puppet::Util::Plist.
|
967
|
-
provider.class.
|
968
|
-
provider.
|
969
|
-
users_plist.
|
962
|
+
expect(Puppet::Util::Plist).to receive(:string_to_blob).with(provider.base64_decode_string(pbkdf2_salt_value))
|
963
|
+
expect(provider.class).to receive(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).and_return(pbkdf2_embedded_plist)
|
964
|
+
expect(provider).to receive(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
|
965
|
+
expect(users_plist).to receive(:[]=).with('passwd', '********')
|
970
966
|
provider.set_salted_pbkdf2(users_plist, pbkdf2_embedded_bplist_hash, 'salt', pbkdf2_salt_value)
|
971
967
|
end
|
972
968
|
|
973
969
|
it "should set the PBKDF2 password hash when the 'iterations' field is passed with a valid password hash" do
|
974
|
-
provider.class.
|
975
|
-
provider.
|
976
|
-
users_plist.
|
970
|
+
expect(provider.class).to receive(:convert_hash_to_binary).with(pbkdf2_embedded_bplist_hash).and_return(pbkdf2_embedded_plist)
|
971
|
+
expect(provider).to receive(:set_shadow_hash_data).with(users_plist, pbkdf2_embedded_plist)
|
972
|
+
expect(users_plist).to receive(:[]=).with('passwd', '********')
|
977
973
|
provider.set_salted_pbkdf2(users_plist, pbkdf2_embedded_bplist_hash, 'iterations', pbkdf2_iterations_value)
|
978
974
|
end
|
979
975
|
end
|
980
976
|
|
981
977
|
describe '#write_users_plist_to_disk' do
|
982
978
|
it 'should save the passed plist to disk and convert it to a binary plist' do
|
983
|
-
Puppet::Util::Plist.
|
979
|
+
expect(Puppet::Util::Plist).to receive(:write_plist_file).with(user_plist_xml, "#{users_plist_dir}/nonexistent_user.plist", :binary)
|
984
980
|
provider.write_users_plist_to_disk(user_plist_xml)
|
985
981
|
end
|
986
982
|
end
|
987
983
|
|
988
984
|
describe '#merge_attribute_with_dscl' do
|
989
985
|
it 'should raise an error if a dscl command raises an error' do
|
990
|
-
provider.
|
986
|
+
expect(provider).to receive(:dscl).with('.', '-merge', user_path, 'GeneratedUID', 'GUID').and_raise(Puppet::ExecutionFailure, 'boom')
|
991
987
|
expect { provider.merge_attribute_with_dscl('Users', username, 'GeneratedUID', 'GUID') }.to raise_error Puppet::Error, /Could not set the dscl GeneratedUID key with value: GUID/
|
992
988
|
end
|
993
989
|
end
|
@@ -1001,7 +997,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
1001
997
|
end
|
1002
998
|
|
1003
999
|
it 'should convert a plist to a valid Ruby hash' do
|
1004
|
-
Puppet::Util::Plist.
|
1000
|
+
expect(Puppet::Util::Plist).to receive(:read_plist_file).with("#{users_plist_dir}/#{username}.plist").and_return(test_hash)
|
1005
1001
|
expect(provider.get_users_plist(username)).to eq(test_hash, )
|
1006
1002
|
end
|
1007
1003
|
end
|
@@ -1026,7 +1022,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
1026
1022
|
it 'should call convert_binary_to_hash() with the string ' +
|
1027
1023
|
'located in the first element of the array of the ShadowHashData key if the ' +
|
1028
1024
|
'passed users_plist contains a ShadowHashData key' do
|
1029
|
-
provider.class.
|
1025
|
+
expect(provider.class).to receive(:convert_binary_to_hash).with('test').and_return('returnvalue')
|
1030
1026
|
expect(provider.get_shadow_hash_data(shadow_hash)).to eq('returnvalue')
|
1031
1027
|
end
|
1032
1028
|
end
|
@@ -1039,7 +1035,7 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
1039
1035
|
|
1040
1036
|
it 'should call Facter.value(:macosx_productversion_major) ONLY ONCE no matter how ' +
|
1041
1037
|
'many times get_os_version() is called' do
|
1042
|
-
Facter.
|
1038
|
+
expect(Facter).to receive(:value).with(:macosx_productversion_major).once.and_return('10.8')
|
1043
1039
|
expect(provider.class.get_os_version).to eq('10.8')
|
1044
1040
|
expect(provider.class.get_os_version).to eq('10.8')
|
1045
1041
|
expect(provider.class.get_os_version).to eq('10.8')
|
@@ -1127,8 +1123,8 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
1127
1123
|
end
|
1128
1124
|
|
1129
1125
|
before :each do
|
1130
|
-
provider.class.
|
1131
|
-
provider.class.
|
1126
|
+
allow(provider.class).to receive(:get_all_users).and_return(all_users_hash)
|
1127
|
+
allow(provider.class).to receive(:get_list_of_groups).and_return(group_plist_hash_guid)
|
1132
1128
|
provider.class.prefetch({})
|
1133
1129
|
end
|
1134
1130
|
|
@@ -1138,14 +1134,13 @@ describe Puppet::Type.type(:user).provider(:directoryservice) do
|
|
1138
1134
|
resource[:salt] = pbkdf2_salt_value
|
1139
1135
|
resource[:iterations] = pbkdf2_iterations_value
|
1140
1136
|
resource[:password] = pbkdf2_password_hash
|
1141
|
-
provider.class.
|
1142
|
-
provider.
|
1143
|
-
provider.
|
1137
|
+
allow(provider.class).to receive(:get_os_version).and_return('10.8')
|
1138
|
+
allow(provider).to receive(:sleep)
|
1139
|
+
allow(provider).to receive(:flush_dscl_cache)
|
1144
1140
|
|
1145
|
-
provider.
|
1146
|
-
provider.
|
1141
|
+
expect(provider).to receive(:get_users_plist).with('testuser').and_return(user_plist_hash)
|
1142
|
+
expect(provider).to receive(:set_salted_pbkdf2).with(user_plist_hash, false, 'entropy', pbkdf2_password_hash)
|
1147
1143
|
provider.password = resource[:password]
|
1148
1144
|
end
|
1149
1145
|
end
|
1150
1146
|
end
|
1151
|
-
|