puppet 5.5.12-x64-mingw32 → 5.5.13-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +0 -5
- data/Gemfile.lock +11 -11
- data/lib/puppet/application/filebucket.rb +4 -0
- data/lib/puppet/configurer.rb +9 -3
- data/lib/puppet/indirector/request.rb +26 -15
- data/lib/puppet/indirector/rest.rb +16 -7
- 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/http_proxy.rb +3 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +108 -36
- data/man/man5/puppet.conf.5 +2 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-ca.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-cert.8 +1 -1
- data/man/man8/puppet-certificate.8 +1 -1
- data/man/man8/puppet-certificate_request.8 +1 -1
- data/man/man8/puppet-certificate_revocation_list.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-master.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-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 +28 -26
- 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/ca_spec.rb +2 -3
- 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 +3 -5
- 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 +5 -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/indirector/node/ldap_spec.rb +2 -3
- data/spec/integration/network/authconfig_spec.rb +23 -24
- data/spec/integration/network/formats_spec.rb +0 -1
- data/spec/integration/network/http/api/indirected_routes_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 +4 -2
- 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/cron/crontab_spec.rb +8 -10
- data/spec/integration/provider/mailalias/aliases_spec.rb +0 -1
- data/spec/integration/provider/mount_spec.rb +9 -9
- 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/provider/ssh_authorized_key_spec.rb +6 -8
- data/spec/integration/provider/sshkey_spec.rb +6 -12
- data/spec/integration/provider/yumrepo_spec.rb +8 -12
- data/spec/integration/reference/providers_spec.rb +0 -1
- 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_authority_spec.rb +0 -1
- data/spec/integration/ssl/certificate_request_spec.rb +0 -1
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -1
- data/spec/integration/ssl/host_spec.rb +0 -1
- data/spec/integration/ssl/key_spec.rb +0 -1
- data/spec/integration/test/test_helper_spec.rb +1 -2
- 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/nagios_spec.rb +3 -5
- data/spec/integration/type/package_spec.rb +19 -23
- data/spec/integration/type/tidy_spec.rb +1 -2
- data/spec/integration/type/user_spec.rb +0 -1
- 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 +4 -6
- 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 +11 -2
- 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 +78 -79
- data/spec/unit/application/cert_spec.rb +42 -49
- data/spec/unit/application/certificate_spec.rb +2 -3
- 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 +175 -184
- 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/master_spec.rb +95 -95
- data/spec/unit/application/resource_spec.rb +42 -48
- data/spec/unit/application_spec.rb +74 -84
- data/spec/unit/capability_spec.rb +9 -6
- 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 +190 -193
- 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 +34 -35
- 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 +17 -12
- 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/ca_spec.rb +0 -1
- data/spec/unit/face/catalog_spec.rb +0 -1
- data/spec/unit/face/certificate_request_spec.rb +0 -1
- data/spec/unit/face/certificate_revocation_list_spec.rb +0 -1
- data/spec/unit/face/certificate_spec.rb +7 -10
- 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/build_spec.rb +17 -17
- 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 +33 -34
- 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 +16 -17
- 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 +7 -8
- 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 +8 -9
- 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/ca_spec.rb +2 -4
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate/file_spec.rb +2 -3
- data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
- data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -1
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +1 -2
- 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/certificate_revocation_list/ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +1 -2
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +2 -3
- data/spec/unit/indirector/certificate_status/file_spec.rb +2 -3
- data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -1
- data/spec/unit/indirector/code_spec.rb +5 -6
- data/spec/unit/indirector/direct_file_server_spec.rb +33 -27
- data/spec/unit/indirector/envelope_spec.rb +1 -2
- data/spec/unit/indirector/exec_spec.rb +15 -14
- 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 +2 -4
- 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 +99 -93
- data/spec/unit/indirector/indirection_spec.rb +242 -226
- data/spec/unit/indirector/json_spec.rb +7 -9
- data/spec/unit/indirector/key/ca_spec.rb +2 -3
- data/spec/unit/indirector/key/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/key/file_spec.rb +25 -26
- data/spec/unit/indirector/ldap_spec.rb +34 -41
- 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 +6 -6
- data/spec/unit/indirector/node/ldap_spec.rb +74 -76
- 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/write_only_yaml_spec.rb +1 -2
- 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 +74 -77
- 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 +31 -29
- data/spec/unit/indirector/yaml_spec.rb +33 -32
- data/spec/unit/indirector_spec.rb +1 -2
- data/spec/unit/info_service_spec.rb +3 -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/builder_spec.rb +5 -5
- 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/ca/v1_spec.rb +1 -1
- data/spec/unit/network/http/api/indirected_routes_spec.rb +22 -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 +1 -3
- data/spec/unit/network/http/compression_spec.rb +21 -22
- data/spec/unit/network/http/connection_spec.rb +39 -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/rack/rest_spec.rb +24 -27
- data/spec/unit/network/http/rack_spec.rb +5 -6
- 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/webrick/rest_spec.rb +40 -41
- data/spec/unit/network/http/webrick_spec.rb +49 -52
- 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 +16 -17
- data/spec/unit/network/rights_spec.rb +52 -53
- data/spec/unit/network/server_spec.rb +12 -13
- data/spec/unit/node/environment_spec.rb +16 -14
- data/spec/unit/node/facts_spec.rb +5 -7
- data/spec/unit/node_spec.rb +4 -10
- data/spec/unit/other/selinux_spec.rb +2 -3
- 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 +11 -9
- 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 +3 -4
- 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 +6 -6
- 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 +30 -27
- 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 +36 -36
- 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/augeas/augeas_spec.rb +192 -192
- data/spec/unit/provider/cisco_spec.rb +1 -2
- data/spec/unit/provider/command_spec.rb +9 -9
- data/spec/unit/provider/cron/crontab_spec.rb +10 -11
- data/spec/unit/provider/cron/parsed_spec.rb +22 -24
- 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/host/parsed_spec.rb +6 -6
- data/spec/unit/provider/interface/cisco_spec.rb +20 -24
- data/spec/unit/provider/ldap_spec.rb +61 -62
- data/spec/unit/provider/macauthorization_spec.rb +26 -47
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +45 -47
- data/spec/unit/provider/mount/parsed_spec.rb +18 -24
- data/spec/unit/provider/mount_spec.rb +57 -66
- data/spec/unit/provider/naginator_spec.rb +13 -14
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
- data/spec/unit/provider/nameservice_spec.rb +38 -40
- data/spec/unit/provider/network_device_spec.rb +28 -28
- 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 +14 -16
- 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 +69 -71
- 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 +4 -4
- data/spec/unit/provider/package/zypper_spec.rb +87 -87
- data/spec/unit/provider/parsedfile_spec.rb +44 -45
- data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +120 -130
- data/spec/unit/provider/selboolean_spec.rb +9 -11
- data/spec/unit/provider/selmodule_spec.rb +20 -22
- 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 +37 -37
- data/spec/unit/provider/service/freebsd_spec.rb +18 -18
- data/spec/unit/provider/service/gentoo_spec.rb +50 -56
- data/spec/unit/provider/service/init_spec.rb +55 -55
- 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 -46
- data/spec/unit/provider/service/openwrt_spec.rb +26 -32
- 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 +93 -98
- data/spec/unit/provider/service/upstart_spec.rb +74 -72
- data/spec/unit/provider/service/windows_spec.rb +33 -41
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +54 -68
- data/spec/unit/provider/sshkey/parsed_spec.rb +7 -8
- 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 +15 -15
- 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/vlan/cisco_spec.rb +10 -12
- data/spec/unit/provider/yumrepo/inifile_spec.rb +75 -80
- data/spec/unit/provider/zfs/zfs_spec.rb +26 -21
- data/spec/unit/provider/zone/solaris_spec.rb +56 -42
- data/spec/unit/provider/zpool/zpool_spec.rb +19 -20
- data/spec/unit/provider_spec.rb +29 -29
- data/spec/unit/puppet_pal_2pec.rb +4 -5
- data/spec/unit/puppet_pal_spec.rb +0 -1
- data/spec/unit/puppet_spec.rb +7 -8
- 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 +18 -16
- 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/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 +226 -233
- data/spec/unit/ssl/base_spec.rb +14 -15
- data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +6 -7
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +116 -113
- data/spec/unit/ssl/certificate_authority_spec.rb +258 -268
- data/spec/unit/ssl/certificate_factory_spec.rb +3 -5
- data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -3
- data/spec/unit/ssl/certificate_request_spec.rb +66 -67
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -4
- data/spec/unit/ssl/certificate_spec.rb +23 -25
- data/spec/unit/ssl/configuration_spec.rb +1 -4
- data/spec/unit/ssl/digest_spec.rb +0 -1
- data/spec/unit/ssl/host_spec.rb +217 -188
- data/spec/unit/ssl/inventory_spec.rb +25 -21
- data/spec/unit/ssl/key_spec.rb +30 -31
- data/spec/unit/ssl/validator_spec.rb +40 -40
- data/spec/unit/task_spec.rb +6 -7
- data/spec/unit/transaction/additional_resource_generator_spec.rb +6 -5
- data/spec/unit/transaction/event_manager_spec.rb +88 -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 +98 -100
- data/spec/unit/type/augeas_spec.rb +11 -10
- data/spec/unit/type/component_spec.rb +0 -1
- data/spec/unit/type/computer_spec.rb +7 -10
- data/spec/unit/type/cron_spec.rb +3 -7
- 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/host_spec.rb +2 -3
- data/spec/unit/type/interface_spec.rb +2 -3
- data/spec/unit/type/k5login_spec.rb +3 -4
- data/spec/unit/type/macauthorization_spec.rb +6 -8
- data/spec/unit/type/mailalias_spec.rb +2 -3
- data/spec/unit/type/maillist_spec.rb +6 -9
- data/spec/unit/type/mcx_spec.rb +4 -8
- data/spec/unit/type/mount_spec.rb +26 -38
- data/spec/unit/type/nagios_spec.rb +0 -1
- 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 +53 -54
- data/spec/unit/type/resources_spec.rb +86 -88
- data/spec/unit/type/schedule_spec.rb +24 -26
- data/spec/unit/type/scheduled_task_spec.rb +1 -2
- data/spec/unit/type/selboolean_spec.rb +5 -6
- data/spec/unit/type/selmodule_spec.rb +0 -1
- data/spec/unit/type/service_spec.rb +47 -47
- data/spec/unit/type/ssh_authorized_key_spec.rb +5 -35
- data/spec/unit/type/sshkey_spec.rb +0 -2
- 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 +41 -27
- data/spec/unit/type/vlan_spec.rb +2 -4
- data/spec/unit/type/whit_spec.rb +0 -1
- data/spec/unit/type/zfs_spec.rb +6 -7
- data/spec/unit/type/zone_spec.rb +14 -4
- data/spec/unit/type/zpool_spec.rb +4 -5
- data/spec/unit/type_spec.rb +54 -53
- data/spec/unit/util/at_fork_spec.rb +18 -19
- data/spec/unit/util/autoload_spec.rb +53 -54
- data/spec/unit/util/backups_spec.rb +34 -35
- data/spec/unit/util/character_encoding_spec.rb +8 -8
- 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 +187 -162
- data/spec/unit/util/execution_stub_spec.rb +0 -1
- data/spec/unit/util/feature_spec.rb +13 -13
- 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 -66
- 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/nagios_maker_spec.rb +35 -36
- data/spec/unit/util/network_device/cisco/device_spec.rb +59 -50
- data/spec/unit/util/network_device/cisco/facts_spec.rb +4 -5
- data/spec/unit/util/network_device/cisco/interface_spec.rb +29 -20
- data/spec/unit/util/network_device/config_spec.rb +0 -1
- data/spec/unit/util/network_device/ipcalc_spec.rb +0 -1
- data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
- data/spec/unit/util/network_device/transport/ssh_spec.rb +94 -60
- data/spec/unit/util/network_device/transport/telnet_spec.rb +18 -14
- 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 +13 -14
- 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 +14 -14
- 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 -59
- data/spec/unit/version_spec.rb +6 -6
- metadata +2 -2
| @@ -8,123 +8,123 @@ describe Puppet::Type.type(:user).provider(:user_role_add), :unless => Puppet.fe | |
| 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.fe | |
| 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.fe | |
| 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.fe | |
| 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.fe | |
| 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
         |