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
    
        data/spec/unit/ssl/host_spec.rb
    CHANGED
    
    | @@ -1,4 +1,3 @@ | |
| 1 | 
            -
            #! /usr/bin/env ruby
         | 
| 2 1 | 
             
            require 'spec_helper'
         | 
| 3 2 |  | 
| 4 3 | 
             
            require 'puppet/ssl/host'
         | 
| @@ -37,11 +36,11 @@ describe Puppet::SSL::Host do | |
| 37 36 | 
             
              end
         | 
| 38 37 |  | 
| 39 38 | 
             
              it "should retrieve its public key from its private key" do
         | 
| 40 | 
            -
                realkey =  | 
| 41 | 
            -
                key =  | 
| 42 | 
            -
                Puppet::SSL::Key.indirection. | 
| 43 | 
            -
                pubkey =  | 
| 44 | 
            -
                realkey. | 
| 39 | 
            +
                realkey = double('realkey')
         | 
| 40 | 
            +
                key = double('key', :content => realkey)
         | 
| 41 | 
            +
                allow(Puppet::SSL::Key.indirection).to receive(:find).and_return(key)
         | 
| 42 | 
            +
                pubkey = double('public_key')
         | 
| 43 | 
            +
                expect(realkey).to receive(:public_key).and_return(pubkey)
         | 
| 45 44 |  | 
| 46 45 | 
             
                expect(@host.public_key).to equal(pubkey)
         | 
| 47 46 | 
             
              end
         | 
| @@ -51,7 +50,7 @@ describe Puppet::SSL::Host do | |
| 51 50 | 
             
              end
         | 
| 52 51 |  | 
| 53 52 | 
             
              it "should be a ca host if its name matches the CA_NAME" do
         | 
| 54 | 
            -
                Puppet::SSL::Host. | 
| 53 | 
            +
                allow(Puppet::SSL::Host).to receive(:ca_name).and_return("yayca")
         | 
| 55 54 | 
             
                expect(Puppet::SSL::Host.new("yayca")).to be_ca
         | 
| 56 55 | 
             
              end
         | 
| 57 56 |  | 
| @@ -78,11 +77,11 @@ describe Puppet::SSL::Host do | |
| 78 77 | 
             
              end
         | 
| 79 78 |  | 
| 80 79 | 
             
              it "should generate the certificate for the localhost instance if no certificate is available" do
         | 
| 81 | 
            -
                host =  | 
| 82 | 
            -
                Puppet::SSL::Host. | 
| 80 | 
            +
                host = double('host', :key => nil)
         | 
| 81 | 
            +
                expect(Puppet::SSL::Host).to receive(:new).and_return(host)
         | 
| 83 82 |  | 
| 84 | 
            -
                host. | 
| 85 | 
            -
                host. | 
| 83 | 
            +
                expect(host).to receive(:certificate).and_return(nil)
         | 
| 84 | 
            +
                expect(host).to receive(:generate)
         | 
| 86 85 |  | 
| 87 86 | 
             
                expect(Puppet::SSL::Host.localhost).to equal(host)
         | 
| 88 87 | 
             
              end
         | 
| @@ -92,7 +91,7 @@ describe Puppet::SSL::Host do | |
| 92 91 | 
             
                Puppet[:confdir] = tmpdir('conf')
         | 
| 93 92 | 
             
                Puppet[:dns_alt_names] = "foo,bar,baz"
         | 
| 94 93 | 
             
                ca = Puppet::SSL::CertificateAuthority.new
         | 
| 95 | 
            -
                Puppet::SSL::CertificateAuthority. | 
| 94 | 
            +
                allow(Puppet::SSL::CertificateAuthority).to receive(:instance).and_return(ca)
         | 
| 96 95 |  | 
| 97 96 | 
             
                localhost = Puppet::SSL::Host.localhost
         | 
| 98 97 | 
             
                cert = localhost.certificate
         | 
| @@ -103,14 +102,14 @@ describe Puppet::SSL::Host do | |
| 103 102 |  | 
| 104 103 | 
             
              context "with dns_alt_names" do
         | 
| 105 104 | 
             
                before :each do
         | 
| 106 | 
            -
                  @key =  | 
| 107 | 
            -
                  key =  | 
| 108 | 
            -
                  Puppet::SSL::Key. | 
| 109 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 105 | 
            +
                  @key = double('key content')
         | 
| 106 | 
            +
                  key = double('key', :generate => true, :content => @key)
         | 
| 107 | 
            +
                  allow(Puppet::SSL::Key).to receive(:new).and_return(key)
         | 
| 108 | 
            +
                  allow(Puppet::SSL::Key.indirection).to receive(:save).with(key)
         | 
| 110 109 |  | 
| 111 | 
            -
                  @cr =  | 
| 112 | 
            -
                  Puppet::SSL::CertificateRequest. | 
| 113 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 110 | 
            +
                  @cr = double('certificate request')
         | 
| 111 | 
            +
                  allow(Puppet::SSL::CertificateRequest).to receive(:new).and_return(@cr)
         | 
| 112 | 
            +
                  allow(Puppet::SSL::CertificateRequest.indirection).to receive(:save).with(@cr)
         | 
| 114 113 | 
             
                end
         | 
| 115 114 |  | 
| 116 115 | 
             
                describe "explicitly specified" do
         | 
| @@ -119,13 +118,13 @@ describe Puppet::SSL::Host do | |
| 119 118 | 
             
                  end
         | 
| 120 119 |  | 
| 121 120 | 
             
                  it "should not include subjectAltName if not the local node" do
         | 
| 122 | 
            -
                    @cr. | 
| 121 | 
            +
                    expect(@cr).to receive(:generate).with(@key, {})
         | 
| 123 122 |  | 
| 124 123 | 
             
                    Puppet::SSL::Host.new('not-the-' + Puppet[:certname]).generate
         | 
| 125 124 | 
             
                  end
         | 
| 126 125 |  | 
| 127 126 | 
             
                  it "should include subjectAltName if I am a CA" do
         | 
| 128 | 
            -
                    @cr. | 
| 127 | 
            +
                    expect(@cr).to receive(:generate).
         | 
| 129 128 | 
             
                      with(@key, { :dns_alt_names => Puppet[:dns_alt_names] })
         | 
| 130 129 |  | 
| 131 130 | 
             
                    Puppet::SSL::Host.localhost
         | 
| @@ -133,45 +132,45 @@ describe Puppet::SSL::Host do | |
| 133 132 | 
             
                end
         | 
