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
| @@ -6,9 +6,9 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 6 6 | 
             
              before do  
         | 
| 7 7 | 
             
                @resource = Puppet::Resource.new(:package, "fake_package")
         | 
| 8 8 | 
             
                @provider = described_class.new(@resource)
         | 
| 9 | 
            -
                @client =  | 
| 10 | 
            -
                @client. | 
| 11 | 
            -
                @client. | 
| 9 | 
            +
                @client = double('client')
         | 
| 10 | 
            +
                allow(@client).to receive(:call).with('package_releases', 'real_package').and_return(["1.3", "1.2.5", "1.2.4"])
         | 
| 11 | 
            +
                allow(@client).to receive(:call).with('package_releases', 'fake_package').and_return([])
         | 
| 12 12 | 
             
              end
         | 
| 13 13 |  | 
| 14 14 | 
             
              context "parse" do
         | 
| @@ -27,17 +27,17 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 27 27 |  | 
| 28 28 | 
             
              context "cmd" do
         | 
| 29 29 | 
             
                it "should return 'pip.exe' by default on Windows systems" do
         | 
| 30 | 
            -
                  Puppet.features. | 
| 30 | 
            +
                  allow(Puppet.features).to receive(:microsoft_windows?).and_return(true)
         | 
| 31 31 | 
             
                  expect(described_class.cmd[0]).to eq('pip.exe')
         | 
| 32 32 | 
             
                end
         | 
| 33 33 |  | 
| 34 34 | 
             
                it "could return pip-python on legacy redhat systems which rename pip" do
         | 
| 35 | 
            -
                  Puppet.features. | 
| 35 | 
            +
                  allow(Puppet.features).to receive(:microsoft_windows?).and_return(false)
         | 
| 36 36 | 
             
                  expect(described_class.cmd[1]).to eq('pip-python')
         | 
| 37 37 | 
             
                end
         | 
| 38 38 |  | 
| 39 39 | 
             
                it "should return pip by default on other systems" do
         | 
| 40 | 
            -
                  Puppet.features. | 
| 40 | 
            +
                  allow(Puppet.features).to receive(:microsoft_windows?).and_return(false)
         | 
| 41 41 | 
             
                  expect(described_class.cmd[0]).to eq('pip')
         | 
| 42 42 | 
             
                end
         | 
| 43 43 | 
             
              end
         | 
| @@ -45,18 +45,18 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 45 45 | 
             
              context "instances" do
         | 
| 46 46 | 
             
                osfamilies.each do |osfamily, pip_cmds|
         | 
| 47 47 | 
             
                  it "should return an array on #{osfamily} systems when #{pip_cmds.join(' or ')} is present" do
         | 
| 48 | 
            -
                    Puppet.features. | 
| 48 | 
            +
                    allow(Puppet.features).to receive(:microsoft_windows?).and_return(osfamily == 'windows')
         | 
| 49 49 | 
             
                    pip_cmds.each do |pip_cmd|  
         | 
| 50 50 | 
             
                      pip_cmds.each do |cmd|
         | 
| 51 51 | 
             
                        unless cmd == pip_cmd
         | 
| 52 | 
            -
                          described_class. | 
| 52 | 
            +
                          expect(described_class).to receive(:which).with(cmd).and_return(nil)
         | 
| 53 53 | 
             
                        end
         | 
| 54 54 | 
             
                      end
         | 
| 55 | 
            -
                      described_class. | 
| 56 | 
            -
                      described_class. | 
| 57 | 
            -
                      p =  | 
| 58 | 
            -
                      p. | 
| 59 | 
            -
                      described_class. | 
| 55 | 
            +
                      allow(described_class).to receive(:pip_version).and_return('8.0.1')
         | 
| 56 | 
            +
                      expect(described_class).to receive(:which).with(pip_cmd).and_return("/fake/bin/#{pip_cmd}")
         | 
| 57 | 
            +
                      p = double("process")
         | 
| 58 | 
            +
                      expect(p).to receive(:collect).and_yield("real_package==1.2.5")
         | 
| 59 | 
            +
                      expect(described_class).to receive(:execpipe).with(["/fake/bin/#{pip_cmd}", "freeze"]).and_yield(p)
         | 
| 60 60 | 
             
                      described_class.instances
         | 
| 61 61 | 
             
                    end
         | 
| 62 62 | 
             
                  end
         | 
| @@ -65,21 +65,21 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 65 65 | 
             
                    versions = ['8.1.0', '9.0.1']
         | 
| 66 66 | 
             
                    versions.each do |version|
         | 
| 67 67 | 
             
                      it "should use the --all option when version is '#{version}'" do
         | 
| 68 | 
            -
                        Puppet.features. | 
| 69 | 
            -
                        described_class. | 
| 70 | 
            -
                        described_class. | 
| 71 | 
            -
                        p =  | 
| 72 | 
            -
                        p. | 
| 73 | 
            -
                        described_class. | 
| 68 | 
            +
                        allow(Puppet.features).to receive(:microsoft_windows?).and_return(osfamily == 'windows')
         | 
| 69 | 
            +
                        allow(described_class).to receive(:pip_cmd).and_return('/fake/bin/pip')
         | 
| 70 | 
            +
                        allow(described_class).to receive(:pip_version).and_return(version)
         | 
| 71 | 
            +
                        p = double("process")
         | 
| 72 | 
            +
                        expect(p).to receive(:collect).and_yield("real_package==1.2.5")
         | 
| 73 | 
            +
                        expect(described_class).to receive(:execpipe).with(["/fake/bin/pip", "freeze", "--all"]).and_yield(p)
         | 
| 74 74 | 
             
                        described_class.instances
         | 
| 75 75 | 
             
                      end
         | 
| 76 76 | 
             
                    end
         | 
| 77 77 | 
             
                  end
         | 
| 78 78 |  | 
| 79 79 | 
             
                  it "should return an empty array on #{osfamily} systems when #{pip_cmds.join(' and ')} are missing" do
         | 
| 80 | 
            -
                    Puppet.features. | 
| 80 | 
            +
                    allow(Puppet.features).to receive(:microsoft_windows?).and_return(osfamily == 'windows')
         | 
| 81 81 | 
             
                    pip_cmds.each do |cmd|
         | 
| 82 | 
            -
                      described_class. | 
| 82 | 
            +
                      expect(described_class).to receive(:which).with(cmd).and_return(nil)
         | 
| 83 83 | 
             
                    end
         | 
| 84 84 | 
             
                    expect(described_class.instances).to eq([])
         | 
| 85 85 | 
             
                  end
         | 
| @@ -92,11 +92,11 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 92 92 | 
             
                end
         | 
| 93 93 |  | 
| 94 94 | 
             
                it "should return a hash when pip and the package are present" do
         | 
