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
| @@ -1,4 +1,3 @@ | |
| 1 | 
            -
            #! /usr/bin/env ruby
         | 
| 2 1 | 
             
            require 'spec_helper'
         | 
| 3 2 |  | 
| 4 3 | 
             
            describe Puppet::Type.type(:package).provider(:sun) do
         | 
| @@ -22,14 +21,14 @@ describe Puppet::Type.type(:package).provider(:sun) do | |
| 22 21 | 
             
                it "should install a package" do
         | 
| 23 22 | 
             
                  resource[:ensure] = :installed
         | 
| 24 23 | 
             
                  resource[:source] = '/cdrom'
         | 
| 25 | 
            -
                  provider. | 
| 24 | 
            +
                  expect(provider).to receive(:pkgadd).with(['-d', '/cdrom', '-n', 'dummy'])
         | 
| 26 25 | 
             
                  provider.install
         | 
| 27 26 | 
             
                end
         | 
| 28 27 |  | 
| 29 28 | 
             
                it "should install a package if it is not present on update" do
         | 
| 30 | 
            -
                  provider. | 
| 31 | 
            -
                  provider. | 
| 32 | 
            -
                  provider. | 
| 29 | 
            +
                  expect(provider).to receive(:pkginfo).with('-l', 'dummy').and_return(File.read(my_fixture('dummy.server')))
         | 
| 30 | 
            +
                  expect(provider).to receive(:pkgrm).with(['-n', 'dummy'])
         | 
| 31 | 
            +
                  expect(provider).to receive(:install)
         | 
| 33 32 | 
             
                  provider.update
         | 
| 34 33 | 
             
                end
         | 
| 35 34 |  | 
| @@ -37,36 +36,36 @@ describe Puppet::Type.type(:package).provider(:sun) do | |
| 37 36 | 
             
                  resource[:ensure] = :installed
         | 
| 38 37 | 
             
                  resource[:source] = '/cdrom'
         | 
| 39 38 | 
             
                  resource[:install_options] = '-G'
         | 
| 40 | 
            -
                  provider. | 
| 39 | 
            +
                  expect(provider).to receive(:pkgadd).with(['-d', '/cdrom', '-G', '-n', 'dummy'])
         | 
| 41 40 | 
             
                  provider.install
         | 
| 42 41 | 
             
                end
         | 
| 43 42 | 
             
              end
         | 
| 44 43 |  | 
| 45 44 | 
             
              context '#uninstall' do
         | 
| 46 45 | 
             
                it "should uninstall a package" do
         | 
| 47 | 
            -
                  provider. | 
| 46 | 
            +
                  expect(provider).to receive(:pkgrm).with(['-n','dummy'])
         | 
| 48 47 | 
             
                  provider.uninstall
         | 
| 49 48 | 
             
                end
         | 
| 50 49 | 
             
              end
         | 
| 51 50 |  | 
| 52 51 | 
             
              context '#update' do
         | 
| 53 52 | 
             
                it "should call uninstall if not :absent on info2hash" do
         | 
| 54 | 
            -
                  provider. | 
| 55 | 
            -
                  provider. | 
| 56 | 
            -
                  provider. | 
| 53 | 
            +
                  allow(provider).to receive(:info2hash).and_return({:name => 'SUNWdummy', :ensure => "11.11.0,REV=2010.10.12.04.23"})
         | 
| 54 | 
            +
                  expect(provider).to receive(:uninstall)
         | 
| 55 | 
            +
                  expect(provider).to receive(:install)
         | 
| 57 56 | 
             
                  provider.update
         | 
| 58 57 | 
             
                end
         | 
| 59 58 |  | 
| 60 59 | 
             
                it "should not call uninstall if :absent on info2hash" do
         | 
| 61 | 
            -
                  provider. | 
| 62 | 
            -
                  provider. | 
| 60 | 
            +
                  allow(provider).to receive(:info2hash).and_return({:name => 'SUNWdummy', :ensure => :absent})
         | 
| 61 | 
            +
                  expect(provider).to receive(:install)
         | 
| 63 62 | 
             
                  provider.update
         | 
| 64 63 | 
             
                end
         | 
| 65 64 | 
             
              end
         | 
| 66 65 |  | 
| 67 66 | 
             
              context '#query' do
         | 
| 68 67 | 
             
                it "should find the package on query" do
         | 
| 69 | 
            -
                  provider. | 
| 68 | 
            +
                  expect(provider).to receive(:pkginfo).with('-l', 'dummy').and_return(File.read(my_fixture('dummy.server')))
         | 