| 134 133 |  | 
| 135 134 | 
             
                describe "implicitly defaulted" do
         | 
| 136 | 
            -
                  let(:ca) {  | 
| 135 | 
            +
                  let(:ca) { double('ca', :sign => nil) }
         | 
| 137 136 |  | 
| 138 137 | 
             
                  before :each do
         | 
| 139 138 | 
             
                    Puppet[:dns_alt_names] = ''
         | 
| 140 139 |  | 
| 141 | 
            -
                    Puppet::SSL::CertificateAuthority. | 
| 140 | 
            +
                    allow(Puppet::SSL::CertificateAuthority).to receive(:instance).and_return(ca)
         | 
| 142 141 | 
             
                  end
         | 
| 143 142 |  | 
| 144 143 | 
             
                  it "should not include defaults if we're not the CA" do
         | 
| 145 | 
            -
                    Puppet::SSL::CertificateAuthority. | 
| 144 | 
            +
                    allow(Puppet::SSL::CertificateAuthority).to receive(:ca?).and_return(false)
         | 
| 146 145 |  | 
| 147 | 
            -
                    @cr. | 
| 146 | 
            +
                    expect(@cr).to receive(:generate).with(@key, {})
         | 
| 148 147 |  | 
| 149 148 | 
             
                    Puppet::SSL::Host.localhost
         | 
| 150 149 | 
             
                  end
         | 
| 151 150 |  | 
| 152 151 | 
             
                  it "should not include defaults if not the local node" do
         | 
| 153 | 
            -
                    Puppet::SSL::CertificateAuthority. | 
| 152 | 
            +
                    allow(Puppet::SSL::CertificateAuthority).to receive(:ca?).and_return(true)
         | 
| 154 153 |  | 
| 155 | 
            -
                    @cr. | 
| 154 | 
            +
                    expect(@cr).to receive(:generate).with(@key, {})
         | 
| 156 155 |  | 
| 157 156 | 
             
                    Puppet::SSL::Host.new('not-the-' + Puppet[:certname]).generate
         | 
| 158 157 | 
             
                  end
         | 
| 159 158 |  | 
| 160 159 | 
             
                  it "should not include defaults if we can't resolve our fqdn" do
         | 
| 161 | 
            -
                    Puppet::SSL::CertificateAuthority. | 
| 162 | 
            -
                    Facter. | 
| 160 | 
            +
                    allow(Puppet::SSL::CertificateAuthority).to receive(:ca?).and_return(true)
         | 
| 161 | 
            +
                    allow(Facter).to receive(:value).with(:fqdn).and_return(nil)
         | 
| 163 162 |  | 
| 164 | 
            -
                    @cr. | 
| 163 | 
            +
                    expect(@cr).to receive(:generate).with(@key, {})
         | 
| 165 164 |  | 
| 166 165 | 
             
                    Puppet::SSL::Host.localhost
         | 
| 167 166 | 
             
                  end
         | 
| 168 167 |  | 
| 169 168 | 
             
                  it "should provide defaults if we're bootstrapping the local master" do
         | 
| 170 | 
            -
                    Puppet::SSL::CertificateAuthority. | 
| 171 | 
            -
                    Facter. | 
| 172 | 
            -
                    Facter. | 
| 169 | 
            +
                    allow(Puppet::SSL::CertificateAuthority).to receive(:ca?).and_return(true)
         | 
| 170 | 
            +
                    allow(Facter).to receive(:value).with(:fqdn).and_return('web.foo.com')
         | 
| 171 | 
            +
                    allow(Facter).to receive(:value).with(:domain).and_return('foo.com')
         | 
| 173 172 |  | 
| 174 | 
            -
                    @cr. | 
| 173 | 
            +
                    expect(@cr).to receive(:generate).with(@key, {:dns_alt_names => "puppet, web.foo.com, puppet.foo.com"})
         | 
| 175 174 |  | 
| 176 175 | 
             
                    Puppet::SSL::Host.localhost
         | 
| 177 176 | 
             
                  end
         | 
| @@ -179,17 +178,17 @@ describe Puppet::SSL::Host do | |
| 179 178 | 
             
              end
         | 
| 180 179 |  | 
| 181 180 | 
             
              it "should always read the key for the localhost instance in from disk" do
         | 
| 182 | 
            -
                host =  | 
| 183 | 
            -
                Puppet::SSL::Host. | 
| 181 | 
            +
                host = double('host', :certificate => "eh")
         | 
| 182 | 
            +
                expect(Puppet::SSL::Host).to receive(:new).and_return(host)
         | 
| 184 183 |  | 
| 185 | 
            -
                host. | 
| 184 | 
            +
                expect(host).to receive(:key)
         | 
| 186 185 |  | 
| 187 186 | 
             
                Puppet::SSL::Host.localhost
         | 
| 188 187 | 
             
              end
         | 
| 189 188 |  | 
| 190 189 | 
             
              it "should cache the localhost instance" do
         | 
| 191 | 
            -
                host =  | 
| 192 | 
            -
                Puppet::SSL::Host. | 
| 190 | 
            +
                host = double('host', :certificate => "eh", :key => 'foo')
         | 
| 191 | 
            +
                expect(Puppet::SSL::Host).to receive(:new).once.and_return(host)
         | 
| 193 192 | 
             
                expect(Puppet::SSL::Host.localhost).to eq(Puppet::SSL::Host.localhost)
         | 
| 194 193 | 
             
              end
         | 
| 195 194 |  | 
| @@ -199,38 +198,38 @@ describe Puppet::SSL::Host do | |
| 199 198 |  | 
| 200 199 | 
             
              it "should consider the certificate invalid if it cannot find a key" do
         | 
| 201 200 | 
             
                host = Puppet::SSL::Host.new("foo")
         | 
| 202 | 
            -
                certificate =  | 
| 203 | 
            -
                host. | 
| 204 | 
            -
                host. | 
| 201 | 
            +
                certificate = double('cert', :fingerprint => 'DEADBEEF')
         | 
| 202 | 
            +
                expect(host).to receive(:certificate).twice.and_return(certificate)
         | 
| 203 | 
            +
                expect(host).to receive(:key).and_return(nil)
         | 
| 205 204 | 
             
                expect { host.validate_certificate_with_key }.to raise_error(Puppet::Error, "No private key with which to validate certificate with fingerprint: DEADBEEF")
         | 
| 206 205 | 
             
              end
         | 
| 207 206 |  | 
| 208 207 | 
             
              it "should consider the certificate invalid if it cannot find a certificate" do
         | 
| 209 208 | 
             
                host = Puppet::SSL::Host.new("foo")
         | 
| 210 | 
            -
                host. | 
| 211 | 
            -
                host. | 
| 209 | 
            +
                expect(host).not_to receive(:key)
         | 
| 210 | 
            +
                expect(host).to receive(:certificate).and_return(nil)
         | 
| 212 211 | 
             
                expect { host.validate_certificate_with_key }.to raise_error(Puppet::Error, "No certificate to validate.")
         | 
| 213 212 | 
             
              end
         | 
| 214 213 |  | 
| 215 214 | 
             
              it "should consider the certificate invalid if the SSL certificate's key verification fails" do
         | 
| 216 215 | 
             
                host = Puppet::SSL::Host.new("foo")
         | 
| 217 | 
            -
                key =  | 
| 218 | 
            -
                sslcert =  | 
| 219 | 
            -
                certificate =  | 
| 220 | 
            -
                host. | 
| 221 | 
            -
                host. | 
| 222 | 
            -
                sslcert. | 
| 216 | 
            +
                key = double('key', :content => "private_key")
         | 
| 217 | 
            +
                sslcert = double('sslcert')
         | 
| 218 | 
            +
                certificate = double('cert', {:content => sslcert, :fingerprint => 'DEADBEEF'})
         | 
| 219 | 
            +
                allow(host).to receive(:key).and_return(key)
         | 
| 220 | 
            +
                allow(host).to receive(:certificate).and_return(certificate)
         | 
| 221 | 
            +
                expect(sslcert).to receive(:check_private_key).with("private_key").and_return(false)
         | 
| 223 222 | 
             
                expect { host.validate_certificate_with_key }.to raise_error(Puppet::Error, /DEADBEEF/)
         | 
| 224 223 | 
             
              end
         | 
| 225 224 |  | 
| 226 225 | 
             
              it "should consider the certificate valid if the SSL certificate's key verification succeeds" do
         | 
| 227 226 | 
             
                host = Puppet::SSL::Host.new("foo")
         | 
| 228 | 
            -
                key =  | 
| 229 | 
            -
                sslcert =  | 
| 230 | 
            -
                certificate =  | 
| 231 | 
            -
                host. | 
| 232 | 
            -
                host. | 
| 233 | 
            -
                sslcert. | 
| 227 | 
            +
                key = double('key', :content => "private_key")
         | 
| 228 | 
            +
                sslcert = double('sslcert')
         | 
| 229 | 
            +
                certificate = double('cert', :content => sslcert)
         | 
| 230 | 
            +
                allow(host).to receive(:key).and_return(key)
         | 
| 231 | 
            +
                allow(host).to receive(:certificate).and_return(certificate)
         | 
| 232 | 
            +
                expect(sslcert).to receive(:check_private_key).with("private_key").and_return(true)
         | 
| 234 233 | 
             
                expect{ host.validate_certificate_with_key }.not_to raise_error
         | 
| 235 234 | 
             
              end
         | 
| 236 235 |  | 
| @@ -348,21 +347,21 @@ describe Puppet::SSL::Host do | |
| 348 347 |  | 
| 349 348 | 
             
              describe "when destroying a host's SSL files" do
         | 
| 350 349 | 
             
                before do
         | 
| 351 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 352 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 353 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 350 | 
            +
                  allow(Puppet::SSL::Key.indirection).to receive(:destroy).and_return(false)
         | 
| 351 | 
            +
                  allow(Puppet::SSL::Certificate.indirection).to receive(:destroy).and_return(false)
         | 
| 352 | 
            +
                  allow(Puppet::SSL::CertificateRequest.indirection).to receive(:destroy).and_return(false)
         | 
| 354 353 | 
             
                end
         | 
| 355 354 |  | 
| 356 355 | 
             
                it "should destroy its certificate, certificate request, and key" do
         | 
| 357 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 358 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 359 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 356 | 
            +
                  expect(Puppet::SSL::Key.indirection).to receive(:destroy).with("myhost")
         | 
| 357 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:destroy).with("myhost")
         | 