| 95 | 
            -
                  described_class. | 
| 95 | 
            +
                  expect(described_class).to receive(:instances).and_return([described_class.new({
         | 
| 96 96 | 
             
                    :ensure   => "1.2.5",
         | 
| 97 97 | 
             
                    :name     => "real_package",
         | 
| 98 98 | 
             
                    :provider => :pip,
         | 
| 99 | 
            -
                  })]
         | 
| 99 | 
            +
                  })])
         | 
| 100 100 |  | 
| 101 101 | 
             
                  expect(@provider.query).to eq({
         | 
| 102 102 | 
             
                    :ensure   => "1.2.5",
         | 
| @@ -106,18 +106,18 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 106 106 | 
             
                end
         | 
| 107 107 |  | 
| 108 108 | 
             
                it "should return nil when the package is missing" do
         | 
| 109 | 
            -
                  described_class. | 
| 109 | 
            +
                  expect(described_class).to receive(:instances).and_return([])
         | 
| 110 110 | 
             
                  expect(@provider.query).to eq(nil)
         | 
| 111 111 | 
             
                end
         | 
| 112 112 |  | 
| 113 113 | 
             
                it "should be case insensitive" do
         | 
| 114 114 | 
             
                  @resource[:name] = "Real_Package"
         | 
| 115 115 |  | 
| 116 | 
            -
                  described_class. | 
| 116 | 
            +
                  expect(described_class).to receive(:instances).and_return([described_class.new({
         | 
| 117 117 | 
             
                    :ensure   => "1.2.5",
         | 
| 118 118 | 
             
                    :name     => "real_package",
         | 
| 119 119 | 
             
                    :provider => :pip,
         | 
| 120 | 
            -
                  })]
         | 
| 120 | 
            +
                  })])
         | 
| 121 121 |  | 
| 122 122 | 
             
                  expect(@provider.query).to eq({
         | 
| 123 123 | 
             
                    :ensure   => "1.2.5",
         | 
| @@ -130,10 +130,10 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 130 130 | 
             
              context "latest" do
         | 
| 131 131 | 
             
                context "with pip version < 1.5.4" do
         | 
| 132 132 | 
             
                  before :each do
         | 
| 133 | 
            -
                    described_class. | 
| 134 | 
            -
                    described_class. | 
| 135 | 
            -
                    described_class. | 
| 136 | 
            -
                    described_class. | 
| 133 | 
            +
                    allow(described_class).to receive(:pip_version).and_return('1.0.1')
         | 
| 134 | 
            +
                    allow(described_class).to receive(:which).with('pip').and_return("/fake/bin/pip")
         | 
| 135 | 
            +
                    allow(described_class).to receive(:which).with('pip-python').and_return("/fake/bin/pip")
         | 
| 136 | 
            +
                    allow(described_class).to receive(:which).with('pip.exe').and_return("/fake/bin/pip")
         | 
| 137 137 | 
             
                  end
         | 
| 138 138 |  | 
| 139 139 | 
             
                  it "should find a version number for new_pip_package" do
         | 
| @@ -146,7 +146,7 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 146 146 | 
             
                      Successfully downloaded real-package
         | 
| 147 147 | 
             
                      EOS
         | 
| 148 148 | 
             
                    )
         | 
| 149 | 
            -
                    Puppet::Util::Execution. | 
| 149 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execpipe).and_yield(p).once
         | 
| 150 150 | 
             
                    @resource[:name] = "real_package"
         | 
| 151 151 | 
             
                    expect(@provider.latest).to eq('0.10.1')
         | 
| 152 152 | 
             
                  end
         | 
| @@ -176,7 +176,7 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 176 176 | 
             
                      Storing complete log in /root/.pip/pip.log
         | 
| 177 177 | 
             
                      EOS
         | 
| 178 178 | 
             
                    )
         | 
| 179 | 
            -
                    Puppet::Util::Execution. | 
| 179 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execpipe).and_yield(p).once
         | 
| 180 180 | 
             
                    @resource[:name] = "fake_package"
         | 
| 181 181 | 
             
                    expect(@provider.latest).to eq(nil)
         | 
| 182 182 | 
             
                  end
         | 
| @@ -186,10 +186,10 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 186 186 | 
             
                  # For Pip 1.5.4 and above, you can get a version list from CLI - which allows for native pip behavior
         | 
| 187 187 | 
             
                  # with regards to custom repositories, proxies and the like
         | 
| 188 188 | 
             
                  before :each do
         | 
| 189 | 
            -
                    described_class. | 
| 190 | 
            -
                    described_class. | 
| 191 | 
            -
                    described_class. | 
| 192 | 
            -
                    described_class. | 
| 189 | 
            +
                    allow(described_class).to receive(:pip_version).and_return('1.5.4')
         | 
| 190 | 
            +
                    allow(described_class).to receive(:which).with('pip').and_return("/fake/bin/pip")
         | 
| 191 | 
            +
                    allow(described_class).to receive(:which).with('pip-python').and_return("/fake/bin/pip")
         | 
| 192 | 
            +
                    allow(described_class).to receive(:which).with('pip.exe').and_return("/fake/bin/pip")
         | 
| 193 193 | 
             
                  end
         | 
| 194 194 |  | 
| 195 195 | 
             
                  it "should find a version number for real_package" do
         | 
| @@ -200,7 +200,7 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 200 200 | 
             
                      No matching distribution found for real-package==versionplease
         | 
| 201 201 | 
             
                      EOS
         | 
| 202 202 | 
             
                    )
         | 
| 203 | 
            -
                    Puppet::Util::Execution. | 
| 203 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execpipe).with(["/fake/bin/pip", "install", "real_package==versionplease"]).and_yield(p).once
         | 
| 204 204 | 
             
                    @resource[:name] = "real_package"
         | 
| 205 205 | 
             
                    latest = @provider.latest
         | 
| 206 206 | 
             
                    expect(latest).to eq('1.9b1')
         | 
| @@ -214,7 +214,7 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 214 214 | 
             
                      No matching distribution found for fake-package==versionplease
         | 
| 215 215 | 
             
                      EOS
         | 
| 216 216 | 
             
                    )
         | 
| 217 | 
            -
                    Puppet::Util::Execution. | 
| 217 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execpipe).with(["/fake/bin/pip", "install", "fake_package==versionplease"]).and_yield(p).once
         | 
| 218 218 | 
             
                    @resource[:name] = "fake_package"
         | 
| 219 219 | 
             
                    expect(@provider.latest).to eq(nil)
         | 
| 220 220 | 
             
                  end
         | 
| @@ -227,7 +227,7 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 227 227 | 
             
                      No distributions matching the version for real-package==versionplease
         | 
| 228 228 | 
             
                      EOS
         | 
| 229 229 | 
             
                    )
         | 