| 70 69 | 
             
                  expect(provider.query).to eq({
         | 
| 71 70 | 
             
                    :name     => 'SUNWdummy',
         | 
| 72 71 | 
             
                    :category=>"system",
         | 
| @@ -79,19 +78,19 @@ describe Puppet::Type.type(:package).provider(:sun) do | |
| 79 78 | 
             
                end
         | 
| 80 79 |  | 
| 81 80 | 
             
                it "shouldn't find the package on query if it is not present" do
         | 
| 82 | 
            -
                  provider. | 
| 81 | 
            +
                  expect(provider).to receive(:pkginfo).with('-l', 'dummy').and_raise(Puppet::ExecutionFailure, "Execution of 'pkginfo -l dummy' returned 3: ERROR: information for \"dummy\" not found.")
         | 
| 83 82 | 
             
                  expect(provider.query).to eq({:ensure => :absent})
         | 
| 84 83 | 
             
                end
         | 
| 85 84 |  | 
| 86 85 | 
             
                it "unknown message should raise error." do
         | 
| 87 | 
            -
                  provider. | 
| 86 | 
            +
                  expect(provider).to receive(:pkginfo).with('-l', 'dummy').and_return('RANDOM')
         | 
| 88 87 | 
             
                  expect { provider.query }.to raise_error Puppet::Error
         | 
| 89 88 | 
             
                end
         | 
| 90 89 | 
             
              end
         | 
| 91 90 |  | 
| 92 91 | 
             
              context '#instance' do
         | 
| 93 92 | 
             
                it "should list instances when there are packages in the system" do
         | 
| 94 | 
            -
                  described_class. | 
| 93 | 
            +
                  expect(described_class).to receive(:pkginfo).with('-l').and_return(File.read(my_fixture('simple')))
         | 
| 95 94 | 
             
                  instances = provider.class.instances.map { |p| {:name => p.get(:name), :ensure => p.get(:ensure)} }
         | 
| 96 95 | 
             
                  expect(instances.size).to eq(2)
         | 
| 97 96 | 
             
                  expect(instances[0]).to eq({
         | 
| @@ -105,10 +104,9 @@ describe Puppet::Type.type(:package).provider(:sun) do | |
| 105 104 | 
             
                end
         | 
| 106 105 |  | 
| 107 106 | 
             
                it "should return empty if there were no packages" do
         | 
| 108 | 
            -
                  described_class. | 
| 107 | 
            +
                  expect(described_class).to receive(:pkginfo).with('-l').and_return('')
         | 
| 109 108 | 
             
                  instances = provider.class.instances
         | 
| 110 109 | 
             
                  expect(instances.size).to eq(0)
         | 
| 111 110 | 
             
                end
         | 
| 112 | 
            -
             | 
| 113 111 | 
             
              end
         | 
| 114 112 | 
             
            end
         | 
| @@ -7,8 +7,8 @@ describe Puppet::Type.type(:package).provider(:tdnf) do | |
| 7 7 |  | 
| 8 8 | 
             
              context 'default' do
         | 
| 9 9 | 
             
                it 'should be the default provider on PhotonOS' do
         | 
| 10 | 
            -
                  Facter. | 
| 11 | 
            -
                  Facter. | 
| 10 | 
            +
                  allow(Facter).to receive(:value).with(:osfamily).and_return(:redhat)
         | 
| 11 | 
            +
                  allow(Facter).to receive(:value).with(:operatingsystem).and_return("PhotonOS")
         | 
| 12 12 | 
             
                  expect(described_class).to be_default
         | 
| 13 13 | 
             
                end
         | 
| 14 14 | 
             
              end
         | 
| @@ -1,8 +1,6 @@ | |
| 1 | 
            -
            # spec/unit/provider/package/up2date_spec.rb
         | 
| 2 1 | 
             
            require 'spec_helper'
         | 
| 3 2 |  | 
| 4 3 | 
             
            describe 'up2date package provider' do
         | 
| 5 | 
            -
             | 
| 6 4 | 
             
              # This sets the class itself as the subject rather than
         | 
| 7 5 | 
             
              # an instance of the class.
         | 
| 8 6 | 
             
              subject do
         | 
| @@ -15,8 +13,8 @@ describe 'up2date package provider' do | |
| 15 13 | 
             
              osfamilies.each do |osfamily|
         | 
| 16 14 | 
             
                releases.each do |release|
         | 
| 17 15 | 
             
                  it "should be the default provider on #{osfamily} #{release}" do
         | 
| 18 | 
            -
                    Facter. | 
| 19 | 
            -
                    Facter. | 
| 16 | 
            +
                    allow(Facter).to receive(:value).with(:osfamily).and_return(osfamily)
         | 
| 17 | 
            +
                    allow(Facter).to receive(:value).with(:lsbdistrelease).and_return(release)
         | 
| 20 18 | 
             
                    expect(subject.default?).to be_truthy
         | 
| 21 19 | 
             
                  end
         | 
| 22 20 | 
             
                end
         | 
| @@ -1,15 +1,13 @@ | |
| 1 1 | 
             
            require 'spec_helper'
         | 
| 2 2 |  | 
| 3 3 | 
             
            describe Puppet::Type.type(:package).provider(:urpmi) do
         | 
| 4 | 
            -
             | 
| 5 4 | 
             
              before do
         | 
| 6 | 
            -
                Puppet::Util::Execution.expects(:execute).never
         | 
| 7 5 | 
             
                %w[rpm urpmi urpme urpmq].each do |executable|
         | 
| 8 | 
            -
                  Puppet::Util. | 
| 6 | 
            +
                  allow(Puppet::Util).to receive(:which).with(executable).and_return(executable)
         | 
| 9 7 | 
             
                end
         | 
| 10 | 
            -
                Puppet::Util::Execution. | 
| 8 | 
            +
                allow(Puppet::Util::Execution).to receive(:execute)
         | 
| 11 9 | 
             
                  .with(['rpm', '--version'], anything)
         | 
| 12 | 
            -
                  . | 
| 10 | 
            +
                  .and_return(Puppet::Util::Execution::ProcessOutput.new('RPM version 4.9.1.3', 0))
         | 
| 13 11 | 
             
              end
         | 
| 14 12 |  | 
| 15 13 | 
             
              let(:resource) do
         | 
| @@ -18,18 +16,18 @@ describe Puppet::Type.type(:package).provider(:urpmi) do | |
| 18 16 |  | 
| 19 17 | 
             
              before do
         | 
| 20 18 | 
             
                subject.resource = resource
         | 
| 21 | 
            -
                Puppet::Type.type(:package). | 
| 19 | 
            +
                allow(Puppet::Type.type(:package)).to receive(:defaultprovider).and_return(described_class)
         | 
| 22 20 | 
             
              end
         | 
| 23 21 |  | 
| 24 22 | 
             
              describe '#install' do
         | 
| 25 23 | 
             
                before do
         | 
| 26 | 
            -
                  subject. | 
| 24 | 
            +
                  allow(subject).to receive(:rpm).with('-q', 'foopkg', any_args).and_return("foopkg 0 1.2.3.4 5 noarch :DESC:\n")
         | 
| 27 25 | 
             
                end
         | 
| 28 26 |  | 
| 29 27 | 
             
                describe 'without a version' do
         | 
| 30 28 | 
             
                  it 'installs the unversioned package' do
         | 
| 31 29 | 
             
                    resource[:ensure] = :present
         | 
| 32 | 
            -
                    Puppet::Util::Execution. | 
| 30 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execute).with(['urpmi', '--auto', 'foopkg'], anything)
         | 
| 33 31 | 
             
                    subject.install
         | 
| 34 32 | 
             
                  end
         | 
| 35 33 | 
             
                end
         | 
| @@ -37,15 +35,15 @@ describe Puppet::Type.type(:package).provider(:urpmi) do | |
| 37 35 | 
             
                describe 'with a version' do
         | 
| 38 36 | 
             
                  it 'installs the versioned package' do
         | 
| 39 37 | 
             
                    resource[:ensure] = '4.5.6'
         | 
| 40 | 
            -
                    Puppet::Util::Execution. | 
| 38 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execute).with(['urpmi', '--auto', 'foopkg-4.5.6'], anything)
         | 
| 41 39 | 
             
                    subject.install
         | 
| 42 40 | 
             
                  end
         | 
| 43 41 | 
             
                end
         | 
| 44 42 |  | 
| 45 43 | 
             
                describe "and the package install fails" do
         | 
| 46 44 | 
             
                  it "raises an error" do
         | 
| 47 | 
            -
                    Puppet::Util::Execution. | 
| 48 | 
            -
                    subject. | 
| 45 | 
            +
                    allow(Puppet::Util::Execution).to receive(:execute).with(['urpmi', '--auto', 'foopkg'], anything)
         | 
| 46 | 
            +
                    allow(subject).to receive(:query)
         | 
| 49 47 | 
             
                    expect { subject.install }.to raise_error Puppet::Error, /Package \S+ was not present after trying to install it/
         | 
| 50 48 | 
             
                  end
         | 
| 51 49 | 
             
                end
         | 
| @@ -55,31 +53,31 @@ describe Puppet::Type.type(:package).provider(:urpmi) do | |
| 55 53 | 
             
                let(:urpmq_output) { 'foopkg : Lorem ipsum dolor sit amet, consectetur adipisicing elit ( 7.8.9-1.mga2 )' }
         | 
| 56 54 |  | 
| 57 55 | 
             
                it "uses urpmq to determine the latest package" do
         | 
| 58 | 
            -
                  Puppet::Util::Execution. | 
| 56 | 
            +
                  expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 59 57 | 
             
                    .with(['urpmq', '-S', 'foopkg'], anything)
         | 
| 60 | 
            -
                    . | 
| 58 | 
            +
                    .and_return(Puppet::Util::Execution::ProcessOutput.new(urpmq_output, 0))
         | 
| 61 59 | 
             
                  expect(subject.latest).to eq('7.8.9-1.mga2')
         | 
| 62 60 | 
             
                end
         | 
| 63 61 |  | 
| 64 62 | 
             
                it "falls back to the current version" do
         | 
| 65 63 | 
             
                  resource[:ensure] = '5.4.3'
         | 
| 66 | 
            -
                  Puppet::Util::Execution. | 
| 64 | 
            +
                  expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 67 65 | 
             
                    .with(['urpmq', '-S', 'foopkg'], anything)
         | 
| 68 | 
            -
                    . | 
| 66 | 
            +
                    .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 69 67 | 
             
                  expect(subject.latest).to eq('5.4.3')
         | 
| 70 68 | 
             
                end
         | 
| 71 69 | 
             
              end
         | 
| 72 70 |  | 
| 73 71 | 
             
              describe '#update' do
         | 
| 74 72 | 
             
                it 'delegates to #install' do
         | 
| 75 | 
            -
                  subject. | 
| 73 | 
            +
                  expect(subject).to receive(:install)
         | 
| 76 74 | 
             
                  subject.update
         | 
| 77 75 | 
             
                end
         | 
| 78 76 | 
             
              end
         | 
| 79 77 |  | 
| 80 78 | 
             
              describe '#purge' do
         | 
| 81 79 | 
             
                it 'uses urpme to purge packages' do
         | 
| 82 | 
            -
                  Puppet::Util::Execution. | 
| 80 | 
            +
                  expect(Puppet::Util::Execution).to receive(:execute).with(['urpme', '--auto', 'foopkg'], anything)
         | 
| 83 81 | 
             
                  subject.purge
         | 
| 84 82 | 
             
                end
         | 
| 85 83 | 
             
              end
         | 
| @@ -1,10 +1,7 @@ | |
| 1 | 
            -
            #! /usr/bin/env ruby
         | 
| 2 1 | 
             
            require 'spec_helper'
         | 
| 3 2 | 
             
            require 'puppet/provider/package/windows/exe_package'
         | 
| 4 3 |  | 
| 5 4 | 
             
            describe Puppet::Provider::Package::Windows::ExePackage do
         | 
| 6 | 
            -
              subject { described_class }
         | 
| 7 | 
            -
             | 
| 8 5 | 
             
              let (:name)        { 'Git version 1.7.11' }
         | 
| 9 6 | 
             
              let (:version)     { '1.7.11' }
         | 
| 10 7 | 
             
              let (:source)      { 'E:\Git-1.7.11.exe' }
         | 
| @@ -12,18 +9,18 @@ describe Puppet::Provider::Package::Windows::ExePackage do | |
| 12 9 |  | 
| 13 10 | 
             
              context '::from_registry' do
         | 
| 14 11 | 
             
                it 'should return an instance of ExePackage' do
         | 
| 15 | 
            -
                   | 
| 12 | 
            +
                  expect(described_class).to receive(:valid?).and_return(true)
         | 
| 16 13 |  | 
| 17 | 
            -
                  pkg =  | 
| 14 | 
            +
                  pkg = described_class.from_registry('', {'DisplayName' => name, 'DisplayVersion' => version, 'UninstallString' => uninstall})
         | 
| 18 15 | 
             
                  expect(pkg.name).to eq(name)
         | 
| 19 16 | 
             
                  expect(pkg.version).to eq(version)
         | 
| 20 17 | 
             
                  expect(pkg.uninstall_string).to eq(uninstall)
         | 
| 21 18 | 
             
                end
         | 
| 22 19 |  | 
| 23 20 | 
             
                it 'should return nil if it is not a valid executable' do
         | 
| 24 | 
            -
                   | 
| 21 | 
            +
                  expect(described_class).to receive(:valid?).and_return(false)
         | 
| 25 22 |  | 
| 26 | 
            -
                  expect( | 
| 23 | 
            +
                  expect(described_class.from_registry('', {})).to be_nil
         | 
| 27 24 | 
             
                end
         | 
| 28 25 | 
             
              end
         | 
| 29 26 |  | 
| @@ -42,26 +39,26 @@ describe Puppet::Provider::Package::Windows::ExePackage do | |
| 42 39 | 
             
                }.each_pair do |k, arr|
         | 
| 43 40 | 
             
                  it "should accept '#{k}' with value '#{arr[0]}'" do
         | 
| 44 41 | 
             
                    values[k] = arr[0]
         | 
| 45 | 
            -
                    expect( | 
| 42 | 
            +
                    expect(described_class.valid?(name, values)).to be_truthy
         | 
| 46 43 | 
             
                  end
         | 
| 47 44 |  | 
| 48 45 | 
             
                  it "should reject '#{k}' with value '#{arr[1]}'" do
         | 
| 49 46 | 
             
                    values[k] = arr[1]
         | 
| 50 | 
            -
                    expect( | 
| 47 | 
            +
                    expect(described_class.valid?(name, values)).to be_falsey
         | 
| 51 48 | 
             
                  end
         | 
| 52 49 | 
             
                end
         | 
| 53 50 |  | 
| 54 51 | 
             
                it 'should reject packages whose name starts with "KBXXXXXX"' do
         | 
| 55 | 
            -
                  expect( | 
| 52 | 
            +
                  expect(described_class.valid?('KB890830', values)).to be_falsey
         | 
| 56 53 | 
             
                end
         | 
| 57 54 |  | 
| 58 55 | 
             
                it 'should accept packages whose name does not start with "KBXXXXXX"' do
         | 
| 59 | 
            -
                  expect( | 
| 56 | 
            +
                  expect(described_class.valid?('My Update (KB890830)', values)).to be_truthy
         | 
| 60 57 | 
             
                end
         | 
| 61 58 | 
             
              end
         | 
| 62 59 |  | 
| 63 60 | 
             
              context '#match?' do
         | 
| 64 | 
            -
                let(:pkg) {  | 
| 61 | 
            +
                let(:pkg) { described_class.new(name, version, uninstall) }
         | 
| 65 62 |  | 
| 66 63 | 
             
                it 'should match product name' do
         | 
| 67 64 | 
             
                  expect(pkg.match?({:name => name})).to be_truthy
         | 
| @@ -74,7 +71,7 @@ describe Puppet::Provider::Package::Windows::ExePackage do | |
| 74 71 |  | 
| 75 72 | 
             
              context '#install_command' do
         | 
| 76 73 | 
             
                it 'should install using the source' do
         | 
| 77 | 
            -
                  cmd =  | 
| 74 | 
            +
                  cmd = described_class.install_command({:source => source})
         | 
| 78 75 |  | 
| 79 76 | 
             
                  expect(cmd).to eq(source)
         | 
| 80 77 | 
             
                end
         | 
| @@ -83,7 +80,7 @@ describe Puppet::Provider::Package::Windows::ExePackage do | |
| 83 80 | 
             
              context '#uninstall_command' do
         | 
| 84 81 | 
             
                ['C:\uninstall.exe', 'C:\Program Files\uninstall.exe'].each do |exe|
         | 
| 85 82 | 
             
                  it "should quote #{exe}" do
         | 
| 86 | 
            -
                    expect( | 
| 83 | 
            +
                    expect(described_class.new(name, version, exe).uninstall_command).to eq(
         | 
| 87 84 | 
             
                      "\"#{exe}\""
         | 
| 88 85 | 
             
                    )
         | 
| 89 86 | 
             
                  end
         | 
| @@ -91,7 +88,7 @@ describe Puppet::Provider::Package::Windows::ExePackage do | |
| 91 88 |  | 
| 92 89 | 
             
                ['"C:\Program Files\uninstall.exe"', '"C:\Program Files (x86)\Git\unins000.exe" /SILENT"'].each do |exe|
         | 
| 93 90 | 
             
                  it "should not quote #{exe}" do
         | 
| 94 | 
            -
                    expect( | 
| 91 | 
            +
                    expect(described_class.new(name, version, exe).uninstall_command).to eq(
         | 
| 95 92 | 
             
                      exe
         | 
| 96 93 | 
             
                    )
         | 
| 97 94 | 
             
                  end
         | 
| @@ -1,10 +1,7 @@ | |
| 1 | 
            -
            #! /usr/bin/env ruby
         | 
| 2 1 | 
             
            require 'spec_helper'
         | 
| 3 2 | 
             
            require 'puppet/provider/package/windows/msi_package'
         | 
| 4 3 |  | 
| 5 4 | 
             
            describe Puppet::Provider::Package::Windows::MsiPackage do
         | 
| 6 | 
            -
              subject { described_class }
         | 
| 7 | 
            -
             | 
| 8 5 | 
             
              let (:name)        { 'mysql-5.1.58-win-x64' }
         | 
| 9 6 | 
             
              let (:version)     { '5.1.58' }
         | 
| 10 7 | 
             
              let (:source)      { 'E:\mysql-5.1.58-win-x64.msi' }
         | 
| @@ -12,24 +9,24 @@ describe Puppet::Provider::Package::Windows::MsiPackage do | |
| 12 9 | 
             
              let (:packagecode) { '{5A6FD560-763A-4BC1-9E03-B18DFFB7C72C}' }
         | 
| 13 10 |  | 
| 14 11 | 
             
              def expect_installer
         | 
| 15 | 
            -
                inst =  | 
| 16 | 
            -
                inst. | 
| 17 | 
            -
                inst. | 
| 18 | 
            -
                 | 
| 12 | 
            +
                inst = double()
         | 
| 13 | 
            +
                expect(inst).to receive(:ProductState).and_return(5)
         | 
| 14 | 
            +
                expect(inst).to receive(:ProductInfo).with(productcode, 'PackageCode').and_return(packagecode)
         | 
| 15 | 
            +
                expect(described_class).to receive(:installer).and_return(inst)
         | 
| 19 16 | 
             
              end
         | 
| 20 17 |  | 
| 21 18 | 
             
              context '::installer', :if => Puppet.features.microsoft_windows? do
         | 
| 22 19 | 
             
                it 'should return an instance of the COM interface' do
         | 
| 23 | 
            -
                  expect( | 
| 20 | 
            +
                  expect(described_class.installer).not_to be_nil
         | 
| 24 21 | 
             
                end
         | 
| 25 22 | 
             
              end
         | 
| 26 23 |  | 
| 27 24 | 
             
              context '::from_registry' do
         | 
| 28 25 | 
             
                it 'should return an instance of MsiPackage' do
         | 
| 29 | 
            -
                   | 
| 26 | 
            +
                  expect(described_class).to receive(:valid?).and_return(true)
         | 
| 30 27 | 
             
                  expect_installer
         | 
| 31 28 |  | 
| 32 | 
            -
                  pkg =  | 
| 29 | 
            +
                  pkg = described_class.from_registry(productcode, {'DisplayName' => name, 'DisplayVersion' => version})
         | 
| 33 30 | 
             
                  expect(pkg.name).to eq(name)
         | 
| 34 31 | 
             
                  expect(pkg.version).to eq(version)
         | 
| 35 32 | 
             
                  expect(pkg.productcode).to eq(productcode)
         | 
| @@ -37,9 +34,9 @@ describe Puppet::Provider::Package::Windows::MsiPackage do | |
| 37 34 | 
             
                end
         | 
| 38 35 |  | 
| 39 36 | 
             
                it 'should return nil if it is not a valid MSI' do
         | 
| 40 | 
            -
                   | 
| 37 | 
            +
                  expect(described_class).to receive(:valid?).and_return(false)
         | 
| 41 38 |  | 
| 42 | 
            -
                  expect( | 
| 39 | 
            +
                  expect(described_class.from_registry(productcode, {})).to be_nil
         | 
| 43 40 | 
             
                end
         | 
| 44 41 | 
             
              end
         | 
| 45 42 |  | 
| @@ -52,45 +49,45 @@ describe Puppet::Provider::Package::Windows::MsiPackage do | |
| 52 49 | 
             
                }.each_pair do |k, arr|
         | 
| 53 50 | 
             
                  it "should accept '#{k}' with value '#{arr[0]}'" do
         | 
| 54 51 | 
             
                    values[k] = arr[0]
         | 
| 55 | 
            -
                    expect( | 
| 52 | 
            +
                    expect(described_class.valid?(productcode, values)).to be_truthy
         | 
| 56 53 | 
             
                  end
         | 
| 57 54 |  | 
| 58 55 | 
             
                  it "should reject '#{k}' with value '#{arr[1]}'" do
         | 
| 59 56 | 
             
                    values[k] = arr[1]
         | 
| 60 | 
            -
                    expect( | 
| 57 | 
            +
                    expect(described_class.valid?(productcode, values)).to be_falsey
         | 
| 61 58 | 
             
                  end
         | 
| 62 59 | 
             
                end
         | 
| 63 60 |  | 
| 64 61 | 
             
                it 'should reject packages whose name is not a productcode' do
         | 
| 65 | 
            -
                 expect( | 
| 62 | 
            +
                 expect(described_class.valid?('AddressBook', values)).to be_falsey
         | 
| 66 63 | 
             
               end
         | 
| 67 64 |  | 
| 68 65 | 
             
               it 'should accept packages whose name is a productcode' do
         | 
| 69 | 
            -
                 expect( | 
| 66 | 
            +
                 expect(described_class.valid?(productcode, values)).to be_truthy
         | 
| 70 67 | 
             
               end
         | 
| 71 68 | 
             
              end
         | 
| 72 69 |  | 
| 73 70 | 
             
              context '#match?' do
         | 
| 74 71 | 
             
                it 'should match package codes case-insensitively' do
         | 
| 75 | 
            -
                  pkg =  | 
| 72 | 
            +
                  pkg = described_class.new(name, version, productcode, packagecode.upcase)
         | 
| 76 73 |  | 
| 77 74 | 
             
                  expect(pkg.match?({:name => packagecode.downcase})).to be_truthy
         | 
| 78 75 | 
             
                end
         | 
| 79 76 |  | 
| 80 77 | 
             
                it 'should match product codes case-insensitively' do
         | 
| 81 | 
            -
                  pkg =  | 
| 78 | 
            +
                  pkg = described_class.new(name, version, productcode.upcase, packagecode)
         | 
| 82 79 |  | 
| 83 80 | 
             
                  expect(pkg.match?({:name => productcode.downcase})).to be_truthy
         | 
| 84 81 | 
             
                end
         | 
| 85 82 |  | 
| 86 83 | 
             
                it 'should match product name' do
         | 
| 87 | 
            -
                  pkg =  | 
| 84 | 
            +
                  pkg = described_class.new(name, version, productcode, packagecode)
         | 
| 88 85 |  | 
| 89 86 | 
             
                  expect(pkg.match?({:name => name})).to be_truthy
         | 
| 90 87 | 
             
                end
         | 
| 91 88 |  | 
| 92 89 | 
             
                it 'should return false otherwise' do
         | 
| 93 | 
            -
                  pkg =  | 
| 90 | 
            +
                  pkg = described_class.new(name, version, productcode, packagecode)
         | 
| 94 91 |  | 
| 95 92 | 
             
                  expect(pkg.match?({:name => 'not going to find it'})).to be_falsey
         | 
| 96 93 | 
             
                end
         | 
| @@ -98,7 +95,7 @@ describe Puppet::Provider::Package::Windows::MsiPackage do | |
| 98 95 |  | 
| 99 96 | 
             
              context '#install_command' do
         | 
| 100 97 | 
             
                it 'should install using the source' do
         | 
| 101 | 
            -
                  cmd =  | 
| 98 | 
            +
                  cmd = described_class.install_command({:source => source})
         | 
| 102 99 |  | 
| 103 100 | 
             
                  expect(cmd).to eq(['msiexec.exe', '/qn', '/norestart', '/i', source])
         | 
| 104 101 | 
             
                end
         | 
| @@ -106,7 +103,7 @@ describe Puppet::Provider::Package::Windows::MsiPackage do | |
| 106 103 |  | 
| 107 104 | 
             
              context '#uninstall_command' do
         | 
| 108 105 | 
             
                it 'should uninstall using the productcode' do
         | 
| 109 | 
            -
                  pkg =  | 
| 106 | 
            +
                  pkg = described_class.new(name, version, productcode, packagecode)
         | 
| 110 107 |  | 
| 111 108 | 
             
                  expect(pkg.uninstall_command).to eq(['msiexec.exe', '/qn', '/norestart', '/x', productcode])
         | 
| 112 109 | 
             
                end
         | 
| @@ -1,30 +1,27 @@ | |
| 1 | 
            -
            #! /usr/bin/env ruby
         | 
| 2 1 | 
             
            require 'spec_helper'
         | 
| 3 2 | 
             
            require 'puppet/provider/package/windows/package'
         | 
| 4 3 |  | 
| 5 4 | 
             
            describe Puppet::Provider::Package::Windows::Package do
         | 
| 6 | 
            -
              subject { described_class }
         | 
| 7 | 
            -
             | 
| 8 5 | 
             
              let(:hklm) { 'HKEY_LOCAL_MACHINE' }
         | 
| 9 6 | 
             
              let(:hkcu) { 'HKEY_CURRENT_USER' }
         | 
| 10 7 | 
             
              let(:path) { 'Software\Microsoft\Windows\CurrentVersion\Uninstall' }
         | 
| 11 | 
            -
              let(:key)  {  | 
| 12 | 
            -
              let(:package)  {  | 
| 8 | 
            +
              let(:key)  { double('key', :name => "#{hklm}\\#{path}\\Google") }
         | 
| 9 | 
            +
              let(:package)  { double('package') }
         | 
| 13 10 |  | 
| 14 11 | 
             
              context '::each' do
         | 
| 15 12 | 
             
                it 'should generate an empty enumeration' do
         | 
| 16 | 
            -
                   | 
| 13 | 
            +
                  expect(described_class).to receive(:with_key)
         | 
| 17 14 |  | 
| 18 | 
            -
                  expect( | 
| 15 | 
            +
                  expect(described_class.to_a).to be_empty
         | 
| 19 16 | 
             
                end
         | 
| 20 17 |  | 
| 21 18 | 
             
                it 'should yield each package it finds' do
         | 
| 22 | 
            -
                   | 
| 19 | 
            +
                  expect(described_class).to receive(:with_key).and_yield(key, {})
         | 
| 23 20 |  | 
| 24 | 
            -
                  Puppet::Provider::Package::Windows::MsiPackage. | 
| 21 | 
            +
                  expect(Puppet::Provider::Package::Windows::MsiPackage).to receive(:from_registry).with('Google', {}).and_return(package)
         | 
| 25 22 |  | 
| 26 23 | 
             
                  yielded = nil
         | 
| 27 | 
            -
                   | 
| 24 | 
            +
                  described_class.each do |pkg|
         | 
| 28 25 | 
             
                    yielded = pkg
         | 
| 29 26 | 
             
                  end
         | 
| 30 27 |  | 
| @@ -34,33 +31,31 @@ describe Puppet::Provider::Package::Windows::Package do | |
| 34 31 |  | 
| 35 32 | 
             
              context '::with_key', :if => Puppet.features.microsoft_windows? do
         | 
| 36 33 | 
             
                it 'should search HKLM (64 & 32) and HKCU (64 & 32)' do
         | 
| 37 | 
            -
                   | 
| 38 | 
            -
             | 
| 39 | 
            -
                   | 
| 40 | 
            -
                   | 
| 41 | 
            -
                  subject.expects(:open).with(hkcu, path, subject::KEY64 | subject::KEY_READ).in_sequence(seq)
         | 
| 42 | 
            -
                  subject.expects(:open).with(hkcu, path, subject::KEY32 | subject::KEY_READ).in_sequence(seq)
         | 
| 34 | 
            +
                  expect(described_class).to receive(:open).with(hklm, path, described_class::KEY64 | described_class::KEY_READ).ordered
         | 
| 35 | 
            +
                  expect(described_class).to receive(:open).with(hklm, path, described_class::KEY32 | described_class::KEY_READ).ordered
         | 
| 36 | 
            +
                  expect(described_class).to receive(:open).with(hkcu, path, described_class::KEY64 | described_class::KEY_READ).ordered
         | 
| 37 | 
            +
                  expect(described_class).to receive(:open).with(hkcu, path, described_class::KEY32 | described_class::KEY_READ).ordered
         | 
| 43 38 |  | 
| 44 | 
            -
                   | 
| 39 | 
            +
                  described_class.with_key { |key, values| }
         | 
| 45 40 | 
             
                end
         | 
| 46 41 |  | 
| 47 42 | 
             
                it 'should ignore file not found exceptions' do
         | 
| 48 43 | 
             
                  ex = Puppet::Util::Windows::Error.new('Failed to open registry key', Puppet::Util::Windows::Error::ERROR_FILE_NOT_FOUND)
         | 
| 49 44 |  | 
| 50 45 | 
             
                  # make sure we don't stop after the first exception
         | 
| 51 | 
            -
                   | 
| 46 | 
            +
                  expect(described_class).to receive(:open).exactly(4).times().and_raise(ex)
         | 
| 52 47 |  | 
| 53 48 | 
             
                  keys = []
         | 
| 54 | 
            -
                   | 
| 49 | 
            +
                  described_class.with_key { |key, values| keys << key }
         | 
| 55 50 | 
             
                  expect(keys).to be_empty
         | 
| 56 51 | 
             
                end
         | 
| 57 52 |  | 
| 58 53 | 
             
                it 'should raise other types of exceptions' do
         | 
| 59 54 | 
             
                  ex = Puppet::Util::Windows::Error.new('Failed to open registry key', Puppet::Util::Windows::Error::ERROR_ACCESS_DENIED)
         | 
| 60 | 
            -
                   | 
| 55 | 
            +
                  expect(described_class).to receive(:open).and_raise(ex)
         | 
| 61 56 |  | 
| 62 57 | 
             
                  expect {
         | 
| 63 | 
            -
                     | 
| 58 | 
            +
                    described_class.with_key{ |key, values| }
         | 
| 64 59 | 
             
                  }.to raise_error do |error|
         | 
| 65 60 | 
             
                    expect(error).to be_a(Puppet::Util::Windows::Error)
         | 
| 66 61 | 
             
                    expect(error.code).to eq(5) # ERROR_ACCESS_DENIED
         | 
| @@ -71,7 +66,7 @@ describe Puppet::Provider::Package::Windows::Package do | |
| 71 66 | 
             
              context '::installer_class' do
         | 
| 72 67 | 
             
                it 'should require the source parameter' do
         | 
| 73 68 | 
             
                  expect {
         | 
| 74 | 
            -
                     | 
| 69 | 
            +
                    described_class.installer_class({})
         | 
| 75 70 | 
             
                  }.to raise_error(Puppet::Error, /The source parameter is required when using the Windows provider./)
         | 
| 76 71 | 
             
                end
         | 
| 77 72 |  | 
| @@ -79,20 +74,20 @@ describe Puppet::Provider::Package::Windows::Package do | |
| 79 74 | 
             
                  let (:klass) { Puppet::Provider::Package::Windows::MsiPackage }
         | 
| 80 75 |  | 
| 81 76 | 
             
                  it 'should accept source ending in .msi' do
         | 
| 82 | 
            -
                    expect( | 
| 77 | 
            +
                    expect(described_class.installer_class({:source => 'foo.msi'})).to eq(klass)
         | 
| 83 78 | 
             
                  end
         | 
| 84 79 |  | 
| 85 80 | 
             
                  it 'should accept quoted source ending in .msi' do
         | 
| 86 | 
            -
                    expect( | 
| 81 | 
            +
                    expect(described_class.installer_class({:source => '"foo.msi"'})).to eq(klass)
         | 
| 87 82 | 
             
                  end
         | 
| 88 83 |  | 
| 89 84 | 
             
                  it 'should accept source case insensitively' do
         | 
| 90 | 
            -
                    expect( | 
| 85 | 
            +
                    expect(described_class.installer_class({:source => '"foo.MSI"'})).to eq(klass)
         | 
| 91 86 | 
             
                  end
         | 
| 92 87 |  | 
| 93 88 | 
             
                  it 'should reject source containing msi in the name' do
         | 
| 94 89 | 
             
                    expect {
         | 
| 95 | 
            -
                       | 
| 90 | 
            +
                      described_class.installer_class({:source => 'mymsi.txt'})
         | 
| 96 91 | 
             
                    }.to raise_error(Puppet::Error, /Don't know how to install 'mymsi.txt'/)
         | 
| 97 92 | 
             
                  end
         | 
| 98 93 | 
             
                end
         | 
| @@ -100,7 +95,7 @@ describe Puppet::Provider::Package::Windows::Package do | |
| 100 95 | 
             
                context 'Unknown' do
         | 
| 101 96 | 
             
                  it 'should reject packages it does not know about' do
         | 
| 102 97 | 
             
                    expect {
         | 
| 103 | 
            -
                       | 
| 98 | 
            +
                      described_class.installer_class({:source => 'basram'})
         | 
| 104 99 | 
             
                    }.to raise_error(Puppet::Error, /Don't know how to install 'basram'/)
         | 
| 105 100 | 
             
                  end
         | 
| 106 101 | 
             
                end
         | 
| @@ -108,76 +103,76 @@ describe Puppet::Provider::Package::Windows::Package do | |
| 108 103 |  | 
| 109 104 | 
             
              context '::munge' do
         | 
| 110 105 | 
             
                it 'should shell quote strings with spaces and fix forward slashes' do
         | 
| 111 | 
            -
                  expect( | 
| 106 | 
            +
                  expect(described_class.munge('c:/windows/the thing')).to eq('"c:\windows\the thing"')
         | 
| 112 107 | 
             
                end
         | 
| 113 108 | 
             
                it 'should leave properly formatted paths alone' do
         | 
| 114 | 
            -
                  expect( | 
| 109 | 
            +
                  expect(described_class.munge('c:\windows\thething')).to eq('c:\windows\thething')
         | 
| 115 110 | 
             
                end
         | 
| 116 111 | 
             
              end
         | 
| 117 112 |  | 
| 118 113 | 
             
              context '::replace_forward_slashes' do
         | 
| 119 114 | 
             
                it 'should replace forward with back slashes' do
         | 
| 120 | 
            -
                  expect( | 
| 115 | 
            +
                  expect(described_class.replace_forward_slashes('c:/windows/thing/stuff')).to eq('c:\windows\thing\stuff')
         | 
| 121 116 | 
             
                end
         | 
| 122 117 | 
             
              end
         | 
| 123 118 |  | 
| 124 119 | 
             
              context '::quote' do
         | 
| 125 120 | 
             
                it 'should shell quote strings with spaces' do
         | 
| 126 | 
            -
                  expect( | 
| 121 | 
            +
                  expect(described_class.quote('foo bar')).to eq('"foo bar"')
         | 
| 127 122 | 
             
                end
         | 
| 128 123 |  | 
| 129 124 | 
             
                it 'should shell quote strings with spaces and quotes' do
         | 
| 130 | 
            -
                  expect( | 
| 125 | 
            +
                  expect(described_class.quote('"foo bar" baz')).to eq('"\"foo bar\" baz"')
         | 
| 131 126 | 
             
                end
         | 
| 132 127 |  | 
| 133 128 | 
             
                it 'should not shell quote strings without spaces' do
         | 
| 134 | 
            -
                  expect( | 
| 129 | 
            +
                  expect(described_class.quote('"foobar"')).to eq('"foobar"')
         | 
| 135 130 | 
             
                end
         | 
| 136 131 | 
             
              end
         | 
| 137 132 |  | 
| 138 133 | 
             
              context '::get_display_name' do
         | 
| 139 134 | 
             
                it 'should return nil if values is nil' do
         | 
| 140 | 
            -
                  expect( | 
| 135 | 
            +
                  expect(described_class.get_display_name(nil)).to be_nil
         | 
| 141 136 | 
             
                end
         | 
| 142 137 |  | 
| 143 138 | 
             
                it 'should return empty if values is empty' do
         | 
| 144 139 | 
             
                  reg_values =  {}
         | 
| 145 | 
            -
                  expect( | 
| 140 | 
            +
                  expect(described_class.get_display_name(reg_values)).to eq('')
         | 
| 146 141 | 
             
                end
         | 
| 147 142 |  | 
| 148 143 | 
             
                it 'should return DisplayName when available' do
         | 
| 149 144 | 
             
                  reg_values =  { 'DisplayName' => 'Google' }
         | 
| 150 | 
            -
                  expect( | 
| 145 | 
            +
                  expect(described_class.get_display_name(reg_values)).to eq('Google')
         | 
| 151 146 | 
             
                end
         | 
| 152 147 |  | 
| 153 148 | 
             
                it 'should return DisplayName when available, even when QuietDisplayName is also available' do
         | 
| 154 149 | 
             
                  reg_values =  { 'DisplayName' => 'Google', 'QuietDisplayName' => 'Google Quiet' }
         | 
| 155 | 
            -
                  expect( | 
| 150 | 
            +
                  expect(described_class.get_display_name(reg_values)).to eq('Google')
         | 
| 156 151 | 
             
                end
         | 
| 157 152 |  | 
| 158 153 | 
             
                it 'should return QuietDisplayName when available if DisplayName is empty' do
         | 
| 159 154 | 
             
                  reg_values =  { 'DisplayName' => '', 'QuietDisplayName' =>'Google Quiet' }
         | 
| 160 | 
            -
                  expect( | 
| 155 | 
            +
                  expect(described_class.get_display_name(reg_values)).to eq('Google Quiet')
         | 
| 161 156 | 
             
                end
         | 
| 162 157 |  | 
| 163 158 | 
             
                it 'should return QuietDisplayName when DisplayName is not available' do
         | 
| 164 159 | 
             
                  reg_values =  { 'QuietDisplayName' =>'Google Quiet' }
         | 
| 165 | 
            -
                  expect( | 
| 160 | 
            +
                  expect(described_class.get_display_name(reg_values)).to eq('Google Quiet')
         | 
| 166 161 | 
             
                end
         | 
| 167 162 |  | 
| 168 163 | 
             
                it 'should return empty when DisplayName is empty and QuietDisplay name is not available' do
         | 
| 169 164 | 
             
                  reg_values =  { 'DisplayName' => '' }
         | 
| 170 | 
            -
                  expect( | 
| 165 | 
            +
                  expect(described_class.get_display_name(reg_values)).to eq('')
         | 
| 171 166 | 
             
                end
         | 
| 172 167 |  | 
| 173 168 | 
             
                it 'should return empty when DisplayName is empty and QuietDisplay name is empty' do
         | 
| 174 169 | 
             
                  reg_values =  { 'DisplayName' => '', 'QuietDisplayName' =>'' }
         | 
| 175 | 
            -
                  expect( | 
| 170 | 
            +
                  expect(described_class.get_display_name(reg_values)).to eq('')
         | 
| 176 171 | 
             
                end
         | 
| 177 172 | 
             
              end
         | 
| 178 173 |  | 
| 179 174 | 
             
              it 'should implement instance methods' do
         | 
| 180 | 
            -
                pkg =  | 
| 175 | 
            +
                pkg = described_class.new('orca', '5.0')
         | 
| 181 176 |  | 
| 182 177 | 
             
                expect(pkg.name).to eq('orca')
         | 
| 183 178 | 
             
                expect(pkg.version).to eq('5.0')
         |