| 358 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).to receive(:destroy).with("myhost")
         | 
| 360 359 |  | 
| 361 360 | 
             
                  Puppet::SSL::Host.destroy("myhost")
         | 
| 362 361 | 
             
                end
         | 
| 363 362 |  | 
| 364 363 | 
             
                it "should return true if any of the classes returned true" do
         | 
| 365 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 364 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:destroy).with("myhost").and_return(true)
         | 
| 366 365 |  | 
| 367 366 | 
             
                  expect(Puppet::SSL::Host.destroy("myhost")).to be_truthy
         | 
| 368 367 | 
             
                end
         | 
| @@ -384,7 +383,7 @@ describe Puppet::SSL::Host do | |
| 384 383 | 
             
                end
         | 
| 385 384 |  | 
| 386 385 | 
             
                it "should indicate that it is a CA host if its name matches the ca_name constant" do
         | 
| 387 | 
            -
                  Puppet::SSL::Host. | 
| 386 | 
            +
                  allow(Puppet::SSL::Host).to receive(:ca_name).and_return("myca")
         | 
| 388 387 | 
             
                  expect(Puppet::SSL::Host.new("myca")).to be_ca
         | 
| 389 388 | 
             
                end
         | 
| 390 389 | 
             
              end
         | 
| @@ -397,37 +396,37 @@ describe Puppet::SSL::Host do | |
| 397 396 | 
             
                end
         | 
| 398 397 |  | 
| 399 398 | 
             
                it "should return nil if the key is not set and cannot be found" do
         | 
| 400 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 399 | 
            +
                  expect(Puppet::SSL::Key.indirection).to receive(:find).with("myname").and_return(nil)
         | 
| 401 400 | 
             
                  expect(@host.key).to be_nil
         | 
| 402 401 | 
             
                end
         | 
| 403 402 |  | 
| 404 403 | 
             
                it "should find the key in the Key class and return the Puppet instance" do
         | 
| 405 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 404 | 
            +
                  expect(Puppet::SSL::Key.indirection).to receive(:find).with("myname").and_return(@key)
         | 
| 406 405 | 
             
                  expect(@host.key).to equal(@key)
         | 
| 407 406 | 
             
                end
         | 
| 408 407 |  | 
| 409 408 | 
             
                it "should be able to generate and save a new key" do
         | 
| 410 | 
            -
                  Puppet::SSL::Key. | 
| 409 | 
            +
                  expect(Puppet::SSL::Key).to receive(:new).with("myname").and_return(@key)
         | 
| 411 410 |  | 
| 412 | 
            -
                  @key. | 