| 230 | 
            -
                    Puppet::Util::Execution. | 
| 230 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execpipe).with(["/fake/bin/pip", "install", "real_package==versionplease"]).and_yield(p).once
         | 
| 231 231 | 
             
                    @resource[:name] = "real_package"
         | 
| 232 232 | 
             
                    latest = @provider.latest
         | 
| 233 233 | 
             
                    expect(latest).to eq('15.0.2')
         | 
| @@ -244,8 +244,7 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 244 244 | 
             
                it "should install" do
         | 
| 245 245 | 
             
                  @resource[:ensure] = :installed
         | 
| 246 246 | 
             
                  @resource[:source] = nil
         | 
| 247 | 
            -
                  @provider. | 
| 248 | 
            -
                    with("install", '-q', "fake_package")
         | 
| 247 | 
            +
                  expect(@provider).to receive(:lazy_pip).with("install", '-q', "fake_package")
         | 
| 249 248 | 
             
                  @provider.install
         | 
| 250 249 | 
             
                end
         | 
| 251 250 |  | 
| @@ -253,8 +252,8 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 253 252 | 
             
                  # The -e flag makes the provider non-idempotent
         | 
| 254 253 | 
             
                  @resource[:ensure] = :installed
         | 
| 255 254 | 
             
                  @resource[:source] = @url
         | 
| 256 | 
            -
                  @provider. | 
| 257 | 
            -
                     | 
| 255 | 
            +
                  expect(@provider).to receive(:lazy_pip) do |*args|
         | 
| 256 | 
            +
                    expect(args).not_to include("-e")
         | 
| 258 257 | 
             
                  end
         | 
| 259 258 | 
             
                  @provider.install
         | 
| 260 259 | 
             
                end
         | 
| @@ -262,31 +261,28 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 262 261 | 
             
                it "should install from SCM" do
         | 
| 263 262 | 
             
                  @resource[:ensure] = :installed
         | 
| 264 263 | 
             
                  @resource[:source] = @url
         | 
| 265 | 
            -
                  @provider. | 
| 266 | 
            -
                    with("install", '-q', "#{@url}#egg=fake_package")
         | 
| 264 | 
            +
                  expect(@provider).to receive(:lazy_pip).with("install", '-q', "#{@url}#egg=fake_package")
         | 
| 267 265 | 
             
                  @provider.install
         | 
| 268 266 | 
             
                end
         | 
| 269 267 |  | 
| 270 268 | 
             
                it "should install a particular SCM revision" do
         | 
| 271 269 | 
             
                  @resource[:ensure] = "0123456"
         | 
| 272 270 | 
             
                  @resource[:source] = @url
         | 
| 273 | 
            -
                  @provider. | 
| 274 | 
            -
                    with("install", "-q", "#{@url}@0123456#egg=fake_package")
         | 
| 271 | 
            +
                  expect(@provider).to receive(:lazy_pip).with("install", "-q", "#{@url}@0123456#egg=fake_package")
         | 
| 275 272 | 
             
                  @provider.install
         | 
| 276 273 | 
             
                end
         | 
| 277 274 |  | 
| 278 275 | 
             
                it "should install a particular version" do
         | 
| 279 276 | 
             
                  @resource[:ensure] = "0.0.0"
         | 
| 280 277 | 
             
                  @resource[:source] = nil
         | 
| 281 | 
            -
                  @provider. | 
| 278 | 
            +
                  expect(@provider).to receive(:lazy_pip).with("install", "-q", "fake_package==0.0.0")
         | 
| 282 279 | 
             
                  @provider.install
         | 
| 283 280 | 
             
                end
         | 
| 284 281 |  | 
| 285 282 | 
             
                it "should upgrade" do
         | 
| 286 283 | 
             
                  @resource[:ensure] = :latest
         | 
| 287 284 | 
             
                  @resource[:source] = nil
         | 
| 288 | 
            -
                  @provider. | 
| 289 | 
            -
                    with("install", "-q", "--upgrade", "fake_package")
         | 
| 285 | 
            +
                  expect(@provider).to receive(:lazy_pip).with("install", "-q", "--upgrade", "fake_package")
         | 
| 290 286 | 
             
                  @provider.install
         | 
| 291 287 | 
             
                end
         | 
| 292 288 |  | 
| @@ -294,8 +290,7 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 294 290 | 
             
                  @resource[:ensure] = :installed
         | 
| 295 291 | 
             
                  @resource[:source] = nil
         | 
| 296 292 | 
             
                  @resource[:install_options] = [{"--timeout" => "10"}, "--no-index"]
         | 
| 297 | 
            -
                  @provider. | 
| 298 | 
            -
                    with("install", "-q", "--timeout=10", "--no-index", "fake_package")
         | 
| 293 | 
            +
                  expect(@provider).to receive(:lazy_pip).with("install", "-q", "--timeout=10", "--no-index", "fake_package")
         | 
| 299 294 | 
             
                  @provider.install
         | 
| 300 295 | 
             
                end
         | 
| 301 296 | 
             
              end
         | 
| @@ -303,30 +298,29 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 303 298 | 
             
              context "uninstall" do
         | 
| 304 299 | 
             
                it "should uninstall" do
         | 
| 305 300 | 
             
                  @resource[:name] = "fake_package"
         | 
| 306 | 
            -
                  @provider. | 
| 307 | 
            -
                    with('uninstall', '-y', '-q', 'fake_package')
         | 
| 301 | 
            +
                  expect(@provider).to receive(:lazy_pip).with('uninstall', '-y', '-q', 'fake_package')
         | 
| 308 302 | 
             
                  @provider.uninstall
         | 
| 309 303 | 
             
                end
         | 
| 310 304 | 
             
              end
         | 
| 311 305 |  | 
| 312 306 | 
             
              context "update" do
         | 
| 313 307 | 
             
                it "should just call install" do
         | 
| 314 | 
            -
                  @provider. | 
| 308 | 
            +
                  expect(@provider).to receive(:install).and_return(nil)
         | 
| 315 309 | 
             
                  @provider.update
         | 
| 316 310 | 
             
                end
         | 
| 317 311 | 
             
              end
         | 
| 318 312 |  | 
| 319 313 | 
             
              context "pip_version" do
         | 
| 320 314 | 
             
                it "should return nil on missing pip" do
         | 
| 321 | 
            -
                  described_class. | 
| 315 | 
            +
                  allow(described_class).to receive(:pip_cmd).and_return(nil)
         | 
| 322 316 | 
             
                  expect(described_class.pip_version).to eq(nil)
         | 
| 323 317 | 
             
                end
         | 
| 324 318 |  | 
| 325 319 | 
             
                it "should look up version if pip is present" do
         | 
| 326 | 
            -
                  described_class. | 
| 327 | 
            -
                  p =  | 