| 413 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 411 | 
            +
                  expect(@key).to receive(:generate)
         | 
| 412 | 
            +
                  expect(Puppet::SSL::Key.indirection).to receive(:save)
         | 
| 414 413 |  | 
| 415 414 | 
             
                  expect(@host.generate_key).to be_truthy
         | 
| 416 415 | 
             
                  expect(@host.key).to equal(@key)
         | 
| 417 416 | 
             
                end
         | 
| 418 417 |  | 
| 419 418 | 
             
                it "should not retain keys that could not be saved" do
         | 
| 420 | 
            -
                  Puppet::SSL::Key. | 
| 419 | 
            +
                  expect(Puppet::SSL::Key).to receive(:new).with("myname").and_return(@key)
         | 
| 421 420 |  | 
| 422 | 
            -
                  @key. | 
| 423 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 421 | 
            +
                  expect(@key).to receive(:generate)
         | 
| 422 | 
            +
                  expect(Puppet::SSL::Key.indirection).to receive(:save).and_raise("eh")
         | 
| 424 423 |  | 
| 425 424 | 
             
                  expect { @host.generate_key }.to raise_error(RuntimeError)
         | 
| 426 425 | 
             
                  expect(@host.key).to be_nil
         | 
| 427 426 | 
             
                end
         | 
| 428 427 |  | 
| 429 428 | 
             
                it "should return any previously found key without requerying" do
         | 
| 430 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 429 | 
            +
                  expect(Puppet::SSL::Key.indirection).to receive(:find).with("myname").and_return(@key).once
         | 
| 431 430 | 
             
                  expect(@host.key).to equal(@key)
         | 
| 432 431 | 
             
                  expect(@host.key).to equal(@key)
         | 
| 433 432 | 
             
                end
         | 
| @@ -441,60 +440,63 @@ describe Puppet::SSL::Host do | |
| 441 440 | 
             
                end
         | 
| 442 441 |  | 
| 443 442 | 
             
                it "should return nil if the key is not set and cannot be found" do
         | 
| 444 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 443 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).to receive(:find).with("myname").and_return(nil)
         | 
| 445 444 | 
             
                  expect(@host.certificate_request).to be_nil
         | 
| 446 445 | 
             
                end
         | 
| 447 446 |  | 
| 448 447 | 
             
                it "should find the request in the Key class and return it and return the Puppet SSL request" do
         | 
| 449 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 448 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).to receive(:find).with("myname").and_return(@request)
         | 
| 450 449 |  | 
| 451 450 | 
             
                  expect(@host.certificate_request).to equal(@request)
         | 
| 452 451 | 
             
                end
         | 
| 453 452 |  | 
| 454 453 | 
             
                it "should generate a new key when generating the cert request if no key exists" do
         | 
| 455 | 
            -
                  Puppet::SSL::CertificateRequest. | 
| 454 | 
            +
                  expect(Puppet::SSL::CertificateRequest).to receive(:new).with("myname").and_return(@request)
         | 
| 456 455 |  | 
| 457 | 
            -
                  key =  | 
| 456 | 
            +
                  key = double('key', :public_key => double("public_key"), :content => "mycontent")
         | 
| 458 457 |  | 
| 459 | 
            -
                  @host. | 
| 460 | 
            -
                  @host. | 
| 458 | 
            +
                  expect(@host).to receive(:key).twice.and_return(nil, key)
         | 
| 459 | 
            +
                  expect(@host).to receive(:generate_key).and_return(key)
         | 
| 461 460 |  | 
| 462 | 
            -
                  @request. | 
| 463 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 461 | 
            +
                  allow(@request).to receive(:generate)
         | 
| 462 | 
            +
                  allow(Puppet::SSL::CertificateRequest.indirection).to receive(:save)
         | 
| 464 463 |  | 
| 465 464 | 
             
                  @host.generate_certificate_request
         | 
| 466 465 | 
             
                end
         | 
| 467 466 |  | 
| 468 467 | 
             
                it "should be able to generate and save a new request using the private key" do
         | 
| 469 | 
            -
                  Puppet::SSL::CertificateRequest. | 
| 468 | 
            +
                  expect(Puppet::SSL::CertificateRequest).to receive(:new).with("myname").and_return(@request)
         | 
| 470 469 |  | 
| 471 | 
            -
                  key =  | 
| 472 | 
            -
                  @host. | 
| 473 | 
            -
                  @request. | 
| 474 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 470 | 
            +
                  key = double('key', :public_key => double("public_key"), :content => "mycontent")
         | 
| 471 | 
            +
                  allow(@host).to receive(:key).and_return(key)
         | 
| 472 | 
            +
                  expect(@request).to receive(:generate).with("mycontent", {})
         | 
| 473 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).to receive(:save).with(@request)
         | 
| 475 474 |  | 
| 476 475 | 
             
                  expect(@host.generate_certificate_request).to be_truthy
         | 
| 477 476 | 
             
                  expect(@host.certificate_request).to equal(@request)
         | 
| 478 477 | 
             
                end
         | 
| 479 478 |  | 
| 480 479 | 
             
                it "should return any previously found request without requerying" do
         | 
| 481 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 480 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).to receive(:find).with("myname").and_return(@request).once
         | 
| 482 481 |  | 
| 483 482 | 
             
                  expect(@host.certificate_request).to equal(@request)
         | 
| 484 483 | 
             
                  expect(@host.certificate_request).to equal(@request)
         | 
| 485 484 | 
             
                end
         | 
| 486 485 |  | 
| 487 486 | 
             
                it "should not keep its certificate request in memory if the request cannot be saved" do
         | 
| 488 | 
            -
                  Puppet::SSL::CertificateRequest. | 
| 489 | 
            -
             | 
| 490 | 
            -
                  key =  | 
| 491 | 
            -
                  @host. | 
| 492 | 
            -
                  @request. | 
| 493 | 
            -
                  @request. | 
| 494 | 
            -
                  terminus =  | 
| 495 | 
            -
                  terminus. | 
| 496 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 497 | 
            -
                  terminus. | 
| 487 | 
            +
                  expect(Puppet::SSL::CertificateRequest).to receive(:new).with("myname").and_return(@request)
         | 
| 488 | 
            +
             | 
| 489 | 
            +
                  key = double('key', :public_key => double("public_key"), :content => "mycontent")
         | 
| 490 | 
            +
                  allow(@host).to receive(:key).and_return(key)
         | 
| 491 | 
            +
                  allow(@request).to receive(:generate)
         | 