| 328 | 
            -
                  p. | 
| 329 | 
            -
                  described_class. | 
| 320 | 
            +
                  allow(described_class).to receive(:pip_cmd).and_return('/fake/bin/pip')
         | 
| 321 | 
            +
                  p = double("process")
         | 
| 322 | 
            +
                  expect(p).to receive(:collect).and_yield('pip 8.0.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)')
         | 
| 323 | 
            +
                  expect(described_class).to receive(:execpipe).with(['/fake/bin/pip', '--version']).and_yield(p)
         | 
| 330 324 | 
             
                  expect(described_class.pip_version).to eq('8.0.2')
         | 
| 331 325 | 
             
                end
         | 
| 332 326 | 
             
              end
         | 
| @@ -337,39 +331,43 @@ describe Puppet::Type.type(:package).provider(:pip) do | |
| 337 331 | 
             
                end
         | 
| 338 332 |  | 
| 339 333 | 
             
                it "should succeed if pip is present" do
         | 
| 340 | 
            -
                  @provider. | 
| 334 | 
            +
                  allow(@provider).to receive(:pip).and_return(nil)
         | 
| 341 335 | 
             
                  @provider.method(:lazy_pip).call "freeze"
         | 
| 342 336 | 
             
                end
         | 
| 343 337 |  | 
| 344 338 | 
             
                osfamilies.each do |osfamily, pip_cmds|
         | 
| 345 339 | 
             
                  pip_cmds.each do |pip_cmd|
         | 
| 346 340 | 
             
                    it "should retry on #{osfamily} systems if #{pip_cmd} has not yet been found" do
         | 
| 347 | 
            -
                      Puppet.features. | 
| 348 | 
            -
                       | 
| 341 | 
            +
                      allow(Puppet.features).to receive(:microsoft_windows?).and_return(osfamily == 'windows')
         | 
| 342 | 
            +
                      times_called = 0
         | 
| 343 | 
            +
                      expect(@provider).to receive(:pip).twice.with('freeze') do
         | 
| 344 | 
            +
                        times_called += 1
         | 
| 345 | 
            +
                        raise NoMethodError if times_called == 1
         | 
| 346 | 
            +
                      end
         | 
| 349 347 | 
             
                      pip_cmds.each do |cmd|
         | 
| 350 348 | 
             
                        unless cmd == pip_cmd
         | 
| 351 | 
            -
                          @provider. | 
| 349 | 
            +
                          expect(@provider).to receive(:which).with(cmd).and_return(nil)
         | 
| 352 350 | 
             
                        end
         | 
| 353 351 | 
             
                      end
         | 
| 354 | 
            -
                      @provider. | 
| 352 | 
            +
                      expect(@provider).to receive(:which).with(pip_cmd).and_return("/fake/bin/#{pip_cmd}")
         | 
| 355 353 | 
             
                      @provider.method(:lazy_pip).call "freeze"
         | 
| 356 354 | 
             
                    end
         | 
| 357 355 | 
             
                  end
         | 
| 358 356 |  | 
| 359 357 | 
             
                  it "should fail on #{osfamily} systems if #{pip_cmds.join(' and ')} are missing" do
         | 
| 360 | 
            -
                    Puppet.features. | 
| 361 | 
            -
                    @provider. | 
| 358 | 
            +
                    allow(Puppet.features).to receive(:microsoft_windows?).and_return(osfamily == 'windows')
         | 
| 359 | 
            +
                    expect(@provider).to receive(:pip).with('freeze').and_raise(NoMethodError)
         | 
| 362 360 | 
             
                    pip_cmds.each do |pip_cmd|
         | 
| 363 | 
            -
                      @provider. | 
| 361 | 
            +
                      expect(@provider).to receive(:which).with(pip_cmd).and_return(nil)
         | 
| 364 362 | 
             
                    end
         | 
| 365 363 | 
             
                    expect { @provider.method(:lazy_pip).call("freeze") }.to raise_error(NoMethodError)
         | 
| 366 364 | 
             
                  end
         | 
| 367 365 |  | 
| 368 366 | 
             
                  it "should output a useful error message on #{osfamily} systems if #{pip_cmds.join(' and ')} are missing" do
         | 
| 369 | 
            -
                    Puppet.features. | 
| 370 | 
            -
                    @provider. | 
| 367 | 
            +
                    allow(Puppet.features).to receive(:microsoft_windows?).and_return(osfamily == 'windows')
         | 
| 368 | 
            +
                    expect(@provider).to receive(:pip).with('freeze').and_raise(NoMethodError)
         | 
| 371 369 | 
             
                    pip_cmds.each do |pip_cmd|
         | 
| 372 | 
            -
                      @provider. | 
| 370 | 
            +
                      expect(@provider).to receive(:which).with(pip_cmd).and_return(nil)
         | 
| 373 371 | 
             
                    end
         | 
| 374 372 | 
             
                    expect { @provider.method(:lazy_pip).call("freeze") }.
         | 
| 375 373 | 
             
                      to raise_error(NoMethodError, "Could not locate command #{pip_cmds.join(' and ')}.")
         | 
| @@ -1,4 +1,3 @@ | |
| 1 | 
            -
            #! /usr/bin/env ruby
         | 
| 2 1 | 
             
            require 'spec_helper'
         | 
| 3 2 |  | 
| 4 3 | 
             
            describe Puppet::Type.type(:package).provider(:pkg) do
         | 
| @@ -14,7 +13,7 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 14 13 | 
             
              end
         | 
| 15 14 |  | 
| 16 15 | 
             
              before :each do
         | 
| 17 | 
            -
                described_class. | 
| 16 | 
            +
                allow(described_class).to receive(:command).with(:pkg).and_return('/bin/pkg')
         | 
| 18 17 | 
             
              end
         | 
| 19 18 |  | 
| 20 19 | 
             
              def self.it_should_respond_to(*actions)
         | 
| @@ -30,20 +29,20 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 30 29 | 
             
              context 'default' do
         | 
| 31 30 | 
             
                [ 10 ].each do |ver|
         | 
| 32 31 | 
             
                  it "should not be the default provider on Solaris #{ver}" do
         | 
| 33 | 
            -
                    Facter. | 
| 34 | 
            -
                    Facter. | 
| 35 | 
            -
                    Facter. | 
| 36 | 
            -
                    Facter. | 
| 32 | 
            +
                    allow(Facter).to receive(:value).with(:osfamily).and_return(:Solaris)
         | 
| 33 | 
            +
                    allow(Facter).to receive(:value).with(:kernelrelease).and_return("5.#{ver}")
         | 
| 34 | 
            +
                    allow(Facter).to receive(:value).with(:operatingsystem).and_return(:Solaris)
         | 
| 35 | 
            +
                    allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("#{ver}")
         | 
| 37 36 | 
             
                    expect(described_class).to_not be_default
         | 
| 38 37 | 
             
                  end
         | 
| 39 38 | 
             
                end
         | 
| 40 39 |  | 
| 41 40 | 
             
                [ 11, 12 ].each do |ver|
         | 
| 42 41 | 
             
                  it "should be the default provider on Solaris #{ver}" do
         | 
| 43 | 
            -
                    Facter. | 
| 44 | 
            -
                    Facter. | 
| 45 | 
            -
                    Facter. | 
| 46 | 
            -
                    Facter. | 
| 42 | 
            +
                    allow(Facter).to receive(:value).with(:osfamily).and_return(:Solaris)
         | 
| 43 | 
            +
                    allow(Facter).to receive(:value).with(:kernelrelease).and_return("5.#{ver}")
         | 
| 44 | 
            +
                    allow(Facter).to receive(:value).with(:operatingsystem).and_return(:Solaris)
         | 
| 45 | 
            +
                    allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return("#{ver}")
         | 
| 47 46 | 
             
                    expect(described_class).to be_default
         | 
| 48 47 | 
             
                  end
         | 
| 49 48 | 
             
                end
         | 
| @@ -102,61 +101,62 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 102 101 |  | 
| 103 102 | 
             
                context ":latest" do
         | 
| 104 103 | 
             
                  before do
         | 
| 105 | 
            -
                    described_class. | 
| 104 | 
            +
                    expect(described_class).to receive(:pkg).with(:refresh)
         | 
| 106 105 | 
             
                  end
         | 
| 106 | 
            +
             | 
| 107 107 | 
             
                  it "should work correctly for ensure latest on solaris 11 (UFOXI) when there are no further packages to install" do
         | 
| 108 | 
            -
                    described_class. | 
| 108 | 
            +
                    expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.installed')))
         | 
| 109 109 | 
             
                    expect(provider.latest).to eq('1.0.6,5.11-0.175.0.0.0.2.537:20131230T130000Z')
         | 
| 110 110 | 
             
                  end
         | 
| 111 111 |  | 
| 112 112 | 
             
                  it "should work correctly for ensure latest on solaris 11 in the presence of a certificate expiration warning" do
         | 
| 113 | 
            -
                    described_class. | 
| 113 | 
            +
                    expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.certificate_warning')))
         | 
| 114 114 | 
             
                    expect(provider.latest).to eq("1.0.6-0.175.0.0.0.2.537")
         | 
| 115 115 | 
             
                  end
         | 
| 116 116 |  | 
| 117 117 | 
             
                  it "should work correctly for ensure latest on solaris 11(known UFOXI)" do
         | 
| 118 | 
            -
                    Puppet::Util::Execution. | 
| 118 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 119 119 | 
             
                      .with(['/bin/pkg', 'update', '-n', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 120 | 
            -
                      . | 
| 121 | 
            -
                    $CHILD_STATUS. | 
| 120 | 
            +
                      .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 121 | 
            +
                    allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 122 122 |  | 
| 123 | 
            -
                    described_class. | 
| 123 | 
            +
                    expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.known')))
         | 
| 124 124 | 
             
                    expect(provider.latest).to eq('1.0.6,5.11-0.175.0.0.0.2.537:20131230T130000Z')
         | 
| 125 125 | 
             
                  end
         | 
| 126 126 |  | 
| 127 127 | 
             
                  it "should work correctly for ensure latest on solaris 11 (IFO)" do
         | 
| 128 | 
            -
                    described_class. | 
| 128 | 
            +
                    expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.ifo.installed')))
         | 
| 129 129 | 
             
                    expect(provider.latest).to eq('1.0.6,5.11-0.175.0.0.0.2.537:20131230T130000Z')
         | 
| 130 130 | 
             
                  end
         | 
| 131 131 |  | 
| 132 132 | 
             
                  it "should work correctly for ensure latest on solaris 11(known IFO)" do
         | 
| 133 | 
            -
                    Puppet::Util::Execution. | 
| 134 | 
            -
                    $CHILD_STATUS. | 
| 133 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'update', '-n', 'dummy'], {:failonfail => false, :combine => true}).and_return('')
         | 
| 134 | 
            +
                    allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 135 135 |  | 
| 136 | 
            -
                    described_class. | 
| 136 | 
            +
                    expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.ifo.known')))
         | 
| 137 137 | 
             
                    expect(provider.latest).to eq('1.0.6,5.11-0.175.0.0.0.2.537:20131230T130000Z')
         | 
| 138 138 | 
             
                  end
         | 
| 139 139 |  | 
| 140 140 | 
             
                  it "issues a warning when the certificate has expired" do
         | 
| 141 141 | 
             
                    warning = "Certificate '/var/pkg/ssl/871b4ed0ade09926e6adf95f86bf17535f987684' for publisher 'solarisstudio', needed to access 'https://pkg.oracle.com/solarisstudio/release/', will expire in '29' days."
         | 
| 142 | 
            -
                    Puppet. | 
| 142 | 
            +
                    expect(Puppet).to receive(:warning).with("pkg warning: #{warning}")
         | 
| 143 143 |  | 
| 144 | 
            -
                    described_class. | 
| 144 | 
            +
                    expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.certificate_warning')))
         | 
| 145 145 | 
             
                    provider.latest
         | 
| 146 146 | 
             
                  end
         | 
| 147 147 |  | 
| 148 148 | 
             
                  it "doesn't issue a warning when the certificate hasn't expired" do
         | 
| 149 | 
            -
                    Puppet. | 
| 149 | 
            +
                    expect(Puppet).not_to receive(:warning).with(/pkg warning/)
         | 
| 150 150 |  | 
| 151 | 
            -
                    described_class. | 
| 151 | 
            +
                    expect(described_class).to receive(:pkg).with(:list,'-Hvn','dummy').and_return(File.read(my_fixture('dummy_solaris11.installed')))
         | 
| 152 152 | 
             
                    provider.latest
         | 
| 153 153 | 
             
                  end
         | 
| 154 154 | 
             
                end
         | 
| 155 155 |  | 
| 156 156 | 
             
                context ":instances" do
         | 
| 157 157 | 
             
                  it "should correctly parse lines on solaris 11" do
         | 
| 158 | 
            -
                    described_class. | 
| 159 | 
            -
                    described_class. | 
| 158 | 
            +
                    expect(described_class).to receive(:pkg).with(:list, '-Hv').and_return(File.read(my_fixture('solaris11')))
         | 
| 159 | 
            +
                    expect(described_class).not_to receive(:warning)
         | 
| 160 160 | 
             
                    instances = described_class.instances.map { |p| {:name => p.get(:name), :ensure => p.get(:ensure) }}
         | 