| 492 | 
            +
                  allow(@request).to receive(:name).and_return("myname")
         | 
| 493 | 
            +
                  terminus = double('terminus')
         | 
| 494 | 
            +
                  allow(terminus).to receive(:validate)
         | 
| 495 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).to receive(:prepare).and_return(terminus)
         | 
| 496 | 
            +
                  expect(terminus).to receive(:save) do |req|
         | 
| 497 | 
            +
                    expect(req.instance).to eq(@request)
         | 
| 498 | 
            +
                    expect(req.key).to eq("myname")
         | 
| 499 | 
            +
                  end.and_raise("eh")
         | 
| 498 500 |  | 
| 499 501 | 
             
                  expect { @host.generate_certificate_request }.to raise_error(RuntimeError)
         | 
| 500 502 |  | 
| @@ -504,55 +506,55 @@ describe Puppet::SSL::Host do | |
| 504 506 |  | 
| 505 507 | 
             
              describe "when managing its certificate" do
         | 
| 506 508 | 
             
                before do
         | 
| 507 | 
            -
                  @realcert =  | 
| 508 | 
            -
                  @cert =  | 
| 509 | 
            -
                  @host. | 
| 510 | 
            -
                  @host. | 
| 509 | 
            +
                  @realcert = double('certificate')
         | 
| 510 | 
            +
                  @cert = double('cert', :content => @realcert)
         | 
| 511 | 
            +
                  allow(@host).to receive(:key).and_return(double("key"))
         | 
| 512 | 
            +
                  allow(@host).to receive(:validate_certificate_with_key)
         | 
| 511 513 | 
             
                end
         | 
| 512 514 |  | 
| 513 515 | 
             
                it "should find the CA certificate if it does not have a certificate" do
         | 
| 514 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 515 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 516 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).and_return(double("cacert"))
         | 
| 517 | 
            +
                  allow(Puppet::SSL::Certificate.indirection).to receive(:find).with("myname").and_return(@cert)
         | 
| 516 518 | 
             
                  @host.certificate
         | 
| 517 519 | 
             
                end
         | 
| 518 520 |  | 
| 519 521 | 
             
                it "should not find the CA certificate if it is the CA host" do
         | 
| 520 | 
            -
                  @host. | 
| 521 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 522 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 522 | 
            +
                  expect(@host).to receive(:ca?).and_return(true)
         | 
| 523 | 
            +
                  allow(Puppet::SSL::Certificate.indirection).to receive(:find)
         | 
| 524 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).not_to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true)
         | 
| 523 525 |  | 
| 524 526 | 
             
                  @host.certificate
         | 
| 525 527 | 
             
                end
         | 
| 526 528 |  | 
| 527 529 | 
             
                it "should return nil if it cannot find a CA certificate" do
         | 
| 528 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 529 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 530 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).and_return(nil)
         | 
| 531 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).not_to receive(:find).with("myname")
         | 
| 530 532 |  | 
| 531 533 | 
             
                  expect(@host.certificate).to be_nil
         | 
| 532 534 | 
             
                end
         | 
| 533 535 |  | 
| 534 536 | 
             
                it "should find the key if it does not have one" do
         | 
| 535 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 536 | 
            -
                  @host. | 
| 537 | 
            +
                  allow(Puppet::SSL::Certificate.indirection).to receive(:find)
         | 
| 538 | 
            +
                  expect(@host).to receive(:key).and_return(double("key"))
         | 
| 537 539 | 
             
                  @host.certificate
         | 
| 538 540 | 
             
                end
         | 
| 539 541 |  | 
| 540 542 | 
             
                it "should generate the key if one cannot be found" do
         | 
| 541 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 542 | 
            -
                  @host. | 
| 543 | 
            -
                  @host. | 
| 543 | 
            +
                  allow(Puppet::SSL::Certificate.indirection).to receive(:find)
         | 
| 544 | 
            +
                  expect(@host).to receive(:key).and_return(nil)
         | 
| 545 | 
            +
                  expect(@host).to receive(:generate_key)
         | 
| 544 546 | 
             
                  @host.certificate
         | 
| 545 547 | 
             
                end
         | 
| 546 548 |  | 
| 547 549 | 
             
                it "should find the certificate in the Certificate class and return the Puppet certificate instance" do
         | 
| 548 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 549 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 550 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).and_return(double("cacert"))
         | 
| 551 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:find).with("myname").and_return(@cert)
         | 
| 550 552 | 
             
                  expect(@host.certificate).to equal(@cert)
         | 
| 551 553 | 
             
                end
         | 
| 552 554 |  | 
| 553 555 | 
             
                it "should return any previously found certificate" do
         | 
| 554 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 555 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 556 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:find).with(Puppet::SSL::CA_NAME, :fail_on_404 => true).and_return(double("cacert"))
         | 
| 557 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:find).with("myname").and_return(@cert).once
         | 
| 556 558 |  | 
| 557 559 | 
             
                  expect(@host.certificate).to equal(@cert)
         | 
| 558 560 | 
             
                  expect(@host.certificate).to equal(@cert)
         | 
| @@ -565,47 +567,47 @@ describe Puppet::SSL::Host do | |
| 565 567 |  | 
| 566 568 | 
             
              describe "when listing certificate hosts" do
         | 
| 567 569 | 
             
                it "should default to listing all clients with any file types" do
         | 
| 568 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 569 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 570 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 570 | 
            +
                  expect(Puppet::SSL::Key.indirection).to receive(:search).and_return([])
         | 
| 571 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:search).and_return([])
         | 
| 572 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).to receive(:search).and_return([])
         | 
| 571 573 | 
             
                  Puppet::SSL::Host.search
         | 
| 572 574 | 
             
                end
         | 
| 573 575 |  | 
| 574 576 | 
             
                it "should be able to list only clients with a key" do
         | 
| 575 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 576 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 577 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 577 | 
            +
                  expect(Puppet::SSL::Key.indirection).to receive(:search).and_return([])
         | 
| 578 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).not_to receive(:search)
         | 
| 579 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).not_to receive(:search)
         | 
| 578 580 | 
             
                  Puppet::SSL::Host.search :for => Puppet::SSL::Key
         | 
| 579 581 | 
             
                end
         | 
| 580 582 |  | 
| 581 583 | 
             
                it "should be able to list only clients with a certificate" do
         | 
| 582 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 583 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 584 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 584 | 
            +
                  expect(Puppet::SSL::Key.indirection).not_to receive(:search)
         | 
| 585 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:search).and_return([])
         | 
| 586 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).not_to receive(:search)
         | 
| 585 587 | 
             
                  Puppet::SSL::Host.search :for => Puppet::SSL::Certificate
         | 
| 586 588 | 
             
                end
         | 
| 587 589 |  | 
| 588 590 | 
             
                it "should be able to list only clients with a certificate request" do
         | 
| 589 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 590 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 591 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 591 | 
            +
                  expect(Puppet::SSL::Key.indirection).not_to receive(:search)
         | 
| 592 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).not_to receive(:search)
         | 
| 593 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).to receive(:search).and_return([])
         | 
| 592 594 | 
             
                  Puppet::SSL::Host.search :for => Puppet::SSL::CertificateRequest
         | 
| 593 595 | 
             
                end
         | 
| 594 596 |  | 
| 595 597 | 
             
                it "should return a Host instance created with the name of each found instance" do
         | 
| 596 | 
            -
                  key  =  | 
| 597 | 
            -
                  cert =  | 
| 598 | 
            -
                  csr  =  | 
| 598 | 
            +
                  key  = double('key',  :name => "key",  :to_ary => nil)
         | 
| 599 | 
            +
                  cert = double('cert', :name => "cert", :to_ary => nil)
         | 
| 600 | 
            +
                  csr  = double('csr',  :name => "csr",  :to_ary => nil)
         | 
| 599 601 |  | 
| 600 | 
            -
                  Puppet::SSL::Key.indirection. | 
| 601 | 
            -
                  Puppet::SSL::Certificate.indirection. | 
| 602 | 
            -
                  Puppet::SSL::CertificateRequest.indirection. | 
| 602 | 
            +
                  expect(Puppet::SSL::Key.indirection).to receive(:search).and_return([key])
         | 
| 603 | 
            +
                  expect(Puppet::SSL::Certificate.indirection).to receive(:search).and_return([cert])
         | 
| 604 | 
            +
                  expect(Puppet::SSL::CertificateRequest.indirection).to receive(:search).and_return([csr])
         | 
| 603 605 |  | 
| 604 606 | 
             
                  returned = []
         | 
| 605 607 | 
             
                  %w{key cert csr}.each do |name|
         | 
| 606 | 
            -
                    result =  | 
| 608 | 
            +
                    result = double(name)
         | 
| 607 609 | 
             
                    returned << result
         | 
| 608 | 
            -
                    Puppet::SSL::Host. | 
| 610 | 
            +
                    expect(Puppet::SSL::Host).to receive(:new).with(name).and_return(result)
         | 
| 609 611 | 
             
                  end
         | 
| 610 612 |  | 
| 611 613 | 
             
                  result = Puppet::SSL::Host.search
         | 
| @@ -622,34 +624,34 @@ describe Puppet::SSL::Host do | |
| 622 624 | 
             
              describe "when generating files" do
         | 
| 623 625 | 
             
                before do
         | 
| 624 626 | 
             
                  @host = Puppet::SSL::Host.new("me")
         | 
| 625 | 
            -
                  @host. | 
| 626 | 
            -
                  @host. | 
| 627 | 
            +
                  allow(@host).to receive(:generate_key)
         | 
| 628 | 
            +
                  allow(@host).to receive(:generate_certificate_request)
         | 
| 627 629 | 
             
                end
         | 
| 628 630 |  | 
| 629 631 | 
             
                it "should generate a key if one is not present" do
         | 
| 630 | 
            -
                  @host. | 
| 631 | 
            -
                  @host. | 
| 632 | 
            +
                  allow(@host).to receive(:key).and_return nil
         | 
| 633 | 
            +
                  expect(@host).to receive(:generate_key)
         | 
| 632 634 |  | 
| 633 635 | 
             
                  @host.generate
         | 
| 634 636 | 
             
                end
         | 
| 635 637 |  | 
| 636 638 | 
             
                it "should generate a certificate request if one is not present" do
         | 
| 637 | 
            -
                  @host. | 
| 638 | 
            -
                  @host. | 
| 639 | 
            +
                  expect(@host).to receive(:certificate_request).and_return nil
         | 
| 640 | 
            +
                  expect(@host).to receive(:generate_certificate_request)
         | 
| 639 641 |  | 
| 640 642 | 
             
                  @host.generate
         | 
| 641 643 | 
             
                end
         | 
| 642 644 |  | 
| 643 645 | 
             
                describe "and it can create a certificate authority" do
         | 
| 644 646 | 
             
                  before do
         | 
| 645 | 
            -
                    @ca =  | 
| 646 | 
            -
                    Puppet::SSL::CertificateAuthority. | 
| 647 | 
            +
                    @ca = double('ca')
         | 
| 648 | 
            +
                    allow(Puppet::SSL::CertificateAuthority).to receive(:instance).and_return(@ca)
         | 
| 647 649 | 
             
                  end
         | 
| 648 650 |  | 
| 649 651 | 
             
                  it "should use the CA to sign its certificate request if it does not have a certificate" do
         | 
| 650 | 
            -
                    @host. | 
| 652 | 
            +
                    expect(@host).to receive(:certificate).and_return(nil)
         | 
| 651 653 |  | 
| 652 | 
            -
                    @ca. | 
| 654 | 
            +
                    expect(@ca).to receive(:sign).with(@host.name, {allow_dns_alt_names: true})
         | 
| 653 655 |  | 
| 654 656 | 
             
                    @host.generate
         | 
| 655 657 | 
             
                  end
         | 
| @@ -657,11 +659,11 @@ describe Puppet::SSL::Host do | |
| 657 659 |  | 
| 658 660 | 
             
                describe "and it cannot create a certificate authority" do
         | 
| 659 661 | 
             
                  before do
         | 
| 660 | 
            -
                    Puppet::SSL::CertificateAuthority. | 
| 662 | 
            +
                    allow(Puppet::SSL::CertificateAuthority).to receive(:instance).and_return(nil)
         | 
| 661 663 | 
             
                  end
         | 
| 662 664 |  | 
| 663 665 | 
             
                  it "should seek its certificate" do
         | 
| 664 | 
            -
                    @host. | 
| 666 | 
            +
                    expect(@host).to receive(:certificate)
         | 
| 665 667 |  | 
| 666 668 | 
             
                    @host.generate
         | 
| 667 669 | 
             
                  end
         | 
| @@ -674,44 +676,52 @@ describe Puppet::SSL::Host do | |
| 674 676 |  | 
| 675 677 | 
             
              it "should always return the same store" do
         | 
| 676 678 | 
             
                host = Puppet::SSL::Host.new("foo")
         | 