| 161 161 | 
             
                    expect(instances.size).to eq(2)
         | 
| 162 162 | 
             
                    expect(instances[0]).to eq({:name => 'dummy/dummy', :ensure => '3.0,5.11-0.175.0.0.0.2.537:20131230T130000Z'})
         | 
| @@ -165,14 +165,14 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 165 165 |  | 
| 166 166 | 
             
                  it "should fail on incorrect lines" do
         | 
| 167 167 | 
             
                    fake_output = File.read(my_fixture('incomplete'))
         | 
| 168 | 
            -
                    described_class. | 
| 168 | 
            +
                    expect(described_class).to receive(:pkg).with(:list,'-Hv').and_return(fake_output)
         | 
| 169 169 | 
             
                    expect {
         | 
| 170 170 | 
             
                      described_class.instances
         | 
| 171 171 | 
             
                    }.to raise_error(ArgumentError, /Unknown line format pkg/)
         | 
| 172 172 | 
             
                  end
         | 
| 173 173 |  | 
| 174 174 | 
             
                  it "should fail on unknown package status" do
         | 
| 175 | 
            -
                    described_class. | 
| 175 | 
            +
                    expect(described_class).to receive(:pkg).with(:list,'-Hv').and_return(File.read(my_fixture('unknown_status')))
         | 
| 176 176 | 
             
                    expect {
         | 
| 177 177 | 
             
                      described_class.instances
         | 
| 178 178 | 
             
                    }.to raise_error(ArgumentError, /Unknown format pkg/)
         | 
| @@ -182,10 +182,10 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 182 182 | 
             
                context ":query" do
         | 
| 183 183 | 
             
                  context "on solaris 10" do
         | 
| 184 184 | 
             
                    it "should find the package" do
         | 
| 185 | 
            -
                      Puppet::Util::Execution. | 
| 185 | 
            +
                      expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 186 186 | 
             
                        .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 187 | 
            -
                        . | 
| 188 | 
            -
                      $CHILD_STATUS. | 
| 187 | 
            +
                        .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_solaris10')), 0))
         | 
| 188 | 
            +
                      allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 189 189 | 
             
                      expect(provider.query).to eq({
         | 
| 190 190 | 
             
                        :name      => 'dummy',
         | 
| 191 191 | 
             
                        :ensure    => '2.5.5,5.10-0.111:20131230T130000Z',
         | 
| @@ -196,20 +196,20 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 196 196 | 
             
                    end
         | 
| 197 197 |  | 
| 198 198 | 
             
                    it "should return :absent when the package is not found" do
         | 
| 199 | 
            -
                      Puppet::Util::Execution. | 
| 199 | 
            +
                      expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 200 200 | 
             
                        .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 201 | 
            -
                        . | 
| 202 | 
            -
                      $CHILD_STATUS. | 
| 201 | 
            +
                        .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 202 | 
            +
                      allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
         | 
| 203 203 | 
             
                      expect(provider.query).to eq({:ensure => :absent, :name => "dummy"})
         | 
| 204 204 | 
             
                    end
         | 
| 205 205 | 
             
                  end
         | 
| 206 206 |  | 
| 207 207 | 
             
                  context "on solaris 11" do
         | 
| 208 208 | 
             
                    it "should find the package" do
         | 
| 209 | 
            -
                      $CHILD_STATUS. | 
| 210 | 
            -
                      Puppet::Util::Execution. | 
| 209 | 
            +
                      allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 210 | 
            +
                      expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 211 211 | 
             
                        .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 212 | 
            -
                        . | 
| 212 | 
            +
                        .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_solaris11.installed')), 0))
         | 
| 213 213 | 
             
                      expect(provider.query).to eq({
         | 
| 214 214 | 
             
                        :name      => 'dummy',
         | 
| 215 215 | 
             
                        :status    => 'installed',
         | 
| @@ -220,20 +220,19 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 220 220 | 
             
                    end
         | 
| 221 221 |  | 
| 222 222 | 
             
                    it "should return :absent when the package is not found" do
         | 
| 223 | 
            -
                      Puppet::Util::Execution
         | 
| 224 | 
            -
                        .expects(:execute)
         | 
| 223 | 
            +
                      expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 225 224 | 
             
                        .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 226 | 
            -
                        . | 
| 227 | 
            -
                      $CHILD_STATUS. | 
| 225 | 
            +
                        .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 226 | 
            +
                      allow($CHILD_STATUS).to receive(:exitstatus).and_return(1)
         | 
| 228 227 | 
             
                      expect(provider.query).to eq({:ensure => :absent, :name => "dummy"})
         | 
| 229 228 | 
             
                    end
         | 
| 230 229 | 
             
                  end
         | 
| 231 230 |  | 
| 232 231 | 
             
                  it "should return fail when the packageline cannot be parsed" do
         | 
| 233 | 
            -
                    Puppet::Util::Execution. | 
| 232 | 
            +
                    expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 234 233 | 
             
                      .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 235 | 
            -
                      . | 
| 236 | 
            -
                    $CHILD_STATUS. | 
| 234 | 
            +
                      .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('incomplete')), 0))
         | 
| 235 | 
            +
                    allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 237 236 | 
             
                    expect {
         | 
| 238 237 | 
             
                      provider.query
         | 
| 239 238 | 
             
                    }.to raise_error(ArgumentError, /Unknown line format/)
         | 
| @@ -247,91 +246,92 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 247 246 | 
             
                  ].each do |hash|
         | 
| 248 247 | 
             
                    context "with :operatingsystemrelease #{hash[:osrel]}" do
         | 
| 249 248 | 
             
                      before :each do
         | 
| 250 | 
            -
                        Facter. | 
| 249 | 
            +
                        allow(Facter).to receive(:value).with(:operatingsystemrelease).and_return(hash[:osrel])
         | 
| 251 250 | 
             
                      end
         | 
| 251 | 
            +
             | 
| 252 252 | 
             
                      it "should accept all licenses" do
         | 
| 253 | 
            -
                        provider. | 
| 254 | 
            -
                        Puppet::Util::Execution. | 
| 253 | 
            +
                        expect(provider).to receive(:query).with(no_args).and_return({:ensure => :absent})
         | 
| 254 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 255 255 | 
             
                          .with(['/bin/pkg', 'install', *hash[:flags], 'dummy'], {:failonfail => false, :combine => true})
         | 
| 256 | 
            -
                          . | 
| 257 | 
            -
                        Puppet::Util::Execution. | 
| 256 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 257 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 258 258 | 
             
                          .with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 259 | 
            -
                          . | 
| 260 | 
            -
                        $CHILD_STATUS. | 
| 259 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 260 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 261 261 | 
             
                        provider.install
         | 
| 262 262 | 
             
                      end
         | 
| 263 263 |  | 
| 264 264 | 
             
                      it "should install specific version(1)" do
         | 
| 265 265 | 
             
                        # Should install also check if the version installed is the same version we are asked to install? or should we rely on puppet for that?
         | 
| 266 266 | 
             
                        resource[:ensure] = '0.0.7,5.11-0.151006:20131230T130000Z'
         | 
| 267 | 
            -
                        $CHILD_STATUS. | 
| 268 | 
            -
                        Puppet::Util::Execution. | 
| 269 | 
            -
                        Puppet::Util::Execution. | 
| 267 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 268 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 269 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 270 270 | 
             
                          .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 271 | 
            -
                          . | 
| 272 | 
            -
                        Puppet::Util::Execution. | 
| 271 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new('pkg://foo/dummy@0.0.6,5.11-0.151006:20131230T130000Z  installed -----', 0))
         | 
| 272 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 273 273 | 
             
                          .with(['/bin/pkg', 'update', *hash[:flags], 'dummy@0.0.7,5.11-0.151006:20131230T130000Z'], {:failonfail => false, :combine => true})
         | 
| 274 | 
            -
                          . | 
| 274 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 275 275 | 
             
                        provider.install
         | 
| 276 276 | 
             
                      end
         | 
| 277 277 |  | 
| 278 278 | 
             
                      it "should install specific version(2)" do
         | 
| 279 279 | 
             
                        resource[:ensure] = '0.0.8'
         | 
| 280 | 
            -
                        Puppet::Util::Execution. | 
| 281 | 
            -
                        Puppet::Util::Execution. | 
| 280 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 281 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 282 282 | 
             
                          .with(['/bin/pkg', 'list', '-Hv', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 283 | 
            -
                          . | 
| 284 | 
            -
                        Puppet::Util::Execution. | 
| 283 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new('pkg://foo/dummy@0.0.7,5.11-0.151006:20131230T130000Z  installed -----', 0))
         | 
| 284 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 285 285 | 
             
                          .with(['/bin/pkg', 'update', *hash[:flags], 'dummy@0.0.8'], {:failonfail => false, :combine => true})
         | 
| 286 | 
            -
                          . | 
| 287 | 
            -
                        $CHILD_STATUS. | 
| 286 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 287 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 288 288 | 
             
                        provider.install
         | 
| 289 289 | 
             
                      end
         | 
| 290 290 |  | 
| 291 291 | 
             
                      it "should downgrade to specific version" do
         | 
| 292 292 | 
             
                        resource[:ensure] = '0.0.7'
         | 
| 293 | 
            -
                        provider. | 
| 294 | 
            -
                        $CHILD_STATUS. | 
| 295 | 
            -
                        Puppet::Util::Execution. | 
| 296 | 
            -
                        Puppet::Util::Execution. | 
| 293 | 
            +
                        expect(provider).to receive(:query).with(no_args).and_return({:ensure => '0.0.8,5.11-0.151106:20131230T130000Z'})
         | 
| 294 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 295 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 296 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 297 297 | 
             
                          .with(['/bin/pkg', 'update', *hash[:flags], 'dummy@0.0.7'], {:failonfail => false, :combine => true})
         | 
| 298 | 
            -
                          . | 
| 298 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 299 299 | 
             
                        provider.install
         | 
| 300 300 | 
             
                      end
         | 
| 301 301 |  | 
| 302 302 | 
             
                      it "should install any if version is not specified" do
         | 
| 303 303 | 
             
                        resource[:ensure] = :present
         | 
| 304 | 
            -
                        provider. | 
| 305 | 
            -
                        Puppet::Util::Execution. | 
| 304 | 
            +
                        expect(provider).to receive(:query).with(no_args).and_return({:ensure => :absent})
         | 
| 305 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 306 306 | 
             
                          .with(['/bin/pkg', 'install', *hash[:flags], 'dummy'], {:failonfail => false, :combine => true})
         | 
| 307 | 
            -
                          . | 
| 308 | 
            -
                        Puppet::Util::Execution. | 
| 309 | 
            -
                        $CHILD_STATUS. | 
| 307 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 308 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 309 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 310 310 | 
             
                        provider.install
         | 
| 311 311 | 
             
                      end
         | 
| 312 312 |  | 
| 313 313 | 
             
                      it "should install if no version was previously installed, and a specific version was requested" do
         | 
| 314 314 | 
             
                        resource[:ensure] = '0.0.7'
         | 
| 315 | 
            -
                        provider. | 
| 316 | 
            -
                        Puppet::Util::Execution. | 
| 317 | 
            -
                        Puppet::Util::Execution. | 
| 315 | 
            +
                        expect(provider).to receive(:query).with(no_args).and_return({:ensure => :absent})
         | 
| 316 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'unfreeze', 'dummy'], {:failonfail => false, :combine => true})
         | 
| 317 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute)
         | 
| 318 318 | 
             
                          .with(['/bin/pkg', 'install', *hash[:flags], 'dummy@0.0.7'], {:failonfail => false, :combine => true})
         | 
| 319 | 
            -
                          . | 
| 320 | 
            -
                        $CHILD_STATUS. | 
| 319 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new('', 0))
         | 
| 320 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 321 321 | 
             
                        provider.install
         | 
| 322 322 | 
             
                      end
         | 
| 323 323 |  | 
| 324 324 | 
             
                      it "installs the latest matching version when given implicit version, and none are installed" do
         | 
| 325 325 | 
             
                        resource[:ensure] = '1.0-0.151006'
         | 
| 326 326 | 
             
                        is = :absent
         | 
| 327 | 
            -
                        provider. | 
| 328 | 
            -
                        described_class. | 
| 327 | 
            +
                        expect(provider).to receive(:query).with(no_args).and_return({:ensure => is})
         | 
| 328 | 
            +
                        expect(described_class).to receive(:pkg)
         | 
| 329 329 | 
             
                          .with(:list, '-Hvfa', 'dummy@1.0-0.151006')
         | 
| 330 | 
            -
                          . | 
| 331 | 
            -
                        Puppet::Util::Execution. | 
| 332 | 
            -
                        provider. | 
| 333 | 
            -
                        Puppet::Util::Execution. | 
| 334 | 
            -
                        $CHILD_STATUS. | 
| 330 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_implicit_version')), 0))
         | 
| 331 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'install', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
         | 
| 332 | 
            +
                        expect(provider).to receive(:unhold).with(no_args)
         | 
| 333 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'install', *hash[:flags], 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
         | 
| 334 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 335 335 | 
             
                        provider.insync?(is)
         | 
| 336 336 | 
             
                        provider.install
         | 
| 337 337 | 
             
                      end
         | 
| @@ -339,12 +339,12 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 339 339 | 
             
                      it "updates to the latest matching version when given implicit version" do
         | 