| 677 | 
            -
                store =  | 
| 678 | 
            -
             | 
| 679 | 
            -
             | 
| 679 | 
            +
                store = double(
         | 
| 680 | 
            +
                  'store',
         | 
| 681 | 
            +
                  :purpose= => nil,
         | 
| 682 | 
            +
                  :add_file => nil,
         | 
| 683 | 
            +
                )
         | 
| 684 | 
            +
                expect(OpenSSL::X509::Store).to receive(:new).and_return(store)
         | 
| 680 685 | 
             
                expect(host.ssl_store).to equal(host.ssl_store)
         | 
| 681 686 | 
             
              end
         | 
| 682 687 |  | 
| 683 688 | 
             
              describe "when creating an SSL store" do
         | 
| 684 689 | 
             
                before do
         | 
| 685 690 | 
             
                  @host = Puppet::SSL::Host.new("me")
         | 
| 686 | 
            -
                  @store =  | 
| 687 | 
            -
             | 
| 688 | 
            -
             | 
| 691 | 
            +
                  @store = double(
         | 
| 692 | 
            +
                    'store',
         | 
| 693 | 
            +
                    :purpose= => nil,
         | 
| 694 | 
            +
                    :add_file => nil,
         | 
| 695 | 
            +
                    :add_crl  => nil,
         | 
| 696 | 
            +
                    :flags=   => nil,
         | 
| 697 | 
            +
                  )
         | 
| 698 | 
            +
                  allow(OpenSSL::X509::Store).to receive(:new).and_return(@store)
         | 
| 689 699 |  | 
| 690 700 | 
             
                  Puppet[:localcacert] = "ssl_host_testing"
         | 
| 691 701 |  | 
| 692 | 
            -
                  Puppet::SSL::CertificateRevocationList.indirection. | 
| 702 | 
            +
                  allow(Puppet::SSL::CertificateRevocationList.indirection).to receive(:find).and_return(nil)
         | 
| 693 703 | 
             
                end
         | 
| 694 704 |  | 
| 695 705 | 
             
                it "should accept a purpose" do
         | 
| 696 | 
            -
                  @store. | 
| 706 | 
            +
                  expect(@store).to receive(:purpose=).with("my special purpose")
         | 
| 697 707 | 
             
                  @host.ssl_store("my special purpose")
         | 
| 698 708 | 
             
                end
         | 
| 699 709 |  | 
| 700 710 | 
             
                it "should default to OpenSSL::X509::PURPOSE_ANY as the purpose" do
         | 
| 701 | 
            -
                  @store. | 
| 711 | 
            +
                  expect(@store).to receive(:purpose=).with(OpenSSL::X509::PURPOSE_ANY)
         | 
| 702 712 | 
             
                  @host.ssl_store
         | 
| 703 713 | 
             
                end
         | 
| 704 714 |  | 
| 705 715 | 
             
                it "should add the local CA cert file" do
         | 
| 706 716 | 
             
                  Puppet[:localcacert] = "/ca/cert/file"
         | 
| 707 | 
            -
                  @store. | 
| 717 | 
            +
                  expect(@store).to receive(:add_file).with(Puppet[:localcacert])
         | 
| 708 718 | 
             
                  @host.ssl_store
         | 
| 709 719 | 
             
                end
         | 
| 710 720 |  | 
| 711 721 | 
             
                describe "and a CRL is available" do
         | 
| 712 722 | 
             
                  before do
         | 
| 713 | 
            -
                    @crl =  | 
| 714 | 
            -
                    Puppet::SSL::CertificateRevocationList.indirection. | 
| 723 | 
            +
                    @crl = double('crl', :content => "real_crl")
         | 
| 724 | 
            +
                    allow(Puppet::SSL::CertificateRevocationList.indirection).to receive(:find).and_return(@crl)
         | 
| 715 725 | 
             
                  end
         | 
| 716 726 |  | 
| 717 727 | 
             
                  [true, 'chain'].each do |crl_setting|
         | 
| @@ -721,12 +731,12 @@ describe Puppet::SSL::Host do | |
| 721 731 | 
             
                      end
         | 
| 722 732 |  | 
| 723 733 | 
             
                      it "should add the CRL" do
         | 
| 724 | 
            -
                        @store. | 
| 734 | 
            +
                        expect(@store).to receive(:add_crl).with("real_crl")
         | 
| 725 735 | 
             
                        @host.ssl_store
         | 
| 726 736 | 
             
                      end
         | 
| 727 737 |  | 
| 728 738 | 
             
                      it "should set the flags to OpenSSL::X509::V_FLAG_CRL_CHECK_ALL|OpenSSL::X509::V_FLAG_CRL_CHECK" do
         | 
| 729 | 
            -
                        @store. | 
| 739 | 
            +
                        expect(@store).to receive(:flags=).with(OpenSSL::X509::V_FLAG_CRL_CHECK_ALL | OpenSSL::X509::V_FLAG_CRL_CHECK)
         | 
| 730 740 | 
             
                        @host.ssl_store
         | 
| 731 741 | 
             
                      end
         | 
| 732 742 | 
             
                    end
         | 
| @@ -738,12 +748,12 @@ describe Puppet::SSL::Host do | |
| 738 748 | 
             
                    end
         | 
| 739 749 |  | 
| 740 750 | 
             
                    it "should add the CRL" do
         | 
| 741 | 
            -
                      @store. | 
| 751 | 
            +
                      expect(@store).to receive(:add_crl).with("real_crl")
         | 
| 742 752 | 
             
                      @host.ssl_store
         | 
| 743 753 | 
             
                    end
         | 
| 744 754 |  | 
| 745 755 | 
             
                    it "should set the flags to OpenSSL::X509::V_FLAG_CRL_CHECK" do
         | 
| 746 | 
            -
                      @store. | 
| 756 | 
            +
                      expect(@store).to receive(:flags=).with(OpenSSL::X509::V_FLAG_CRL_CHECK)
         | 
| 747 757 | 
             
                      @host.ssl_store
         | 
| 748 758 | 
             
                    end
         | 
| 749 759 | 
             
                  end
         | 
| @@ -754,12 +764,12 @@ describe Puppet::SSL::Host do | |
| 754 764 | 
             
                    end
         | 
| 755 765 |  | 
| 756 766 | 
             
                    it "should not add the CRL" do
         | 
| 757 | 
            -
                      @store. | 
| 767 | 
            +
                      expect(@store).not_to receive(:add_crl)
         | 
| 758 768 | 
             
                      @host.ssl_store
         | 