| 340 340 | 
             
                        resource[:ensure] = '1.0-0.151006'
         | 
| 341 341 | 
             
                        is = '1.0,5.11-0.151006:20140219T191204Z'
         | 
| 342 | 
            -
                        provider. | 
| 343 | 
            -
                        described_class. | 
| 344 | 
            -
                        Puppet::Util::Execution. | 
| 345 | 
            -
                        provider. | 
| 346 | 
            -
                        Puppet::Util::Execution. | 
| 347 | 
            -
                        $CHILD_STATUS. | 
| 342 | 
            +
                        expect(provider).to receive(:query).with(no_args).and_return({:ensure => is})
         | 
| 343 | 
            +
                        expect(described_class).to receive(:pkg).with(:list, '-Hvfa', 'dummy@1.0-0.151006').and_return(File.read(my_fixture('dummy_implicit_version')))
         | 
| 344 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'update', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
         | 
| 345 | 
            +
                        expect(provider).to receive(:unhold).with(no_args)
         | 
| 346 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'update', *hash[:flags], 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
         | 
| 347 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 348 348 | 
             
                        provider.insync?(is)
         | 
| 349 349 | 
             
                        provider.install
         | 
| 350 350 | 
             
                      end
         | 
| @@ -352,23 +352,23 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 352 352 | 
             
                      it "issues a warning when an implicit version number is used, and in sync" do
         | 
| 353 353 | 
             
                        resource[:ensure] = '1.0-0.151006'
         | 
| 354 354 | 
             
                        is = '1.0,5.11-0.151006:20140220T084443Z'
         | 
| 355 | 
            -
                        provider. | 
| 356 | 
            -
                        described_class. | 
| 355 | 
            +
                        expect(provider).to receive(:warning).with("Implicit version 1.0-0.151006 has 3 possible matches")
         | 
| 356 | 
            +
                        expect(described_class).to receive(:pkg)
         | 
| 357 357 | 
             
                          .with(:list, '-Hvfa', 'dummy@1.0-0.151006')
         | 
| 358 | 
            -
                          . | 
| 359 | 
            -
                        Puppet::Util::Execution. | 
| 360 | 
            -
                        $CHILD_STATUS. | 
| 358 | 
            +
                          .and_return(Puppet::Util::Execution::ProcessOutput.new(File.read(my_fixture('dummy_implicit_version')), 0))
         | 
| 359 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'update', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
         | 
| 360 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(4)
         | 
| 361 361 | 
             
                        provider.insync?(is)
         | 
| 362 362 | 
             
                      end
         | 
| 363 363 |  | 
| 364 364 | 
             
                      it "issues a warning when choosing a version number for an implicit match" do
         | 
| 365 365 | 
             
                        resource[:ensure] = '1.0-0.151006'
         | 
| 366 366 | 
             
                        is = :absent
         | 
| 367 | 
            -
                        provider. | 
| 368 | 
            -
                        provider. | 
| 369 | 
            -
                        described_class. | 
| 370 | 
            -
                        Puppet::Util::Execution. | 
| 371 | 
            -
                        $CHILD_STATUS. | 
| 367 | 
            +
                        expect(provider).to receive(:warning).with("Implicit version 1.0-0.151006 has 3 possible matches")
         | 
| 368 | 
            +
                        expect(provider).to receive(:warning).with("Selecting version '1.0,5.11-0.151006:20140220T084443Z' for implicit '1.0-0.151006'")
         | 
| 369 | 
            +
                        expect(described_class).to receive(:pkg).with(:list, '-Hvfa', 'dummy@1.0-0.151006').and_return(File.read(my_fixture('dummy_implicit_version')))
         | 
| 370 | 
            +
                        expect(Puppet::Util::Execution).to receive(:execute).with(['/bin/pkg', 'install', '-n', 'dummy@1.0,5.11-0.151006:20140220T084443Z'], {:failonfail => false, :combine => true})
         | 
| 371 | 
            +
                        allow($CHILD_STATUS).to receive(:exitstatus).and_return(0)
         | 
| 372 372 | 
             
                        provider.insync?(is)
         | 
| 373 373 | 
             
                      end
         | 
| 374 374 | 
             
                    end
         | 
| @@ -377,17 +377,17 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 377 377 |  | 
| 378 378 | 
             
                context ":update" do
         | 
| 379 379 | 
             
                  it "should not raise error if not necessary" do
         | 
| 380 | 
            -
                    provider. | 
| 380 | 
            +
                    expect(provider).to receive(:install).with(true).and_return({:exit => 0})
         | 
| 381 381 | 
             
                    provider.update
         | 
| 382 382 | 
             
                  end
         | 
| 383 383 |  | 
| 384 384 | 
             
                  it "should not raise error if not necessary (2)" do
         | 
| 385 | 
            -
                    provider. | 
| 385 | 
            +
                    expect(provider).to receive(:install).with(true).and_return({:exit => 4})
         | 
| 386 386 | 
             
                    provider.update
         | 
| 387 387 | 
             
                  end
         | 
| 388 388 |  | 
| 389 389 | 
             
                  it "should raise error if necessary" do
         | 
| 390 | 
            -
                    provider. | 
| 390 | 
            +
                    expect(provider).to receive(:install).with(true).and_return({:exit => 1})
         | 
| 391 391 | 
             
                    expect {
         | 
| 392 392 | 
             
                      provider.update
         | 
| 393 393 | 
             
                    }.to raise_error(Puppet::Error, /Unable to update/)
         | 
| @@ -396,14 +396,14 @@ describe Puppet::Type.type(:package).provider(:pkg) do | |
| 396 396 |  | 
| 397 397 | 
             
                context ":uninstall" do
         | 
| 398 398 | 
             
                  it "should support current pkg version" do
         | 
| 399 | 
            -
                    described_class. | 
| 400 | 
            -
                    described_class. | 
| 399 | 
            +
                    expect(described_class).to receive(:pkg).with(:version).and_return('630e1ffc7a19')
         | 
| 400 | 
            +
                    expect(described_class).to receive(:pkg).with([:uninstall, resource[:name]])
         | 
| 401 401 | 
             
                    provider.uninstall
         | 
| 402 402 | 
             
                  end
         | 
| 403 403 |  | 
| 404 404 | 
             
                  it "should support original pkg commands" do
         | 
| 405 | 
            -
                    described_class. | 
| 406 | 
            -
                    described_class. | 
| 405 | 
            +
                    expect(described_class).to receive(:pkg).with(:version).and_return('052adf36c3f4')
         | 
| 406 | 
            +
                    expect(described_class).to receive(:pkg).with([:uninstall, '-r', resource[:name]])
         | 
| 407 407 | 
             
                    provider.uninstall
         | 
| 408 408 | 
             
                  end
         | 
| 409 409 | 
             
                end
         |