| 759 769 | 
             
                    end
         | 
| 760 770 |  | 
| 761 771 | 
             
                    it "should not set the flags" do
         | 
| 762 | 
            -
                      @store. | 
| 772 | 
            +
                      expect(@store).not_to receive(:flags=)
         | 
| 763 773 | 
             
                      @host.ssl_store
         | 
| 764 774 | 
             
                    end
         | 
| 765 775 | 
             
                  end
         | 
| @@ -772,54 +782,73 @@ describe Puppet::SSL::Host do | |
| 772 782 | 
             
                end
         | 
| 773 783 |  | 
| 774 784 | 
             
                it "should generate its certificate request and attempt to read the certificate again if no certificate is found" do
         | 
| 775 | 
            -
                  @host. | 
| 776 | 
            -
                  @host. | 
| 785 | 
            +
                  expect(@host).to receive(:certificate).twice.and_return(nil, "foo")
         | 
| 786 | 
            +
                  expect(@host).to receive(:generate)
         | 
| 777 787 | 
             
                  @host.wait_for_cert(1)
         | 
| 778 788 | 
             
                end
         | 
| 779 789 |  | 
| 780 790 | 
             
                it "should catch and log errors during CSR saving" do
         | 
| 781 | 
            -
                  @host. | 
| 782 | 
            -
                   | 
| 783 | 
            -
                  @host. | 
| 791 | 
            +
                  expect(@host).to receive(:certificate).twice.and_return(nil, "foo")
         | 
| 792 | 
            +
                  times_generate_called = 0
         | 
| 793 | 
            +
                  expect(@host).to receive(:generate) do
         | 
| 794 | 
            +
                    times_generate_called += 1
         | 
| 795 | 
            +
                    raise RuntimeError if times_generate_called == 1
         | 
| 796 | 
            +
                    nil
         | 
| 797 | 
            +
                  end
         | 
| 798 | 
            +
                  allow(@host).to receive(:sleep)
         | 
| 784 799 | 
             
                  @host.wait_for_cert(1)
         | 
| 785 800 | 
             
                end
         | 
| 786 801 |  | 
| 787 802 | 
             
                it "should sleep and retry after failures saving the CSR if waitforcert is enabled" do
         | 
| 788 | 
            -
                  @host. | 
| 789 | 
            -
                   | 
| 790 | 
            -
                  @host. | 
| 803 | 
            +
                  expect(@host).to receive(:certificate).twice.and_return(nil, "foo")
         | 
| 804 | 
            +
                  times_generate_called = 0
         | 
| 805 | 
            +
                  expect(@host).to receive(:generate) do
         | 
| 806 | 
            +
                    times_generate_called += 1
         | 
| 807 | 
            +
                    raise RuntimeError if times_generate_called == 1
         | 
| 808 | 
            +
                    nil
         | 
| 809 | 
            +
                  end
         | 
| 810 | 
            +
                  expect(@host).to receive(:sleep).with(1)
         | 
| 791 811 | 
             
                  @host.wait_for_cert(1)
         | 
| 792 812 | 
             
                end
         | 
| 793 813 |  | 
| 794 814 | 
             
                it "should exit after failures saving the CSR of waitforcert is disabled" do
         | 
| 795 | 
            -
                  @host. | 
| 796 | 
            -
                  @host. | 
| 797 | 
            -
                  @host. | 
| 815 | 
            +
                  expect(@host).to receive(:certificate).and_return(nil)
         | 
| 816 | 
            +
                  expect(@host).to receive(:generate).and_raise(RuntimeError)
         | 
| 817 | 
            +
                  expect(@host).to receive(:puts)
         | 
| 798 818 | 
             
                  expect { @host.wait_for_cert(0) }.to exit_with 1
         | 
| 799 819 | 
             
                end
         | 
| 800 820 |  | 
| 801 821 | 
             
                it "should exit if the wait time is 0 and it can neither find nor retrieve a certificate" do
         | 
| 802 | 
            -
                  @host. | 
| 803 | 
            -
                  @host. | 
| 804 | 
            -
                  @host. | 
| 822 | 
            +
                  allow(@host).to receive(:certificate).and_return(nil)
         | 
| 823 | 
            +
                  expect(@host).to receive(:generate)
         | 
| 824 | 
            +
                  expect(@host).to receive(:puts)
         | 
| 805 825 | 
             
                  expect { @host.wait_for_cert(0) }.to exit_with 1
         | 
| 806 826 | 
             
                end
         | 
| 807 827 |  | 
| 808 828 | 
             
                it "should sleep for the specified amount of time if no certificate is found after generating its certificate request" do
         | 
| 809 | 
            -
                  @host. | 
| 810 | 
            -
                  @host. | 
| 829 | 
            +
                  expect(@host).to receive(:certificate).exactly(3).times().and_return(nil, nil, "foo")
         | 
| 830 | 
            +
                  expect(@host).to receive(:generate)
         | 
| 811 831 |  | 
| 812 | 
            -
                  @host. | 
| 832 | 
            +
                  expect(@host).to receive(:sleep).with(1)
         | 
| 813 833 |  | 
| 814 834 | 
             
                  @host.wait_for_cert(1)
         | 
| 815 835 | 
             
                end
         | 
| 816 836 |  | 
| 817 837 | 
             
                it "should catch and log exceptions during certificate retrieval" do
         | 
| 818 | 
            -
                   | 
| 819 | 
            -
                  @host. | 
| 820 | 
            -
             | 
| 838 | 
            +
                  times_certificate_called = 0
         | 
| 839 | 
            +
                  expect(@host).to receive(:certificate) do
         | 
| 840 | 
            +
                    times_certificate_called += 1
         | 
| 841 | 
            +
                    if times_certificate_called == 1
         | 
| 842 | 
            +
                      return nil
         | 
| 843 | 
            +
                    elsif times_certificate_called == 2
         | 
| 844 | 
            +
                      raise RuntimeError
         | 
| 845 | 
            +
                    end
         | 
| 846 | 
            +
                    "foo"
         | 
| 847 | 
            +
                  end.exactly(3).times()
         | 
| 848 | 
            +
                  allow(@host).to receive(:generate)
         | 
| 849 | 
            +
                  allow(@host).to receive(:sleep)
         | 
| 821 850 |  | 
| 822 | 
            -
                  Puppet. | 
| 851 | 
            +
                  expect(Puppet).to receive(:err).twice
         | 
| 823 852 |  | 
| 824 853 | 
             
                  @host.wait_for_cert(1)
         | 
| 825 854 | 
             
                end
         |