puppet 5.5.12-universal-darwin → 5.5.13-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +0 -5
- data/Gemfile.lock +11 -11
- data/lib/puppet/application/filebucket.rb +4 -0
- data/lib/puppet/configurer.rb +9 -3
- data/lib/puppet/indirector/request.rb +26 -15
- data/lib/puppet/indirector/rest.rb +16 -7
- data/lib/puppet/network/http/connection.rb +15 -7
- data/lib/puppet/transaction/event_manager.rb +1 -5
- data/lib/puppet/type/file/source.rb +0 -1
- data/lib/puppet/util/http_proxy.rb +3 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +108 -36
- data/man/man5/puppet.conf.5 +2 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-ca.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-cert.8 +1 -1
- data/man/man8/puppet-certificate.8 +1 -1
- data/man/man8/puppet-certificate_request.8 +1 -1
- data/man/man8/puppet-certificate_revocation_list.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-master.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/integration/agent/logging_spec.rb +5 -7
- data/spec/integration/application/apply_spec.rb +28 -26
- data/spec/integration/application/doc_spec.rb +1 -2
- data/spec/integration/application/lookup_spec.rb +5 -5
- data/spec/integration/configurer_spec.rb +5 -6
- data/spec/integration/defaults_spec.rb +5 -6
- data/spec/integration/directory_environments_spec.rb +1 -1
- data/spec/integration/faces/ca_spec.rb +2 -3
- data/spec/integration/faces/config_spec.rb +3 -4
- data/spec/integration/faces/documentation_spec.rb +0 -1
- data/spec/integration/faces/plugin_spec.rb +1 -1
- data/spec/integration/file_bucket/file_spec.rb +3 -5
- data/spec/integration/file_serving/content_spec.rb +0 -1
- data/spec/integration/file_serving/fileset_spec.rb +0 -1
- data/spec/integration/file_serving/metadata_spec.rb +0 -1
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -1
- data/spec/integration/indirector/catalog/compiler_spec.rb +10 -11
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +5 -5
- data/spec/integration/indirector/file_content/file_server_spec.rb +7 -8
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +7 -8
- data/spec/integration/indirector/node/ldap_spec.rb +2 -3
- data/spec/integration/network/authconfig_spec.rb +23 -24
- data/spec/integration/network/formats_spec.rb +0 -1
- data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -1
- data/spec/integration/node/environment_spec.rb +0 -1
- data/spec/integration/node/facts_spec.rb +9 -10
- data/spec/integration/node_spec.rb +6 -7
- data/spec/integration/parser/catalog_spec.rb +4 -2
- data/spec/integration/parser/collection_spec.rb +1 -2
- data/spec/integration/parser/compiler_spec.rb +6 -6
- data/spec/integration/parser/scope_spec.rb +1 -1
- data/spec/integration/parser/undef_param_spec.rb +1 -1
- data/spec/integration/provider/cron/crontab_spec.rb +8 -10
- data/spec/integration/provider/mailalias/aliases_spec.rb +0 -1
- data/spec/integration/provider/mount_spec.rb +9 -9
- data/spec/integration/provider/service/init_spec.rb +4 -5
- data/spec/integration/provider/service/systemd_spec.rb +0 -2
- data/spec/integration/provider/service/windows_spec.rb +1 -2
- data/spec/integration/provider/ssh_authorized_key_spec.rb +6 -8
- data/spec/integration/provider/sshkey_spec.rb +6 -12
- data/spec/integration/provider/yumrepo_spec.rb +8 -12
- data/spec/integration/reference/providers_spec.rb +0 -1
- data/spec/integration/reports_spec.rb +1 -2
- data/spec/integration/resource/catalog_spec.rb +14 -17
- data/spec/integration/resource/type_collection_spec.rb +4 -5
- data/spec/integration/ssl/certificate_authority_spec.rb +0 -1
- data/spec/integration/ssl/certificate_request_spec.rb +0 -1
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -1
- data/spec/integration/ssl/host_spec.rb +0 -1
- data/spec/integration/ssl/key_spec.rb +0 -1
- data/spec/integration/test/test_helper_spec.rb +1 -2
- data/spec/integration/transaction/report_spec.rb +6 -11
- data/spec/integration/transaction_spec.rb +18 -19
- data/spec/integration/type/exec_spec.rb +0 -1
- data/spec/integration/type/file_spec.rb +13 -14
- data/spec/integration/type/nagios_spec.rb +3 -5
- data/spec/integration/type/package_spec.rb +19 -23
- data/spec/integration/type/tidy_spec.rb +1 -2
- data/spec/integration/type/user_spec.rb +0 -1
- data/spec/integration/type_spec.rb +0 -1
- data/spec/integration/util/autoload_spec.rb +1 -2
- data/spec/integration/util/rdoc/parser_spec.rb +0 -1
- data/spec/integration/util/settings_spec.rb +0 -1
- data/spec/integration/util/windows/adsi_spec.rb +3 -5
- data/spec/integration/util/windows/principal_spec.rb +0 -1
- data/spec/integration/util/windows/process_spec.rb +4 -6
- data/spec/integration/util/windows/registry_spec.rb +41 -51
- data/spec/integration/util/windows/security_spec.rb +2 -4
- data/spec/integration/util/windows/user_spec.rb +18 -20
- data/spec/integration/util_spec.rb +4 -7
- data/spec/lib/puppet_spec/compiler.rb +1 -1
- data/spec/lib/puppet_spec/files.rb +0 -1
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +1 -2
- data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
- data/spec/shared_behaviours/file_server_terminus.rb +8 -9
- data/spec/shared_behaviours/file_serving.rb +6 -8
- data/spec/shared_behaviours/file_serving_model.rb +4 -6
- data/spec/shared_behaviours/hiera_indirections.rb +3 -4
- data/spec/shared_behaviours/iterative_functions.rb +0 -1
- data/spec/shared_behaviours/memory_terminus.rb +2 -2
- data/spec/shared_examples/rhel_package_provider.rb +112 -70
- data/spec/spec_helper.rb +11 -2
- data/spec/unit/agent/disabler_spec.rb +4 -5
- data/spec/unit/agent/locker_spec.rb +12 -13
- data/spec/unit/agent_spec.rb +80 -85
- data/spec/unit/application/agent_spec.rb +88 -93
- data/spec/unit/application/apply_spec.rb +78 -79
- data/spec/unit/application/cert_spec.rb +42 -49
- data/spec/unit/application/certificate_spec.rb +2 -3
- data/spec/unit/application/config_spec.rb +0 -1
- data/spec/unit/application/describe_spec.rb +6 -7
- data/spec/unit/application/device_spec.rb +175 -184
- data/spec/unit/application/doc_spec.rb +44 -46
- data/spec/unit/application/face_base_spec.rb +61 -62
- data/spec/unit/application/facts_spec.rb +3 -4
- data/spec/unit/application/filebucket_spec.rb +66 -74
- data/spec/unit/application/indirection_base_spec.rb +8 -6
- data/spec/unit/application/lookup_spec.rb +26 -26
- data/spec/unit/application/master_spec.rb +95 -95
- data/spec/unit/application/resource_spec.rb +42 -48
- data/spec/unit/application_spec.rb +74 -84
- data/spec/unit/capability_spec.rb +9 -6
- data/spec/unit/configurer/downloader_spec.rb +20 -21
- data/spec/unit/configurer/fact_handler_spec.rb +2 -3
- data/spec/unit/configurer/plugin_handler_spec.rb +41 -8
- data/spec/unit/configurer_spec.rb +190 -193
- data/spec/unit/confine/exists_spec.rb +17 -15
- data/spec/unit/confine/false_spec.rb +5 -6
- data/spec/unit/confine/feature_spec.rb +7 -5
- data/spec/unit/confine/true_spec.rb +5 -6
- data/spec/unit/confine/variable_spec.rb +14 -15
- data/spec/unit/confine_collection_spec.rb +28 -29
- data/spec/unit/confine_spec.rb +13 -14
- data/spec/unit/confiner_spec.rb +10 -11
- data/spec/unit/context/trusted_information_spec.rb +1 -1
- data/spec/unit/daemon_spec.rb +34 -35
- data/spec/unit/data_providers/function_data_provider_spec.rb +0 -1
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -1
- data/spec/unit/datatypes_spec.rb +3 -4
- data/spec/unit/defaults_spec.rb +17 -12
- data/spec/unit/environments_spec.rb +7 -7
- data/spec/unit/etc_spec.rb +30 -32
- data/spec/unit/external/pson_spec.rb +0 -1
- data/spec/unit/face/ca_spec.rb +0 -1
- data/spec/unit/face/catalog_spec.rb +0 -1
- data/spec/unit/face/certificate_request_spec.rb +0 -1
- data/spec/unit/face/certificate_revocation_list_spec.rb +0 -1
- data/spec/unit/face/certificate_spec.rb +7 -10
- data/spec/unit/face/config_spec.rb +31 -35
- data/spec/unit/face/epp_face_spec.rb +3 -4
- data/spec/unit/face/facts_spec.rb +5 -6
- data/spec/unit/face/generate_spec.rb +4 -5
- data/spec/unit/face/help_spec.rb +7 -8
- data/spec/unit/face/key_spec.rb +0 -1
- data/spec/unit/face/man_spec.rb +1 -2
- data/spec/unit/face/module/build_spec.rb +17 -17
- data/spec/unit/face/module/install_spec.rb +3 -5
- data/spec/unit/face/module/list_spec.rb +2 -12
- data/spec/unit/face/module/search_spec.rb +11 -9
- data/spec/unit/face/module/uninstall_spec.rb +4 -8
- data/spec/unit/face/node_spec.rb +33 -34
- data/spec/unit/face/parser_spec.rb +3 -3
- data/spec/unit/face/plugin_spec.rb +36 -9
- data/spec/unit/face/status_spec.rb +0 -1
- data/spec/unit/file_bucket/dipper_spec.rb +24 -20
- data/spec/unit/file_bucket/file_spec.rb +0 -2
- data/spec/unit/file_serving/base_spec.rb +16 -17
- data/spec/unit/file_serving/configuration/parser_spec.rb +27 -28
- data/spec/unit/file_serving/configuration_spec.rb +63 -66
- data/spec/unit/file_serving/content_spec.rb +10 -11
- data/spec/unit/file_serving/fileset_spec.rb +63 -58
- data/spec/unit/file_serving/http_metadata_spec.rb +8 -7
- data/spec/unit/file_serving/metadata_spec.rb +36 -36
- data/spec/unit/file_serving/mount/file_spec.rb +31 -32
- data/spec/unit/file_serving/mount/locales_spec.rb +23 -24
- data/spec/unit/file_serving/mount/modules_spec.rb +14 -15
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +23 -24
- data/spec/unit/file_serving/mount/plugins_spec.rb +23 -24
- data/spec/unit/file_serving/mount/tasks_spec.rb +14 -15
- data/spec/unit/file_serving/mount_spec.rb +0 -1
- data/spec/unit/file_serving/terminus_helper_spec.rb +37 -42
- data/spec/unit/file_serving/terminus_selector_spec.rb +12 -13
- data/spec/unit/file_system/uniquefile_spec.rb +4 -4
- data/spec/unit/file_system_spec.rb +2 -2
- data/spec/unit/forge/errors_spec.rb +1 -1
- data/spec/unit/forge/forge_spec.rb +13 -14
- data/spec/unit/forge/module_release_spec.rb +18 -18
- data/spec/unit/forge/repository_spec.rb +29 -30
- data/spec/unit/forge_spec.rb +15 -11
- data/spec/unit/functions/binary_file_spec.rb +3 -3
- data/spec/unit/functions/contain_spec.rb +0 -2
- data/spec/unit/functions/defined_spec.rb +0 -1
- data/spec/unit/functions/epp_spec.rb +2 -2
- data/spec/unit/functions/find_file_spec.rb +7 -7
- data/spec/unit/functions/include_spec.rb +0 -4
- data/spec/unit/functions/lookup_fixture_spec.rb +0 -1
- data/spec/unit/functions/lookup_spec.rb +1 -2
- data/spec/unit/functions/module_directory_spec.rb +12 -12
- data/spec/unit/functions/require_spec.rb +0 -3
- data/spec/unit/functions/shared.rb +5 -8
- data/spec/unit/functions/versioncmp_spec.rb +1 -2
- data/spec/unit/functions4_spec.rb +7 -8
- data/spec/unit/gettext/config_spec.rb +4 -4
- data/spec/unit/gettext/module_loading_spec.rb +7 -7
- data/spec/unit/graph/rb_tree_map_spec.rb +0 -2
- data/spec/unit/graph/relationship_graph_spec.rb +1 -2
- data/spec/unit/graph/simple_graph_spec.rb +8 -9
- data/spec/unit/hiera_puppet_spec.rb +20 -20
- data/spec/unit/indirector/catalog/compiler_spec.rb +147 -149
- data/spec/unit/indirector/catalog/json_spec.rb +1 -2
- data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -1
- data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/catalog/yaml_spec.rb +0 -1
- data/spec/unit/indirector/certificate/ca_spec.rb +2 -4
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate/file_spec.rb +2 -3
- data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
- data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -1
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -1
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -1
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +1 -2
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +2 -3
- data/spec/unit/indirector/certificate_status/file_spec.rb +2 -3
- data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -1
- data/spec/unit/indirector/code_spec.rb +5 -6
- data/spec/unit/indirector/direct_file_server_spec.rb +33 -27
- data/spec/unit/indirector/envelope_spec.rb +1 -2
- data/spec/unit/indirector/exec_spec.rb +15 -14
- data/spec/unit/indirector/face_spec.rb +9 -9
- data/spec/unit/indirector/facts/facter_spec.rb +37 -43
- data/spec/unit/indirector/facts/network_device_spec.rb +8 -9
- data/spec/unit/indirector/facts/rest_spec.rb +7 -8
- data/spec/unit/indirector/facts/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/facts/yaml_spec.rb +2 -4
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -4
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +4 -5
- data/spec/unit/indirector/file_content/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_content/file_spec.rb +0 -1
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_content/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/file_spec.rb +12 -13
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -1
- data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -1
- data/spec/unit/indirector/file_server_spec.rb +99 -93
- data/spec/unit/indirector/indirection_spec.rb +242 -226
- data/spec/unit/indirector/json_spec.rb +7 -9
- data/spec/unit/indirector/key/ca_spec.rb +2 -3
- data/spec/unit/indirector/key/disabled_ca_spec.rb +1 -2
- data/spec/unit/indirector/key/file_spec.rb +25 -26
- data/spec/unit/indirector/ldap_spec.rb +34 -41
- data/spec/unit/indirector/memory_spec.rb +6 -7
- data/spec/unit/indirector/msgpack_spec.rb +7 -9
- data/spec/unit/indirector/node/exec_spec.rb +6 -6
- data/spec/unit/indirector/node/ldap_spec.rb +74 -76
- data/spec/unit/indirector/node/memory_spec.rb +2 -4
- data/spec/unit/indirector/node/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/node/plain_spec.rb +2 -4
- data/spec/unit/indirector/node/rest_spec.rb +0 -1
- data/spec/unit/indirector/node/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/node/write_only_yaml_spec.rb +1 -2
- data/spec/unit/indirector/node/yaml_spec.rb +0 -1
- data/spec/unit/indirector/none_spec.rb +5 -5
- data/spec/unit/indirector/plain_spec.rb +7 -8
- data/spec/unit/indirector/report/msgpack_spec.rb +0 -1
- data/spec/unit/indirector/report/processor_spec.rb +21 -22
- data/spec/unit/indirector/report/rest_spec.rb +11 -12
- data/spec/unit/indirector/report/yaml_spec.rb +0 -1
- data/spec/unit/indirector/request_spec.rb +11 -12
- data/spec/unit/indirector/resource/ral_spec.rb +47 -54
- data/spec/unit/indirector/resource/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/rest_spec.rb +113 -110
- data/spec/unit/indirector/ssl_file_spec.rb +74 -77
- data/spec/unit/indirector/status/local_spec.rb +0 -1
- data/spec/unit/indirector/status/rest_spec.rb +0 -1
- data/spec/unit/indirector/store_configs_spec.rb +0 -1
- data/spec/unit/indirector/terminus_spec.rb +31 -29
- data/spec/unit/indirector/yaml_spec.rb +33 -32
- data/spec/unit/indirector_spec.rb +1 -2
- data/spec/unit/info_service_spec.rb +3 -1
- data/spec/unit/interface/action_builder_spec.rb +0 -1
- data/spec/unit/interface/action_manager_spec.rb +0 -1
- data/spec/unit/interface/action_spec.rb +2 -3
- data/spec/unit/interface/documentation_spec.rb +0 -1
- data/spec/unit/interface/face_collection_spec.rb +19 -12
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/man_spec.rb +3 -4
- data/spec/unit/module_spec.rb +46 -51
- data/spec/unit/module_tool/applications/builder_spec.rb +5 -5
- data/spec/unit/module_tool/applications/installer_spec.rb +10 -11
- data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +1 -2
- data/spec/unit/module_tool/applications/unpacker_spec.rb +13 -13
- data/spec/unit/module_tool/applications/upgrader_spec.rb +5 -5
- data/spec/unit/module_tool/install_directory_spec.rb +8 -8
- data/spec/unit/module_tool/installed_modules_spec.rb +3 -3
- data/spec/unit/module_tool/tar/gnu_spec.rb +6 -6
- data/spec/unit/module_tool/tar/mini_spec.rb +12 -12
- data/spec/unit/module_tool/tar_spec.rb +12 -13
- data/spec/unit/module_tool_spec.rb +7 -12
- data/spec/unit/network/auth_config_parser_spec.rb +11 -13
- data/spec/unit/network/authconfig_spec.rb +17 -18
- data/spec/unit/network/authorization_spec.rb +4 -5
- data/spec/unit/network/authstore_spec.rb +0 -1
- data/spec/unit/network/format_handler_spec.rb +0 -1
- data/spec/unit/network/format_spec.rb +9 -10
- data/spec/unit/network/format_support_spec.rb +28 -29
- data/spec/unit/network/formats_spec.rb +4 -5
- data/spec/unit/network/http/api/ca/v1_spec.rb +1 -1
- data/spec/unit/network/http/api/indirected_routes_spec.rb +22 -29
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +2 -2
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +1 -1
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +6 -7
- data/spec/unit/network/http/api_spec.rb +1 -3
- data/spec/unit/network/http/compression_spec.rb +21 -22
- data/spec/unit/network/http/connection_spec.rb +39 -36
- data/spec/unit/network/http/factory_spec.rb +5 -6
- data/spec/unit/network/http/handler_spec.rb +9 -18
- data/spec/unit/network/http/nocache_pool_spec.rb +6 -7
- data/spec/unit/network/http/pool_spec.rb +28 -29
- data/spec/unit/network/http/rack/rest_spec.rb +24 -27
- data/spec/unit/network/http/rack_spec.rb +5 -6
- data/spec/unit/network/http/request_spec.rb +0 -2
- data/spec/unit/network/http/response_spec.rb +11 -13
- data/spec/unit/network/http/route_spec.rb +0 -1
- data/spec/unit/network/http/session_spec.rb +1 -2
- data/spec/unit/network/http/site_spec.rb +0 -1
- data/spec/unit/network/http/webrick/rest_spec.rb +40 -41
- data/spec/unit/network/http/webrick_spec.rb +49 -52
- data/spec/unit/network/http_pool_spec.rb +18 -9
- data/spec/unit/network/http_spec.rb +0 -1
- data/spec/unit/network/resolver_spec.rb +16 -17
- data/spec/unit/network/rights_spec.rb +52 -53
- data/spec/unit/network/server_spec.rb +12 -13
- data/spec/unit/node/environment_spec.rb +16 -14
- data/spec/unit/node/facts_spec.rb +5 -7
- data/spec/unit/node_spec.rb +4 -10
- data/spec/unit/other/selinux_spec.rb +2 -3
- data/spec/unit/parameter/boolean_spec.rb +1 -2
- data/spec/unit/parameter/package_options_spec.rb +1 -2
- data/spec/unit/parameter/path_spec.rb +0 -1
- data/spec/unit/parameter/value_collection_spec.rb +0 -1
- data/spec/unit/parameter/value_spec.rb +0 -1
- data/spec/unit/parameter_spec.rb +9 -9
- data/spec/unit/parser/ast/block_expression_spec.rb +6 -8
- data/spec/unit/parser/ast/leaf_spec.rb +20 -21
- data/spec/unit/parser/compiler_spec.rb +84 -96
- data/spec/unit/parser/environment_compiler_spec.rb +11 -9
- data/spec/unit/parser/files_spec.rb +0 -1
- data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
- data/spec/unit/parser/functions/digest_spec.rb +0 -1
- data/spec/unit/parser/functions/fail_spec.rb +1 -2
- data/spec/unit/parser/functions/file_spec.rb +13 -14
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -6
- data/spec/unit/parser/functions/generate_spec.rb +7 -8
- data/spec/unit/parser/functions/inline_template_spec.rb +0 -1
- data/spec/unit/parser/functions/regsubst_spec.rb +0 -1
- data/spec/unit/parser/functions/scanf_spec.rb +0 -1
- data/spec/unit/parser/functions/shellquote_spec.rb +0 -1
- data/spec/unit/parser/functions/split_spec.rb +0 -1
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -1
- data/spec/unit/parser/functions/tag_spec.rb +1 -2
- data/spec/unit/parser/functions/tagged_spec.rb +2 -3
- data/spec/unit/parser/functions/template_spec.rb +13 -13
- data/spec/unit/parser/functions/versioncmp_spec.rb +1 -2
- data/spec/unit/parser/functions_spec.rb +3 -4
- data/spec/unit/parser/relationship_spec.rb +0 -1
- data/spec/unit/parser/resource_spec.rb +42 -42
- data/spec/unit/parser/scope_spec.rb +39 -35
- data/spec/unit/parser/templatewrapper_spec.rb +11 -12
- data/spec/unit/parser/type_loader_spec.rb +17 -19
- data/spec/unit/pops/adaptable_spec.rb +0 -1
- data/spec/unit/pops/benchmark_spec.rb +0 -1
- data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +6 -6
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -1
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -1
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -1
- data/spec/unit/pops/evaluator/variables_spec.rb +0 -1
- data/spec/unit/pops/factory_spec.rb +3 -4
- data/spec/unit/pops/issues_spec.rb +19 -20
- data/spec/unit/pops/loaders/loader_spec.rb +8 -4
- data/spec/unit/pops/loaders/loaders_spec.rb +30 -27
- data/spec/unit/pops/lookup/context_spec.rb +0 -1
- data/spec/unit/pops/lookup/interpolation_spec.rb +2 -3
- data/spec/unit/pops/merge_strategy_spec.rb +0 -1
- data/spec/unit/pops/migration_spec.rb +3 -5
- data/spec/unit/pops/model/model_spec.rb +0 -1
- data/spec/unit/pops/model/pn_transformer_spec.rb +0 -1
- data/spec/unit/pops/parser/locator_spec.rb +3 -6
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_calls_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_containers_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_plan_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_resource_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -1
- data/spec/unit/pops/parser/pn_parser_spec.rb +0 -1
- data/spec/unit/pops/pn_spec.rb +0 -1
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -1
- data/spec/unit/pops/serialization/serialization_spec.rb +1 -1
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/recursion_guard_spec.rb +10 -10
- data/spec/unit/pops/types/ruby_generator_spec.rb +2 -2
- data/spec/unit/pops/types/type_asserter_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +36 -36
- data/spec/unit/pops/types/type_parser_spec.rb +13 -13
- data/spec/unit/pops/validator/validator_spec.rb +1 -2
- data/spec/unit/pops/visitor_spec.rb +0 -1
- data/spec/unit/property/boolean_spec.rb +1 -1
- data/spec/unit/property/ensure_spec.rb +0 -1
- data/spec/unit/property/keyvalue_spec.rb +32 -34
- data/spec/unit/property/list_spec.rb +26 -27
- data/spec/unit/property/ordered_list_spec.rb +10 -14
- data/spec/unit/property_spec.rb +42 -43
- data/spec/unit/provider/aix_object_spec.rb +47 -45
- data/spec/unit/provider/augeas/augeas_spec.rb +192 -192
- data/spec/unit/provider/cisco_spec.rb +1 -2
- data/spec/unit/provider/command_spec.rb +9 -9
- data/spec/unit/provider/cron/crontab_spec.rb +10 -11
- data/spec/unit/provider/cron/parsed_spec.rb +22 -24
- data/spec/unit/provider/exec/posix_spec.rb +6 -7
- data/spec/unit/provider/exec/shell_spec.rb +0 -1
- data/spec/unit/provider/exec/windows_spec.rb +2 -4
- data/spec/unit/provider/exec_spec.rb +0 -1
- data/spec/unit/provider/file/posix_spec.rb +22 -24
- data/spec/unit/provider/file/windows_spec.rb +15 -17
- data/spec/unit/provider/group/aix_spec.rb +3 -2
- data/spec/unit/provider/group/groupadd_spec.rb +30 -26
- data/spec/unit/provider/group/ldap_spec.rb +18 -18
- data/spec/unit/provider/group/pw_spec.rb +11 -11
- data/spec/unit/provider/group/windows_adsi_spec.rb +54 -54
- data/spec/unit/provider/host/parsed_spec.rb +6 -6
- data/spec/unit/provider/interface/cisco_spec.rb +20 -24
- data/spec/unit/provider/ldap_spec.rb +61 -62
- data/spec/unit/provider/macauthorization_spec.rb +26 -47
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +45 -47
- data/spec/unit/provider/mount/parsed_spec.rb +18 -24
- data/spec/unit/provider/mount_spec.rb +57 -66
- data/spec/unit/provider/naginator_spec.rb +13 -14
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
- data/spec/unit/provider/nameservice_spec.rb +38 -40
- data/spec/unit/provider/network_device_spec.rb +28 -28
- data/spec/unit/provider/package/aix_spec.rb +15 -15
- data/spec/unit/provider/package/appdmg_spec.rb +13 -13
- data/spec/unit/provider/package/apt_spec.rb +44 -27
- data/spec/unit/provider/package/aptitude_spec.rb +6 -7
- data/spec/unit/provider/package/aptrpm_spec.rb +7 -12
- data/spec/unit/provider/package/base_spec.rb +4 -4
- data/spec/unit/provider/package/dnf_spec.rb +14 -16
- data/spec/unit/provider/package/dpkg_spec.rb +52 -52
- data/spec/unit/provider/package/freebsd_spec.rb +11 -11
- data/spec/unit/provider/package/gem_spec.rb +51 -43
- data/spec/unit/provider/package/hpux_spec.rb +8 -8
- data/spec/unit/provider/package/macports_spec.rb +46 -42
- data/spec/unit/provider/package/nim_spec.rb +30 -39
- data/spec/unit/provider/package/openbsd_spec.rb +36 -39
- data/spec/unit/provider/package/opkg_spec.rb +23 -26
- data/spec/unit/provider/package/pacman_spec.rb +97 -118
- data/spec/unit/provider/package/pip_spec.rb +69 -71
- data/spec/unit/provider/package/pkg_spec.rb +109 -109
- data/spec/unit/provider/package/pkgdmg_spec.rb +65 -63
- data/spec/unit/provider/package/pkgin_spec.rb +10 -8
- data/spec/unit/provider/package/pkgng_spec.rb +17 -18
- data/spec/unit/provider/package/pkgutil_spec.rb +45 -49
- data/spec/unit/provider/package/portage_spec.rb +70 -74
- data/spec/unit/provider/package/puppet_gem_spec.rb +28 -8
- data/spec/unit/provider/package/rpm_spec.rb +53 -64
- data/spec/unit/provider/package/sun_spec.rb +16 -18
- data/spec/unit/provider/package/tdnf_spec.rb +2 -2
- data/spec/unit/provider/package/up2date_spec.rb +2 -4
- data/spec/unit/provider/package/urpmi_spec.rb +15 -17
- data/spec/unit/provider/package/windows/exe_package_spec.rb +12 -15
- data/spec/unit/provider/package/windows/msi_package_spec.rb +19 -22
- data/spec/unit/provider/package/windows/package_spec.rb +37 -42
- data/spec/unit/provider/package/windows_spec.rb +36 -32
- data/spec/unit/provider/package/yum_spec.rb +4 -4
- data/spec/unit/provider/package/zypper_spec.rb +87 -87
- data/spec/unit/provider/parsedfile_spec.rb +44 -45
- data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +120 -130
- data/spec/unit/provider/selboolean_spec.rb +9 -11
- data/spec/unit/provider/selmodule_spec.rb +20 -22
- data/spec/unit/provider/service/base_spec.rb +4 -5
- data/spec/unit/provider/service/bsd_spec.rb +27 -29
- data/spec/unit/provider/service/daemontools_spec.rb +35 -35
- data/spec/unit/provider/service/debian_spec.rb +37 -37
- data/spec/unit/provider/service/freebsd_spec.rb +18 -18
- data/spec/unit/provider/service/gentoo_spec.rb +50 -56
- data/spec/unit/provider/service/init_spec.rb +55 -55
- data/spec/unit/provider/service/launchd_spec.rb +138 -116
- data/spec/unit/provider/service/openbsd_spec.rb +50 -50
- data/spec/unit/provider/service/openrc_spec.rb +43 -46
- data/spec/unit/provider/service/openwrt_spec.rb +26 -32
- data/spec/unit/provider/service/rcng_spec.rb +14 -14
- data/spec/unit/provider/service/redhat_spec.rb +45 -43
- data/spec/unit/provider/service/runit_spec.rb +29 -27
- data/spec/unit/provider/service/smf_spec.rb +74 -66
- data/spec/unit/provider/service/src_spec.rb +46 -47
- data/spec/unit/provider/service/systemd_spec.rb +93 -98
- data/spec/unit/provider/service/upstart_spec.rb +74 -72
- data/spec/unit/provider/service/windows_spec.rb +33 -41
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +54 -68
- data/spec/unit/provider/sshkey/parsed_spec.rb +7 -8
- data/spec/unit/provider/user/aix_spec.rb +31 -31
- data/spec/unit/provider/user/directoryservice_spec.rb +109 -114
- data/spec/unit/provider/user/hpux_spec.rb +15 -15
- data/spec/unit/provider/user/ldap_spec.rb +57 -57
- data/spec/unit/provider/user/openbsd_spec.rb +10 -12
- data/spec/unit/provider/user/pw_spec.rb +37 -35
- data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
- data/spec/unit/provider/user/useradd_spec.rb +93 -92
- data/spec/unit/provider/user/windows_adsi_spec.rb +59 -60
- data/spec/unit/provider/vlan/cisco_spec.rb +10 -12
- data/spec/unit/provider/yumrepo/inifile_spec.rb +75 -80
- data/spec/unit/provider/zfs/zfs_spec.rb +26 -21
- data/spec/unit/provider/zone/solaris_spec.rb +56 -42
- data/spec/unit/provider/zpool/zpool_spec.rb +19 -20
- data/spec/unit/provider_spec.rb +29 -29
- data/spec/unit/puppet_pal_2pec.rb +4 -5
- data/spec/unit/puppet_pal_spec.rb +0 -1
- data/spec/unit/puppet_spec.rb +7 -8
- data/spec/unit/relationship_spec.rb +0 -1
- data/spec/unit/reports/http_spec.rb +21 -23
- data/spec/unit/reports/store_spec.rb +3 -4
- data/spec/unit/reports_spec.rb +12 -14
- data/spec/unit/resource/capability_finder_spec.rb +18 -16
- data/spec/unit/resource/catalog_spec.rb +72 -68
- data/spec/unit/resource/status_spec.rb +6 -8
- data/spec/unit/resource/type_collection_spec.rb +17 -18
- data/spec/unit/resource/type_spec.rb +34 -35
- data/spec/unit/resource_spec.rb +36 -32
- data/spec/unit/scheduler/job_spec.rb +0 -1
- data/spec/unit/scheduler/scheduler_spec.rb +0 -1
- data/spec/unit/scheduler/splay_job_spec.rb +1 -2
- data/spec/unit/settings/array_setting_spec.rb +1 -1
- data/spec/unit/settings/autosign_setting_spec.rb +9 -9
- data/spec/unit/settings/certificate_revocation_setting_spec.rb +1 -1
- data/spec/unit/settings/config_file_spec.rb +0 -1
- data/spec/unit/settings/directory_setting_spec.rb +2 -7
- data/spec/unit/settings/duration_setting_spec.rb +1 -2
- data/spec/unit/settings/enum_setting_spec.rb +1 -1
- data/spec/unit/settings/environment_conf_spec.rb +4 -6
- data/spec/unit/settings/file_setting_spec.rb +44 -46
- data/spec/unit/settings/path_setting_spec.rb +1 -2
- data/spec/unit/settings/priority_setting_spec.rb +1 -2
- data/spec/unit/settings/string_setting_spec.rb +14 -15
- data/spec/unit/settings/terminus_setting_spec.rb +1 -2
- data/spec/unit/settings/value_translator_spec.rb +0 -1
- data/spec/unit/settings_spec.rb +226 -233
- data/spec/unit/ssl/base_spec.rb +14 -15
- data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +6 -7
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +116 -113
- data/spec/unit/ssl/certificate_authority_spec.rb +258 -268
- data/spec/unit/ssl/certificate_factory_spec.rb +3 -5
- data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -3
- data/spec/unit/ssl/certificate_request_spec.rb +66 -67
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -4
- data/spec/unit/ssl/certificate_spec.rb +23 -25
- data/spec/unit/ssl/configuration_spec.rb +1 -4
- data/spec/unit/ssl/digest_spec.rb +0 -1
- data/spec/unit/ssl/host_spec.rb +217 -188
- data/spec/unit/ssl/inventory_spec.rb +25 -21
- data/spec/unit/ssl/key_spec.rb +30 -31
- data/spec/unit/ssl/validator_spec.rb +40 -40
- data/spec/unit/task_spec.rb +6 -7
- data/spec/unit/transaction/additional_resource_generator_spec.rb +6 -5
- data/spec/unit/transaction/event_manager_spec.rb +88 -88
- data/spec/unit/transaction/event_spec.rb +16 -15
- data/spec/unit/transaction/persistence_spec.rb +16 -17
- data/spec/unit/transaction/report_spec.rb +11 -12
- data/spec/unit/transaction/resource_harness_spec.rb +28 -33
- data/spec/unit/transaction_spec.rb +98 -100
- data/spec/unit/type/augeas_spec.rb +11 -10
- data/spec/unit/type/component_spec.rb +0 -1
- data/spec/unit/type/computer_spec.rb +7 -10
- data/spec/unit/type/cron_spec.rb +3 -7
- data/spec/unit/type/exec_spec.rb +60 -56
- data/spec/unit/type/file/checksum_spec.rb +9 -10
- data/spec/unit/type/file/checksum_value_spec.rb +31 -32
- data/spec/unit/type/file/content_spec.rb +58 -61
- data/spec/unit/type/file/ctime_spec.rb +0 -1
- data/spec/unit/type/file/ensure_spec.rb +12 -13
- data/spec/unit/type/file/group_spec.rb +5 -7
- data/spec/unit/type/file/mode_spec.rb +4 -6
- data/spec/unit/type/file/mtime_spec.rb +0 -1
- data/spec/unit/type/file/owner_spec.rb +6 -8
- data/spec/unit/type/file/selinux_spec.rb +17 -19
- data/spec/unit/type/file/source_spec.rb +104 -101
- data/spec/unit/type/file/type_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +195 -185
- data/spec/unit/type/filebucket_spec.rb +4 -5
- data/spec/unit/type/group_spec.rb +6 -8
- data/spec/unit/type/host_spec.rb +2 -3
- data/spec/unit/type/interface_spec.rb +2 -3
- data/spec/unit/type/k5login_spec.rb +3 -4
- data/spec/unit/type/macauthorization_spec.rb +6 -8
- data/spec/unit/type/mailalias_spec.rb +2 -3
- data/spec/unit/type/maillist_spec.rb +6 -9
- data/spec/unit/type/mcx_spec.rb +4 -8
- data/spec/unit/type/mount_spec.rb +26 -38
- data/spec/unit/type/nagios_spec.rb +0 -1
- data/spec/unit/type/noop_metaparam_spec.rb +1 -2
- data/spec/unit/type/package/package_settings_spec.rb +44 -23
- data/spec/unit/type/package_spec.rb +53 -54
- data/spec/unit/type/resources_spec.rb +86 -88
- data/spec/unit/type/schedule_spec.rb +24 -26
- data/spec/unit/type/scheduled_task_spec.rb +1 -2
- data/spec/unit/type/selboolean_spec.rb +5 -6
- data/spec/unit/type/selmodule_spec.rb +0 -1
- data/spec/unit/type/service_spec.rb +47 -47
- data/spec/unit/type/ssh_authorized_key_spec.rb +5 -35
- data/spec/unit/type/sshkey_spec.rb +0 -2
- data/spec/unit/type/stage_spec.rb +0 -1
- data/spec/unit/type/tidy_spec.rb +61 -62
- data/spec/unit/type/user_spec.rb +41 -27
- data/spec/unit/type/vlan_spec.rb +2 -4
- data/spec/unit/type/whit_spec.rb +0 -1
- data/spec/unit/type/zfs_spec.rb +6 -7
- data/spec/unit/type/zone_spec.rb +14 -4
- data/spec/unit/type/zpool_spec.rb +4 -5
- data/spec/unit/type_spec.rb +54 -53
- data/spec/unit/util/at_fork_spec.rb +18 -19
- data/spec/unit/util/autoload_spec.rb +53 -54
- data/spec/unit/util/backups_spec.rb +34 -35
- data/spec/unit/util/character_encoding_spec.rb +8 -8
- data/spec/unit/util/checksums_spec.rb +38 -39
- data/spec/unit/util/colors_spec.rb +1 -2
- data/spec/unit/util/command_line_spec.rb +24 -25
- data/spec/unit/util/constant_inflector_spec.rb +0 -1
- data/spec/unit/util/diff_spec.rb +7 -8
- data/spec/unit/util/errors_spec.rb +0 -1
- data/spec/unit/util/execution_spec.rb +187 -162
- data/spec/unit/util/execution_stub_spec.rb +0 -1
- data/spec/unit/util/feature_spec.rb +13 -13
- data/spec/unit/util/filetype_spec.rb +49 -49
- data/spec/unit/util/http_proxy_spec.rb +12 -12
- data/spec/unit/util/inifile_spec.rb +26 -31
- data/spec/unit/util/json_lockfile_spec.rb +3 -5
- data/spec/unit/util/ldap/connection_spec.rb +26 -25
- data/spec/unit/util/ldap/generator_spec.rb +0 -1
- data/spec/unit/util/ldap/manager_spec.rb +102 -101
- data/spec/unit/util/lockfile_spec.rb +0 -1
- data/spec/unit/util/log/destinations_spec.rb +30 -33
- data/spec/unit/util/log_spec.rb +35 -36
- data/spec/unit/util/logging_spec.rb +58 -66
- data/spec/unit/util/metric_spec.rb +0 -1
- data/spec/unit/util/monkey_patches_spec.rb +7 -9
- data/spec/unit/util/multi_match_spec.rb +0 -1
- data/spec/unit/util/nagios_maker_spec.rb +35 -36
- data/spec/unit/util/network_device/cisco/device_spec.rb +59 -50
- data/spec/unit/util/network_device/cisco/facts_spec.rb +4 -5
- data/spec/unit/util/network_device/cisco/interface_spec.rb +29 -20
- data/spec/unit/util/network_device/config_spec.rb +0 -1
- data/spec/unit/util/network_device/ipcalc_spec.rb +0 -1
- data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
- data/spec/unit/util/network_device/transport/ssh_spec.rb +94 -60
- data/spec/unit/util/network_device/transport/telnet_spec.rb +18 -14
- data/spec/unit/util/network_device_spec.rb +7 -9
- data/spec/unit/util/package_spec.rb +0 -1
- data/spec/unit/util/pidlock_spec.rb +13 -14
- data/spec/unit/util/plist_spec.rb +40 -33
- data/spec/unit/util/posix_spec.rb +54 -51
- data/spec/unit/util/rdoc_spec.rb +9 -10
- data/spec/unit/util/reference_spec.rb +0 -1
- data/spec/unit/util/resource_template_spec.rb +20 -20
- data/spec/unit/util/retry_action_spec.rb +7 -8
- data/spec/unit/util/rubygems_spec.rb +14 -14
- data/spec/unit/util/run_mode_spec.rb +3 -4
- data/spec/unit/util/selinux_spec.rb +79 -72
- data/spec/unit/util/splayer_spec.rb +8 -9
- data/spec/unit/util/ssl_spec.rb +0 -1
- data/spec/unit/util/storage_spec.rb +3 -4
- data/spec/unit/util/suidmanager_spec.rb +45 -54
- data/spec/unit/util/symbolic_file_mode_spec.rb +0 -1
- data/spec/unit/util/tag_set_spec.rb +0 -1
- data/spec/unit/util/tagging_spec.rb +0 -1
- data/spec/unit/util/terminal_spec.rb +9 -10
- data/spec/unit/util/user_attr_spec.rb +1 -2
- data/spec/unit/util/warnings_spec.rb +3 -4
- data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
- data/spec/unit/util/watcher_spec.rb +51 -21
- data/spec/unit/util/windows/access_control_entry_spec.rb +0 -1
- data/spec/unit/util/windows/access_control_list_spec.rb +0 -1
- data/spec/unit/util/windows/adsi_spec.rb +136 -138
- data/spec/unit/util/windows/api_types_spec.rb +0 -1
- data/spec/unit/util/windows/eventlog_spec.rb +9 -12
- data/spec/unit/util/windows/file_spec.rb +0 -1
- data/spec/unit/util/windows/root_certs_spec.rb +0 -1
- data/spec/unit/util/windows/security_descriptor_spec.rb +0 -2
- data/spec/unit/util/windows/service_spec.rb +66 -68
- data/spec/unit/util/windows/sid_spec.rb +11 -13
- data/spec/unit/util/windows/string_spec.rb +0 -1
- data/spec/unit/util_spec.rb +55 -59
- data/spec/unit/version_spec.rb +6 -6
- metadata +2 -2
@@ -1,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
|
4
3
|
require 'puppet/configurer/downloader'
|
@@ -90,14 +89,14 @@ describe Puppet::Configurer::Downloader do
|
|
90
89
|
end
|
91
90
|
|
92
91
|
it "should always set the owner to the current UID" do
|
93
|
-
Process.
|
92
|
+
expect(Process).to receive(:uid).and_return(51)
|
94
93
|
|
95
94
|
file = generate_file_resource(:path => '/path')
|
96
95
|
expect(file[:owner]).to eq(51)
|
97
96
|
end
|
98
97
|
|
99
98
|
it "should always set the group to the current GID" do
|
100
|
-
Process.
|
99
|
+
expect(Process).to receive(:gid).and_return(61)
|
101
100
|
|
102
101
|
file = generate_file_resource(:path => '/path')
|
103
102
|
expect(file[:group]).to eq(61)
|
@@ -161,7 +160,7 @@ describe Puppet::Configurer::Downloader do
|
|
161
160
|
end
|
162
161
|
|
163
162
|
it "should not issue a deprecation warning for source_permissions" do
|
164
|
-
Puppet.
|
163
|
+
expect(Puppet).not_to receive(:puppet_deprecation_warning)
|
165
164
|
catalog = @dler.catalog
|
166
165
|
expect(catalog.resources.size).to eq(1) # Must consume catalog to fix warnings
|
167
166
|
end
|
@@ -184,37 +183,37 @@ describe Puppet::Configurer::Downloader do
|
|
184
183
|
end
|
185
184
|
|
186
185
|
it "should log that it is downloading" do
|
187
|
-
Puppet.
|
186
|
+
expect(Puppet).to receive(:info)
|
188
187
|
|
189
188
|
@dler.evaluate
|
190
189
|
end
|
191
190
|
|
192
191
|
it "should return all changed file paths" do
|
193
|
-
trans =
|
192
|
+
trans = double('transaction')
|
194
193
|
|
195
|
-
catalog =
|
196
|
-
@dler.
|
197
|
-
catalog.
|
194
|
+
catalog = double('catalog')
|
195
|
+
expect(@dler).to receive(:catalog).and_return(catalog)
|
196
|
+
expect(catalog).to receive(:apply).and_yield(trans)
|
198
197
|
|
199
|
-
resource =
|
200
|
-
resource.
|
198
|
+
resource = double('resource')
|
199
|
+
expect(resource).to receive(:[]).with(:path).and_return("/changed/file")
|
201
200
|
|
202
|
-
trans.
|
201
|
+
expect(trans).to receive(:changed?).and_return([resource])
|
203
202
|
|
204
203
|
expect(@dler.evaluate).to eq(%w{/changed/file})
|
205
204
|
end
|
206
205
|
|
207
206
|
it "should yield the resources if a block is given" do
|
208
|
-
trans =
|
207
|
+
trans = double('transaction')
|
209
208
|
|
210
|
-
catalog =
|
211
|
-
@dler.
|
212
|
-
catalog.
|
209
|
+
catalog = double('catalog')
|
210
|
+
expect(@dler).to receive(:catalog).and_return(catalog)
|
211
|
+
expect(catalog).to receive(:apply).and_yield(trans)
|
213
212
|
|
214
|
-
resource =
|
215
|
-
resource.
|
213
|
+
resource = double('resource')
|
214
|
+
expect(resource).to receive(:[]).with(:path).and_return("/changed/file")
|
216
215
|
|
217
|
-
trans.
|
216
|
+
expect(trans).to receive(:changed?).and_return([resource])
|
218
217
|
|
219
218
|
yielded = nil
|
220
219
|
@dler.evaluate { |r| yielded = r }
|
@@ -222,10 +221,10 @@ describe Puppet::Configurer::Downloader do
|
|
222
221
|
end
|
223
222
|
|
224
223
|
it "should catch and log exceptions" do
|
225
|
-
Puppet.
|
224
|
+
expect(Puppet).to receive(:err)
|
226
225
|
# The downloader creates a new catalog for each apply, and really the only object
|
227
226
|
# that it is possible to stub for the purpose of generating a puppet error
|
228
|
-
Puppet::Resource::Catalog.
|
227
|
+
allow_any_instance_of(Puppet::Resource::Catalog).to receive(:apply).and_raise(Puppet::Error, "testing")
|
229
228
|
|
230
229
|
expect { @dler.evaluate }.not_to raise_error
|
231
230
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
require 'puppet/configurer'
|
4
3
|
require 'puppet/configurer/fact_handler'
|
@@ -58,13 +57,13 @@ describe Puppet::Configurer::FactHandler do
|
|
58
57
|
end
|
59
58
|
|
60
59
|
it "should fail if finding facts fails" do
|
61
|
-
Puppet::Node::Facts.indirection.
|
60
|
+
expect(Puppet::Node::Facts.indirection).to receive(:find).and_raise(RuntimeError)
|
62
61
|
|
63
62
|
expect { facthandler.find_facts }.to raise_error(Puppet::Error, /Could not retrieve local facts/)
|
64
63
|
end
|
65
64
|
|
66
65
|
it "should only load fact plugins once" do
|
67
|
-
Puppet::Node::Facts.indirection.
|
66
|
+
expect(Puppet::Node::Facts.indirection).to receive(:find).once
|
68
67
|
facthandler.find_facts
|
69
68
|
end
|
70
69
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
require 'puppet/configurer'
|
4
3
|
require 'puppet/configurer/plugin_handler'
|
@@ -11,21 +10,35 @@ describe Puppet::Configurer::PluginHandler do
|
|
11
10
|
before :each do
|
12
11
|
# PluginHandler#load_plugin has an extra-strong rescue clause
|
13
12
|
# this mock is to make sure that we don't silently ignore errors
|
14
|
-
Puppet.
|
13
|
+
expect(Puppet).not_to receive(:err)
|
15
14
|
# Server_agent version needs to be at 5.3.4 in order to mount locales
|
16
15
|
Puppet.push_context({:server_agent_version => "5.3.4"})
|
17
16
|
end
|
18
17
|
|
19
18
|
it "downloads plugins, facts, and locales" do
|
20
|
-
|
19
|
+
times_called = 0
|
20
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { times_called += 1 }.and_return([])
|
21
21
|
|
22
22
|
pluginhandler.download_plugins(environment)
|
23
|
+
expect(times_called).to eq(3)
|
23
24
|
end
|
24
25
|
|
25
26
|
it "returns downloaded plugin, fact, and locale filenames" do
|
26
|
-
|
27
|
+
times_called = 0
|
28
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
|
29
|
+
times_called += 1
|
30
|
+
|
31
|
+
if times_called == 1
|
32
|
+
%w[/a]
|
33
|
+
elsif times_called == 2
|
34
|
+
%w[/b]
|
35
|
+
else
|
36
|
+
%w[/c]
|
37
|
+
end
|
38
|
+
end
|
27
39
|
|
28
40
|
expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b /c])
|
41
|
+
expect(times_called).to eq(3)
|
29
42
|
end
|
30
43
|
end
|
31
44
|
|
@@ -33,15 +46,25 @@ describe Puppet::Configurer::PluginHandler do
|
|
33
46
|
before :each do
|
34
47
|
# PluginHandler#load_plugin has an extra-strong rescue clause
|
35
48
|
# this mock is to make sure that we don't silently ignore errors
|
36
|
-
Puppet.
|
49
|
+
expect(Puppet).not_to receive(:err)
|
37
50
|
# Server_agent version needs to be at 5.3.4 in order to mount locales
|
38
51
|
Puppet.push_context({:server_agent_version => "5.3.3"})
|
39
52
|
end
|
40
53
|
|
41
54
|
it "returns downloaded plugin, fact, but not locale filenames" do
|
42
|
-
|
55
|
+
times_called = 0
|
56
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
|
57
|
+
times_called += 1
|
58
|
+
|
59
|
+
if times_called == 1
|
60
|
+
%w[/a]
|
61
|
+
else
|
62
|
+
%w[/b]
|
63
|
+
end
|
64
|
+
end
|
43
65
|
|
44
66
|
expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b])
|
67
|
+
expect(times_called).to eq(2)
|
45
68
|
end
|
46
69
|
end
|
47
70
|
|
@@ -49,16 +72,26 @@ describe Puppet::Configurer::PluginHandler do
|
|
49
72
|
before :each do
|
50
73
|
# PluginHandler#load_plugin has an extra-strong rescue clause
|
51
74
|
# this mock is to make sure that we don't silently ignore errors
|
52
|
-
Puppet.
|
75
|
+
expect(Puppet).not_to receive(:err)
|
53
76
|
# Server_agent version needs to be at 5.3.4 in order to mount locales
|
54
77
|
# A blank version will default to 0.0
|
55
78
|
Puppet.push_context({:server_agent_version => ""})
|
56
79
|
end
|
57
80
|
|
58
81
|
it "returns downloaded plugin, fact, but not locale filenames" do
|
59
|
-
|
82
|
+
times_called = 0
|
83
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
|
84
|
+
times_called += 1
|
85
|
+
|
86
|
+
if times_called == 1
|
87
|
+
%w[/a]
|
88
|
+
else
|
89
|
+
%w[/b]
|
90
|
+
end
|
91
|
+
end
|
60
92
|
|
61
93
|
expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b])
|
94
|
+
expect(times_called).to eq(2)
|
62
95
|
end
|
63
96
|
end
|
64
97
|
end
|
@@ -1,13 +1,12 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
require 'puppet/configurer'
|
4
3
|
|
5
4
|
describe Puppet::Configurer do
|
6
5
|
before do
|
7
|
-
Puppet.settings.
|
6
|
+
allow(Puppet.settings).to receive(:use).and_return(true)
|
8
7
|
@agent = Puppet::Configurer.new
|
9
|
-
@agent.
|
10
|
-
Puppet::Util::Storage.
|
8
|
+
allow(@agent).to receive(:init_storage)
|
9
|
+
allow(Puppet::Util::Storage).to receive(:store)
|
11
10
|
Puppet[:server] = "puppetmaster"
|
12
11
|
Puppet[:report] = true
|
13
12
|
end
|
@@ -19,21 +18,21 @@ describe Puppet::Configurer do
|
|
19
18
|
describe "when executing a pre-run hook" do
|
20
19
|
it "should do nothing if the hook is set to an empty string" do
|
21
20
|
Puppet.settings[:prerun_command] = ""
|
22
|
-
Puppet::Util.
|
21
|
+
expect(Puppet::Util).not_to receive(:exec)
|
23
22
|
|
24
23
|
@agent.execute_prerun_command
|
25
24
|
end
|
26
25
|
|
27
26
|
it "should execute any pre-run command provided via the 'prerun_command' setting" do
|
28
27
|
Puppet.settings[:prerun_command] = "/my/command"
|
29
|
-
Puppet::Util::Execution.
|
28
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
30
29
|
|
31
30
|
@agent.execute_prerun_command
|
32
31
|
end
|
33
32
|
|
34
33
|
it "should fail if the command fails" do
|
35
34
|
Puppet.settings[:prerun_command] = "/my/command"
|
36
|
-
Puppet::Util::Execution.
|
35
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
37
36
|
|
38
37
|
expect(@agent.execute_prerun_command).to be_falsey
|
39
38
|
end
|
@@ -42,21 +41,21 @@ describe Puppet::Configurer do
|
|
42
41
|
describe "when executing a post-run hook" do
|
43
42
|
it "should do nothing if the hook is set to an empty string" do
|
44
43
|
Puppet.settings[:postrun_command] = ""
|
45
|
-
Puppet::Util.
|
44
|
+
expect(Puppet::Util).not_to receive(:exec)
|
46
45
|
|
47
46
|
@agent.execute_postrun_command
|
48
47
|
end
|
49
48
|
|
50
49
|
it "should execute any post-run command provided via the 'postrun_command' setting" do
|
51
50
|
Puppet.settings[:postrun_command] = "/my/command"
|
52
|
-
Puppet::Util::Execution.
|
51
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
53
52
|
|
54
53
|
@agent.execute_postrun_command
|
55
54
|
end
|
56
55
|
|
57
56
|
it "should fail if the command fails" do
|
58
57
|
Puppet.settings[:postrun_command] = "/my/command"
|
59
|
-
Puppet::Util::Execution.
|
58
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
60
59
|
|
61
60
|
expect(@agent.execute_postrun_command).to be_falsey
|
62
61
|
end
|
@@ -64,20 +63,20 @@ describe Puppet::Configurer do
|
|
64
63
|
|
65
64
|
describe "when executing a catalog run" do
|
66
65
|
before do
|
67
|
-
Puppet.settings.
|
68
|
-
@agent.
|
66
|
+
allow(Puppet.settings).to receive(:use).and_return(true)
|
67
|
+
allow(@agent).to receive(:download_plugins)
|
69
68
|
Puppet::Node::Facts.indirection.terminus_class = :memory
|
70
69
|
@facts = Puppet::Node::Facts.new(Puppet[:node_name_value])
|
71
70
|
Puppet::Node::Facts.indirection.save(@facts)
|
72
71
|
|
73
72
|
@catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote(Puppet[:environment].to_sym))
|
74
|
-
@catalog.
|
73
|
+
allow(@catalog).to receive(:to_ral).and_return(@catalog)
|
75
74
|
Puppet::Resource::Catalog.indirection.terminus_class = :rest
|
76
|
-
Puppet::Resource::Catalog.indirection.
|
77
|
-
@agent.
|
78
|
-
@agent.
|
75
|
+
allow(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(@catalog)
|
76
|
+
allow(@agent).to receive(:send_report)
|
77
|
+
allow(@agent).to receive(:save_last_run_summary)
|
79
78
|
|
80
|
-
Puppet::Util::Log.
|
79
|
+
allow(Puppet::Util::Log).to receive(:close_all)
|
81
80
|
end
|
82
81
|
|
83
82
|
after :all do
|
@@ -86,39 +85,39 @@ describe Puppet::Configurer do
|
|
86
85
|
end
|
87
86
|
|
88
87
|
it "should initialize storage" do
|
89
|
-
Puppet::Util::Storage.
|
88
|
+
expect(Puppet::Util::Storage).to receive(:load)
|
90
89
|
@agent.run
|
91
90
|
end
|
92
91
|
|
93
92
|
it "downloads plugins when told" do
|
94
|
-
@agent.
|
93
|
+
expect(@agent).to receive(:download_plugins)
|
95
94
|
@agent.run(:pluginsync => true)
|
96
95
|
end
|
97
96
|
|
98
97
|
it "does not download plugins when told" do
|
99
|
-
@agent.
|
98
|
+
expect(@agent).not_to receive(:download_plugins)
|
100
99
|
@agent.run(:pluginsync => false)
|
101
100
|
end
|
102
101
|
|
103
102
|
it "should carry on when it can't fetch its node definition" do
|
104
103
|
error = Net::HTTPError.new(400, 'dummy server communication error')
|
105
|
-
Puppet::Node.indirection.
|
104
|
+
expect(Puppet::Node.indirection).to receive(:find).and_raise(error)
|
106
105
|
expect(@agent.run).to eq(0)
|
107
106
|
end
|
108
107
|
|
109
108
|
it "applies a cached catalog when it can't connect to the master" do
|
110
109
|
error = Errno::ECONNREFUSED.new('Connection refused - connect(2)')
|
111
110
|
|
112
|
-
Puppet::Node.indirection.
|
113
|
-
Puppet::Resource::Catalog.indirection.
|
114
|
-
Puppet::Resource::Catalog.indirection.
|
111
|
+
expect(Puppet::Node.indirection).to receive(:find).and_raise(error)
|
112
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(:ignore_cache => true)).and_raise(error)
|
113
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(:ignore_terminus => true)).and_return(@catalog)
|
115
114
|
|
116
115
|
expect(@agent.run).to eq(0)
|
117
116
|
end
|
118
117
|
|
119
118
|
it "should initialize a transaction report if one is not provided" do
|
120
119
|
report = Puppet::Transaction::Report.new
|
121
|
-
Puppet::Transaction::Report.
|
120
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
122
121
|
|
123
122
|
@agent.run
|
124
123
|
end
|
@@ -135,15 +134,15 @@ describe Puppet::Configurer do
|
|
135
134
|
|
136
135
|
it "should pass the new report to the catalog" do
|
137
136
|
report = Puppet::Transaction::Report.new
|
138
|
-
Puppet::Transaction::Report.
|
139
|
-
@catalog.
|
137
|
+
allow(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
138
|
+
expect(@catalog).to receive(:apply).with(hash_including(report: report))
|
140
139
|
|
141
140
|
@agent.run
|
142
141
|
end
|
143
142
|
|
144
143
|
it "should use the provided report if it was passed one" do
|
145
144
|
report = Puppet::Transaction::Report.new
|
146
|
-
@catalog.
|
145
|
+
expect(@catalog).to receive(:apply).with(hash_including(report: report))
|
147
146
|
|
148
147
|
@agent.run(:report => report)
|
149
148
|
end
|
@@ -151,69 +150,69 @@ describe Puppet::Configurer do
|
|
151
150
|
it "should set the report as a log destination" do
|
152
151
|
report = Puppet::Transaction::Report.new
|
153
152
|
|
154
|
-
report.
|
153
|
+
expect(report).to receive(:<<).with(instance_of(Puppet::Util::Log)).at_least(:once)
|
155
154
|
|
156
155
|
@agent.run(:report => report)
|
157
156
|
end
|
158
157
|
|
159
158
|
it "should retrieve the catalog" do
|
160
|
-
@agent.
|
159
|
+
expect(@agent).to receive(:retrieve_catalog)
|
161
160
|
|
162
161
|
@agent.run
|
163
162
|
end
|
164
163
|
|
165
164
|
it "should log a failure and do nothing if no catalog can be retrieved" do
|
166
|
-
@agent.
|
165
|
+
expect(@agent).to receive(:retrieve_catalog).and_return(nil)
|
167
166
|
|
168
|
-
Puppet.
|
167
|
+
expect(Puppet).to receive(:err).with("Could not retrieve catalog; skipping run")
|
169
168
|
|
170
169
|
@agent.run
|
171
170
|
end
|
172
171
|
|
173
172
|
it "should apply the catalog with all options to :run" do
|
174
|
-
@agent.
|
173
|
+
expect(@agent).to receive(:retrieve_catalog).and_return(@catalog)
|
175
174
|
|
176
|
-
@catalog.
|
175
|
+
expect(@catalog).to receive(:apply).with(hash_including(one: true))
|
177
176
|
@agent.run :one => true
|
178
177
|
end
|
179
178
|
|
180
179
|
it "should accept a catalog and use it instead of retrieving a different one" do
|
181
|
-
@agent.
|
180
|
+
expect(@agent).not_to receive(:retrieve_catalog)
|
182
181
|
|
183
|
-
@catalog.
|
182
|
+
expect(@catalog).to receive(:apply)
|
184
183
|
@agent.run :one => true, :catalog => @catalog
|
185
184
|
end
|
186
185
|
|
187
186
|
it "should benchmark how long it takes to apply the catalog" do
|
188
|
-
@agent.
|
187
|
+
expect(@agent).to receive(:benchmark).with(:notice, instance_of(String))
|
189
188
|
|
190
|
-
@agent.
|
189
|
+
expect(@agent).to receive(:retrieve_catalog).and_return(@catalog)
|
191
190
|
|
192
|
-
@catalog.
|
191
|
+
expect(@catalog).not_to receive(:apply) # because we're not yielding
|
193
192
|
@agent.run
|
194
193
|
end
|
195
194
|
|
196
195
|
it "should execute post-run hooks after the run" do
|
197
|
-
@agent.
|
196
|
+
expect(@agent).to receive(:execute_postrun_command)
|
198
197
|
|
199
198
|
@agent.run
|
200
199
|
end
|
201
200
|
|
202
201
|
it "should create report with passed transaction_uuid and job_id" do
|
203
202
|
@agent = Puppet::Configurer.new("test_tuuid", "test_jid")
|
204
|
-
@agent.
|
203
|
+
allow(@agent).to receive(:init_storage)
|
205
204
|
|
206
205
|
report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
|
207
|
-
Puppet::Transaction::Report.
|
208
|
-
@agent.
|
206
|
+
expect(Puppet::Transaction::Report).to receive(:new).with(anything, anything, 'test_tuuid', 'test_jid').and_return(report)
|
207
|
+
expect(@agent).to receive(:send_report).with(report)
|
209
208
|
|
210
209
|
@agent.run
|
211
210
|
end
|
212
211
|
|
213
212
|
it "should send the report" do
|
214
213
|
report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
|
215
|
-
Puppet::Transaction::Report.
|
216
|
-
@agent.
|
214
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
215
|
+
expect(@agent).to receive(:send_report).with(report)
|
217
216
|
|
218
217
|
expect(report.environment).to eq("test")
|
219
218
|
expect(report.transaction_uuid).to eq("aaaa")
|
@@ -222,11 +221,11 @@ describe Puppet::Configurer do
|
|
222
221
|
end
|
223
222
|
|
224
223
|
it "should send the transaction report even if the catalog could not be retrieved" do
|
225
|
-
@agent.
|
224
|
+
expect(@agent).to receive(:retrieve_catalog).and_return(nil)
|
226
225
|
|
227
226
|
report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
|
228
|
-
Puppet::Transaction::Report.
|
229
|
-
@agent.
|
227
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
228
|
+
expect(@agent).to receive(:send_report).with(report)
|
230
229
|
|
231
230
|
expect(report.environment).to eq("test")
|
232
231
|
expect(report.transaction_uuid).to eq("aaaa")
|
@@ -235,11 +234,11 @@ describe Puppet::Configurer do
|
|
235
234
|
end
|
236
235
|
|
237
236
|
it "should send the transaction report even if there is a failure" do
|
238
|
-
@agent.
|
237
|
+
expect(@agent).to receive(:retrieve_catalog).and_raise("whatever")
|
239
238
|
|
240
239
|
report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
|
241
|
-
Puppet::Transaction::Report.
|
242
|
-
@agent.
|
240
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
241
|
+
expect(@agent).to receive(:send_report).with(report)
|
243
242
|
|
244
243
|
expect(report.environment).to eq("test")
|
245
244
|
expect(report.transaction_uuid).to eq("aaaa")
|
@@ -249,7 +248,7 @@ describe Puppet::Configurer do
|
|
249
248
|
|
250
249
|
it "should remove the report as a log destination when the run is finished" do
|
251
250
|
report = Puppet::Transaction::Report.new
|
252
|
-
Puppet::Transaction::Report.
|
251
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
253
252
|
|
254
253
|
@agent.run
|
255
254
|
|
@@ -258,35 +257,35 @@ describe Puppet::Configurer do
|
|
258
257
|
|
259
258
|
it "should return the report exit_status as the result of the run" do
|
260
259
|
report = Puppet::Transaction::Report.new
|
261
|
-
Puppet::Transaction::Report.
|
262
|
-
report.
|
260
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
261
|
+
expect(report).to receive(:exit_status).and_return(1234)
|
263
262
|
|
264
263
|
expect(@agent.run).to eq(1234)
|
265
264
|
end
|
266
265
|
|
267
266
|
it "should return nil if catalog application fails" do
|
268
|
-
@catalog.
|
267
|
+
expect(@catalog).to receive(:apply).and_raise(Puppet::Error, 'One or more resource dependency cycles detected in graph')
|
269
268
|
report = Puppet::Transaction::Report.new
|
270
269
|
expect(@agent.run(catalog: @catalog, report: report)).to be_nil
|
271
270
|
end
|
272
271
|
|
273
272
|
it "should send the transaction report even if the pre-run command fails" do
|
274
273
|
report = Puppet::Transaction::Report.new
|
275
|
-
Puppet::Transaction::Report.
|
274
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
276
275
|
|
277
276
|
Puppet.settings[:prerun_command] = "/my/command"
|
278
|
-
Puppet::Util::Execution.
|
279
|
-
@agent.
|
277
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
278
|
+
expect(@agent).to receive(:send_report).with(report)
|
280
279
|
|
281
280
|
expect(@agent.run).to be_nil
|
282
281
|
end
|
283
282
|
|
284
283
|
it "should include the pre-run command failure in the report" do
|
285
284
|
report = Puppet::Transaction::Report.new
|
286
|
-
Puppet::Transaction::Report.
|
285
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
287
286
|
|
288
287
|
Puppet.settings[:prerun_command] = "/my/command"
|
289
|
-
Puppet::Util::Execution.
|
288
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
290
289
|
|
291
290
|
expect(@agent.run).to be_nil
|
292
291
|
expect(report.logs.find { |x| x.message =~ /Could not run command from prerun_command/ }).to be
|
@@ -294,23 +293,23 @@ describe Puppet::Configurer do
|
|
294
293
|
|
295
294
|
it "should send the transaction report even if the post-run command fails" do
|
296
295
|
report = Puppet::Transaction::Report.new
|
297
|
-
Puppet::Transaction::Report.
|
296
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
298
297
|
|
299
298
|
Puppet.settings[:postrun_command] = "/my/command"
|
300
|
-
Puppet::Util::Execution.
|
301
|
-
@agent.
|
299
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
300
|
+
expect(@agent).to receive(:send_report).with(report)
|
302
301
|
|
303
302
|
expect(@agent.run).to be_nil
|
304
303
|
end
|
305
304
|
|
306
305
|
it "should include the post-run command failure in the report" do
|
307
306
|
report = Puppet::Transaction::Report.new
|
308
|
-
Puppet::Transaction::Report.
|
307
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
309
308
|
|
310
309
|
Puppet.settings[:postrun_command] = "/my/command"
|
311
|
-
Puppet::Util::Execution.
|
310
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
312
311
|
|
313
|
-
report.
|
312
|
+
expect(report).to receive(:<<) { |log, _| expect(log.message).to match(/Could not run command from postrun_command/) }.at_least(:once)
|
314
313
|
|
315
314
|
expect(@agent.run).to be_nil
|
316
315
|
end
|
@@ -318,49 +317,49 @@ describe Puppet::Configurer do
|
|
318
317
|
it "should execute post-run command even if the pre-run command fails" do
|
319
318
|
Puppet.settings[:prerun_command] = "/my/precommand"
|
320
319
|
Puppet.settings[:postrun_command] = "/my/postcommand"
|
321
|
-
Puppet::Util::Execution.
|
322
|
-
Puppet::Util::Execution.
|
320
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/precommand"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
321
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/postcommand"])
|
323
322
|
|
324
323
|
expect(@agent.run).to be_nil
|
325
324
|
end
|
326
325
|
|
327
326
|
it "should finalize the report" do
|
328
327
|
report = Puppet::Transaction::Report.new
|
329
|
-
Puppet::Transaction::Report.
|
328
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
330
329
|
|
331
|
-
report.
|
330
|
+
expect(report).to receive(:finalize_report)
|
332
331
|
@agent.run
|
333
332
|
end
|
334
333
|
|
335
334
|
it "should not apply the catalog if the pre-run command fails" do
|
336
335
|
report = Puppet::Transaction::Report.new
|
337
|
-
Puppet::Transaction::Report.
|
336
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
338
337
|
|
339
338
|
Puppet.settings[:prerun_command] = "/my/command"
|
340
|
-
Puppet::Util::Execution.
|
339
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
341
340
|
|
342
|
-
@catalog.
|
343
|
-
@agent.
|
341
|
+
expect(@catalog).not_to receive(:apply)
|
342
|
+
expect(@agent).to receive(:send_report)
|
344
343
|
|
345
344
|
expect(@agent.run).to be_nil
|
346
345
|
end
|
347
346
|
|
348
347
|
it "should apply the catalog, send the report, and return nil if the post-run command fails" do
|
349
348
|
report = Puppet::Transaction::Report.new
|
350
|
-
Puppet::Transaction::Report.
|
349
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
351
350
|
|
352
351
|
Puppet.settings[:postrun_command] = "/my/command"
|
353
|
-
Puppet::Util::Execution.
|
352
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
354
353
|
|
355
|
-
@catalog.
|
356
|
-
@agent.
|
354
|
+
expect(@catalog).to receive(:apply)
|
355
|
+
expect(@agent).to receive(:send_report)
|
357
356
|
|
358
357
|
expect(@agent.run).to be_nil
|
359
358
|
end
|
360
359
|
|
361
360
|
it 'includes total time metrics in the report after successfully applying the catalog' do
|
362
361
|
report = Puppet::Transaction::Report.new
|
363
|
-
@catalog.
|
362
|
+
allow(@catalog).to receive(:apply).with(:report => report)
|
364
363
|
@agent.run(report: report)
|
365
364
|
|
366
365
|
expect(report.metrics['time']).to be
|
@@ -369,7 +368,7 @@ describe Puppet::Configurer do
|
|
369
368
|
|
370
369
|
it 'includes total time metrics in the report even if prerun fails' do
|
371
370
|
Puppet.settings[:prerun_command] = "/my/command"
|
372
|
-
Puppet::Util::Execution.
|
371
|
+
expect(Puppet::Util::Execution).to receive(:execute).with(["/my/command"]).and_raise(Puppet::ExecutionFailure, "Failed")
|
373
372
|
|
374
373
|
report = Puppet::Transaction::Report.new
|
375
374
|
@agent.run(report: report)
|
@@ -380,7 +379,7 @@ describe Puppet::Configurer do
|
|
380
379
|
|
381
380
|
it 'includes total time metrics in the report even if catalog retrieval fails' do
|
382
381
|
report = Puppet::Transaction::Report.new
|
383
|
-
@agent.
|
382
|
+
allow(@agent).to receive(:prepare_and_retrieve_catalog_from_cache).and_raise
|
384
383
|
@agent.run(:report => report)
|
385
384
|
|
386
385
|
expect(report.metrics['time']).to be
|
@@ -389,13 +388,13 @@ describe Puppet::Configurer do
|
|
389
388
|
|
390
389
|
it "should refetch the catalog if the server specifies a new environment in the catalog" do
|
391
390
|
catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote('second_env'))
|
392
|
-
@agent.
|
391
|
+
expect(@agent).to receive(:retrieve_catalog).and_return(catalog).twice
|
393
392
|
|
394
393
|
@agent.run
|
395
394
|
end
|
396
395
|
|
397
396
|
it "should change the environment setting if the server specifies a new environment in the catalog" do
|
398
|
-
@catalog.
|
397
|
+
allow(@catalog).to receive(:environment).and_return("second_env")
|
399
398
|
|
400
399
|
@agent.run
|
401
400
|
|
@@ -404,11 +403,11 @@ describe Puppet::Configurer do
|
|
404
403
|
|
405
404
|
it "should fix the report if the server specifies a new environment in the catalog" do
|
406
405
|
report = Puppet::Transaction::Report.new(nil, "test", "aaaa")
|
407
|
-
Puppet::Transaction::Report.
|
408
|
-
@agent.
|
406
|
+
expect(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
407
|
+
expect(@agent).to receive(:send_report).with(report)
|
409
408
|
|
410
|
-
@catalog.
|
411
|
-
@agent.
|
409
|
+
allow(@catalog).to receive(:environment).and_return("second_env")
|
410
|
+
allow(@agent).to receive(:retrieve_catalog).and_return(@catalog)
|
412
411
|
|
413
412
|
@agent.run
|
414
413
|
|
@@ -417,24 +416,24 @@ describe Puppet::Configurer do
|
|
417
416
|
|
418
417
|
it "sends the transaction uuid in a catalog request" do
|
419
418
|
@agent.instance_variable_set(:@transaction_uuid, 'aaa')
|
420
|
-
Puppet::Resource::Catalog.indirection.
|
419
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(transaction_uuid: 'aaa'))
|
421
420
|
@agent.run
|
422
421
|
end
|
423
422
|
|
424
423
|
it "sends the transaction uuid in a catalog request" do
|
425
424
|
@agent.instance_variable_set(:@job_id, 'aaa')
|
426
|
-
Puppet::Resource::Catalog.indirection.
|
425
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(job_id: 'aaa'))
|
427
426
|
@agent.run
|
428
427
|
end
|
429
428
|
|
430
429
|
it "sets the static_catalog query param to true in a catalog request" do
|
431
|
-
Puppet::Resource::Catalog.indirection.
|
430
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(static_catalog: true))
|
432
431
|
@agent.run
|
433
432
|
end
|
434
433
|
|
435
434
|
it "sets the checksum_type query param to the default supported_checksum_types in a catalog request" do
|
436
|
-
Puppet::Resource::Catalog.indirection.
|
437
|
-
|
435
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything,
|
436
|
+
hash_including(checksum_type: 'md5.sha256.sha384.sha512.sha224'))
|
438
437
|
@agent.run
|
439
438
|
end
|
440
439
|
|
@@ -442,22 +441,22 @@ describe Puppet::Configurer do
|
|
442
441
|
# Regenerate the agent to pick up the new setting
|
443
442
|
Puppet[:supported_checksum_types] = ['sha256']
|
444
443
|
@agent = Puppet::Configurer.new
|
445
|
-
@agent.
|
446
|
-
@agent.
|
447
|
-
@agent.
|
448
|
-
@agent.
|
444
|
+
allow(@agent).to receive(:init_storage)
|
445
|
+
allow(@agent).to receive(:download_plugins)
|
446
|
+
allow(@agent).to receive(:send_report)
|
447
|
+
allow(@agent).to receive(:save_last_run_summary)
|
449
448
|
|
450
|
-
Puppet::Resource::Catalog.indirection.
|
449
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(checksum_type: 'sha256'))
|
451
450
|
@agent.run
|
452
451
|
end
|
453
452
|
|
454
453
|
describe "when not using a REST terminus for catalogs" do
|
455
454
|
it "should not pass any facts when retrieving the catalog" do
|
456
455
|
Puppet::Resource::Catalog.indirection.terminus_class = :compiler
|
457
|
-
@agent.
|
458
|
-
Puppet::Resource::Catalog.indirection.
|
456
|
+
expect(@agent).not_to receive(:facts_for_uploading)
|
457
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find) do |name, options|
|
459
458
|
options[:facts].nil?
|
460
|
-
|
459
|
+
end.and_return(@catalog)
|
461
460
|
|
462
461
|
@agent.run
|
463
462
|
end
|
@@ -466,10 +465,8 @@ describe Puppet::Configurer do
|
|
466
465
|
describe "when using a REST terminus for catalogs" do
|
467
466
|
it "should pass the prepared facts and the facts format as arguments when retrieving the catalog" do
|
468
467
|
Puppet::Resource::Catalog.indirection.terminus_class = :rest
|
469
|
-
@agent.
|
470
|
-
Puppet::Resource::Catalog.indirection.
|
471
|
-
options[:facts] == "myfacts" and options[:facts_format] == :foo
|
472
|
-
}.returns @catalog
|
468
|
+
expect(@agent).to receive(:facts_for_uploading).and_return(:facts => "myfacts", :facts_format => :foo)
|
469
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(facts: "myfacts", facts_format: :foo)).and_return(@catalog)
|
473
470
|
|
474
471
|
@agent.run
|
475
472
|
end
|
@@ -478,7 +475,7 @@ describe Puppet::Configurer do
|
|
478
475
|
|
479
476
|
describe "when initialized with a transaction_uuid" do
|
480
477
|
it "stores it" do
|
481
|
-
SecureRandom.
|
478
|
+
expect(SecureRandom).not_to receive(:uuid)
|
482
479
|
configurer = Puppet::Configurer.new('foo')
|
483
480
|
expect(configurer.instance_variable_get(:@transaction_uuid) == 'foo')
|
484
481
|
end
|
@@ -488,7 +485,7 @@ describe Puppet::Configurer do
|
|
488
485
|
include PuppetSpec::Files
|
489
486
|
|
490
487
|
before do
|
491
|
-
Puppet.settings.
|
488
|
+
allow(Puppet.settings).to receive(:use).and_return(true)
|
492
489
|
@configurer = Puppet::Configurer.new
|
493
490
|
Puppet[:lastrunfile] = tmpfile('last_run_file')
|
494
491
|
|
@@ -499,53 +496,53 @@ describe Puppet::Configurer do
|
|
499
496
|
it "should print a report summary if configured to do so" do
|
500
497
|
Puppet.settings[:summarize] = true
|
501
498
|
|
502
|
-
@report.
|
499
|
+
expect(@report).to receive(:summary).and_return("stuff")
|
503
500
|
|
504
|
-
@configurer.
|
501
|
+
expect(@configurer).to receive(:puts).with("stuff")
|
505
502
|
@configurer.send_report(@report)
|
506
503
|
end
|
507
504
|
|
508
505
|
it "should not print a report summary if not configured to do so" do
|
509
506
|
Puppet.settings[:summarize] = false
|
510
507
|
|
511
|
-
@configurer.
|
508
|
+
expect(@configurer).not_to receive(:puts)
|
512
509
|
@configurer.send_report(@report)
|
513
510
|
end
|
514
511
|
|
515
512
|
it "should save the report if reporting is enabled" do
|
516
513
|
Puppet.settings[:report] = true
|
517
514
|
|
518
|
-
Puppet::Transaction::Report.indirection.
|
515
|
+
expect(Puppet::Transaction::Report.indirection).to receive(:save).with(@report, nil, instance_of(Hash))
|
519
516
|
@configurer.send_report(@report)
|
520
517
|
end
|
521
518
|
|
522
519
|
it "should not save the report if reporting is disabled" do
|
523
520
|
Puppet.settings[:report] = false
|
524
521
|
|
525
|
-
Puppet::Transaction::Report.indirection.
|
522
|
+
expect(Puppet::Transaction::Report.indirection).not_to receive(:save).with(@report, nil, instance_of(Hash))
|
526
523
|
@configurer.send_report(@report)
|
527
524
|
end
|
528
525
|
|
529
526
|
it "should save the last run summary if reporting is enabled" do
|
530
527
|
Puppet.settings[:report] = true
|
531
528
|
|
532
|
-
@configurer.
|
529
|
+
expect(@configurer).to receive(:save_last_run_summary).with(@report)
|
533
530
|
@configurer.send_report(@report)
|
534
531
|
end
|
535
532
|
|
536
533
|
it "should save the last run summary if reporting is disabled" do
|
537
534
|
Puppet.settings[:report] = false
|
538
535
|
|
539
|
-
@configurer.
|
536
|
+
expect(@configurer).to receive(:save_last_run_summary).with(@report)
|
540
537
|
@configurer.send_report(@report)
|
541
538
|
end
|
542
539
|
|
543
540
|
it "should log but not fail if saving the report fails" do
|
544
541
|
Puppet.settings[:report] = true
|
545
542
|
|
546
|
-
Puppet::Transaction::Report.indirection.
|
543
|
+
expect(Puppet::Transaction::Report.indirection).to receive(:save).and_raise("whatever")
|
547
544
|
|
548
|
-
Puppet.
|
545
|
+
expect(Puppet).to receive(:err)
|
549
546
|
expect { @configurer.send_report(@report) }.not_to raise_error
|
550
547
|
end
|
551
548
|
end
|
@@ -554,10 +551,10 @@ describe Puppet::Configurer do
|
|
554
551
|
include PuppetSpec::Files
|
555
552
|
|
556
553
|
before do
|
557
|
-
Puppet.settings.
|
554
|
+
allow(Puppet.settings).to receive(:use).and_return(true)
|
558
555
|
@configurer = Puppet::Configurer.new
|
559
556
|
|
560
|
-
@report =
|
557
|
+
@report = double('report', :raw_summary => {})
|
561
558
|
|
562
559
|
Puppet[:lastrunfile] = tmpfile('last_run_file')
|
563
560
|
end
|
@@ -568,7 +565,7 @@ describe Puppet::Configurer do
|
|
568
565
|
end
|
569
566
|
|
570
567
|
it "should write the raw summary as yaml" do
|
571
|
-
@report.
|
568
|
+
expect(@report).to receive(:raw_summary).and_return("summary")
|
572
569
|
@configurer.save_last_run_summary(@report)
|
573
570
|
expect(File.read(Puppet[:lastrunfile])).to eq(YAML.dump("summary"))
|
574
571
|
end
|
@@ -582,14 +579,14 @@ describe Puppet::Configurer do
|
|
582
579
|
end
|
583
580
|
end.new
|
584
581
|
|
585
|
-
Puppet::Util.
|
582
|
+
expect(Puppet::Util).to receive(:replace_file).and_yield(fh)
|
586
583
|
|
587
|
-
Puppet.
|
584
|
+
expect(Puppet).to receive(:err)
|
588
585
|
expect { @configurer.save_last_run_summary(@report) }.to_not raise_error
|
589
586
|
end
|
590
587
|
|
591
588
|
it "should create the last run file with the correct mode" do
|
592
|
-
Puppet.settings.setting(:lastrunfile).
|
589
|
+
expect(Puppet.settings.setting(:lastrunfile)).to receive(:mode).and_return('664')
|
593
590
|
@configurer.save_last_run_summary(@report)
|
594
591
|
|
595
592
|
if Puppet::Util::Platform.windows?
|
@@ -602,66 +599,66 @@ describe Puppet::Configurer do
|
|
602
599
|
end
|
603
600
|
|
604
601
|
it "should report invalid last run file permissions" do
|
605
|
-
Puppet.settings.setting(:lastrunfile).
|
606
|
-
Puppet.
|
602
|
+
expect(Puppet.settings.setting(:lastrunfile)).to receive(:mode).and_return('892')
|
603
|
+
expect(Puppet).to receive(:err).with(/Could not save last run local report.*892 is invalid/)
|
607
604
|
@configurer.save_last_run_summary(@report)
|
608
605
|
end
|
609
606
|
end
|
610
607
|
|
611
608
|
describe "when requesting a node" do
|
612
609
|
it "uses the transaction uuid in the request" do
|
613
|
-
Puppet::Node.indirection.
|
610
|
+
expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(transaction_uuid: anything)).twice
|
614
611
|
@agent.run
|
615
612
|
end
|
616
613
|
|
617
614
|
it "sends an explicitly configured environment request" do
|
618
|
-
Puppet.settings.
|
619
|
-
Puppet::Node.indirection.
|
615
|
+
expect(Puppet.settings).to receive(:set_by_config?).with(:environment).and_return(true)
|
616
|
+
expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(configured_environment: Puppet[:environment])).twice
|
620
617
|
@agent.run
|
621
618
|
end
|
622
619
|
|
623
620
|
it "does not send a configured_environment when using the default" do
|
624
|
-
Puppet::Node.indirection.
|
621
|
+
expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(configured_environment: nil)).twice
|
625
622
|
@agent.run
|
626
623
|
end
|
627
624
|
end
|
628
625
|
|
629
626
|
def expects_new_catalog_only(catalog)
|
630
|
-
Puppet::Resource::Catalog.indirection.
|
631
|
-
Puppet::Resource::Catalog.indirection.
|
627
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
|
628
|
+
expect(Puppet::Resource::Catalog.indirection).not_to receive(:find).with(anything, hash_including(ignore_terminus: true))
|
632
629
|
end
|
633
630
|
|
634
631
|
def expects_cached_catalog_only(catalog)
|
635
|
-
Puppet::Resource::Catalog.indirection.
|
636
|
-
Puppet::Resource::Catalog.indirection.
|
632
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(catalog)
|
633
|
+
expect(Puppet::Resource::Catalog.indirection).not_to receive(:find).with(anything, hash_including(ignore_cache: true))
|
637
634
|
end
|
638
635
|
|
639
636
|
def expects_fallback_to_cached_catalog(catalog)
|
640
|
-
Puppet::Resource::Catalog.indirection.
|
641
|
-
Puppet::Resource::Catalog.indirection.
|
637
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
|
638
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(catalog)
|
642
639
|
end
|
643
640
|
|
644
641
|
def expects_fallback_to_new_catalog(catalog)
|
645
|
-
Puppet::Resource::Catalog.indirection.
|
646
|
-
Puppet::Resource::Catalog.indirection.
|
642
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(nil)
|
643
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
|
647
644
|
end
|
648
645
|
|
649
646
|
def expects_neither_new_or_cached_catalog
|
650
|
-
Puppet::Resource::Catalog.indirection.
|
651
|
-
Puppet::Resource::Catalog.indirection.
|
647
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
|
648
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(nil)
|
652
649
|
end
|
653
650
|
|
654
651
|
describe "when retrieving a catalog" do
|
655
652
|
before do
|
656
|
-
Puppet.settings.
|
657
|
-
@agent.
|
658
|
-
@agent.
|
653
|
+
allow(Puppet.settings).to receive(:use).and_return(true)
|
654
|
+
allow(@agent).to receive(:facts_for_uploading).and_return({})
|
655
|
+
allow(@agent).to receive(:download_plugins)
|
659
656
|
|
660
657
|
# retrieve a catalog in the current environment, so we don't try to converge unexpectedly
|
661
658
|
@catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote(Puppet[:environment].to_sym))
|
662
659
|
|
663
660
|
# this is the default when using a Configurer instance
|
664
|
-
Puppet::Resource::Catalog.indirection.
|
661
|
+
allow(Puppet::Resource::Catalog.indirection).to receive(:terminus_class).and_return(:rest)
|
665
662
|
end
|
666
663
|
|
667
664
|
describe "and configured to only retrieve a catalog from the cache" do
|
@@ -676,17 +673,17 @@ describe Puppet::Configurer do
|
|
676
673
|
end
|
677
674
|
|
678
675
|
it "should not make a node request or pluginsync when a cached catalog is successfully retrieved" do
|
679
|
-
Puppet::Node.indirection.
|
676
|
+
expect(Puppet::Node.indirection).not_to receive(:find)
|
680
677
|
expects_cached_catalog_only(@catalog)
|
681
|
-
@agent.
|
678
|
+
expect(@agent).not_to receive(:download_plugins)
|
682
679
|
|
683
680
|
@agent.run
|
684
681
|
end
|
685
682
|
|
686
683
|
it "should make a node request and pluginsync when a cached catalog cannot be retrieved" do
|
687
|
-
Puppet::Node.indirection.
|
684
|
+
expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
|
688
685
|
expects_fallback_to_new_catalog(@catalog)
|
689
|
-
@agent.
|
686
|
+
expect(@agent).to receive(:download_plugins)
|
690
687
|
|
691
688
|
@agent.run
|
692
689
|
end
|
@@ -720,7 +717,7 @@ describe Puppet::Configurer do
|
|
720
717
|
end
|
721
718
|
|
722
719
|
it "should not attempt to retrieve a cached catalog again if the first attempt failed" do
|
723
|
-
Puppet::Node.indirection.
|
720
|
+
expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
|
724
721
|
expects_neither_new_or_cached_catalog
|
725
722
|
|
726
723
|
@agent.run
|
@@ -730,23 +727,23 @@ describe Puppet::Configurer do
|
|
730
727
|
cached_catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote('second_env'))
|
731
728
|
expects_cached_catalog_only(cached_catalog)
|
732
729
|
|
733
|
-
Puppet.
|
730
|
+
expect(Puppet).to receive(:info).with("Using cached catalog from environment 'second_env'")
|
734
731
|
expect(@agent.retrieve_catalog({})).to eq(cached_catalog)
|
735
732
|
end
|
736
733
|
end
|
737
734
|
|
738
735
|
describe "and strict environment mode is set" do
|
739
736
|
before do
|
740
|
-
@catalog.
|
741
|
-
@catalog.
|
742
|
-
@catalog.
|
743
|
-
@agent.
|
744
|
-
@agent.
|
737
|
+
allow(@catalog).to receive(:to_ral).and_return(@catalog)
|
738
|
+
allow(@catalog).to receive(:write_class_file)
|
739
|
+
allow(@catalog).to receive(:write_resource_file)
|
740
|
+
allow(@agent).to receive(:send_report)
|
741
|
+
allow(@agent).to receive(:save_last_run_summary)
|
745
742
|
Puppet.settings[:strict_environment_mode] = true
|
746
743
|
end
|
747
744
|
|
748
745
|
it "should not make a node request" do
|
749
|
-
Puppet::Node.indirection.
|
746
|
+
expect(Puppet::Node.indirection).not_to receive(:find)
|
750
747
|
|
751
748
|
@agent.run
|
752
749
|
end
|
@@ -755,7 +752,7 @@ describe Puppet::Configurer do
|
|
755
752
|
@agent.instance_variable_set(:@environment, 'second_env')
|
756
753
|
expects_new_catalog_only(@catalog)
|
757
754
|
|
758
|
-
Puppet.
|
755
|
+
expect(Puppet).to receive(:err).with("Not using catalog because its environment 'production' does not match agent specified environment 'second_env' and strict_environment_mode is set")
|
759
756
|
expect(@agent.run).to be_nil
|
760
757
|
end
|
761
758
|
|
@@ -775,7 +772,7 @@ describe Puppet::Configurer do
|
|
775
772
|
@agent.instance_variable_set(:@environment, 'second_env')
|
776
773
|
expects_cached_catalog_only(@catalog)
|
777
774
|
|
778
|
-
Puppet.
|
775
|
+
expect(Puppet).to receive(:err).with("Not using catalog because its environment 'production' does not match agent specified environment 'second_env' and strict_environment_mode is set")
|
779
776
|
expect(@agent.run).to be_nil
|
780
777
|
end
|
781
778
|
|
@@ -790,28 +787,28 @@ describe Puppet::Configurer do
|
|
790
787
|
end
|
791
788
|
|
792
789
|
it "should use the Catalog class to get its catalog" do
|
793
|
-
Puppet::Resource::Catalog.indirection.
|
790
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(@catalog)
|
794
791
|
|
795
792
|
@agent.retrieve_catalog({})
|
796
793
|
end
|
797
794
|
|
798
795
|
it "should set its cached_catalog_status to 'not_used' when downloading a new catalog" do
|
799
|
-
Puppet::Resource::Catalog.indirection.
|
796
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(@catalog)
|
800
797
|
|
801
798
|
@agent.retrieve_catalog({})
|
802
799
|
expect(@agent.instance_variable_get(:@cached_catalog_status)).to eq('not_used')
|
803
800
|
end
|
804
801
|
|
805
802
|
it "should use its node_name_value to retrieve the catalog" do
|
806
|
-
Facter.
|
803
|
+
allow(Facter).to receive(:value).and_return("eh")
|
807
804
|
Puppet.settings[:node_name_value] = "myhost.domain.com"
|
808
|
-
Puppet::Resource::Catalog.indirection.
|
805
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with("myhost.domain.com", anything).and_return(@catalog)
|
809
806
|
|
810
807
|
@agent.retrieve_catalog({})
|
811
808
|
end
|
812
809
|
|
813
810
|
it "should default to returning a catalog retrieved directly from the server, skipping the cache" do
|
814
|
-
Puppet::Resource::Catalog.indirection.
|
811
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(@catalog)
|
815
812
|
|
816
813
|
expect(@agent.retrieve_catalog({})).to eq(@catalog)
|
817
814
|
end
|
@@ -819,7 +816,7 @@ describe Puppet::Configurer do
|
|
819
816
|
it "should log and return the cached catalog when no catalog can be retrieved from the server" do
|
820
817
|
expects_fallback_to_cached_catalog(@catalog)
|
821
818
|
|
822
|
-
Puppet.
|
819
|
+
expect(Puppet).to receive(:info).with("Using cached catalog from environment 'production'")
|
823
820
|
expect(@agent.retrieve_catalog({})).to eq(@catalog)
|
824
821
|
end
|
825
822
|
|
@@ -837,15 +834,15 @@ describe Puppet::Configurer do
|
|
837
834
|
end
|
838
835
|
|
839
836
|
it "should return the cached catalog when retrieving the remote catalog throws an exception" do
|
840
|
-
Puppet::Resource::Catalog.indirection.
|
841
|
-
Puppet::Resource::Catalog.indirection.
|
837
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_raise("eh")
|
838
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(@catalog)
|
842
839
|
|
843
840
|
expect(@agent.retrieve_catalog({})).to eq(@catalog)
|
844
841
|
end
|
845
842
|
|
846
843
|
it "should set its cached_catalog_status to 'on_failure' when retrieving the remote catalog throws an exception" do
|
847
|
-
Puppet::Resource::Catalog.indirection.
|
848
|
-
Puppet::Resource::Catalog.indirection.
|
844
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_raise("eh")
|
845
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(@catalog)
|
849
846
|
|
850
847
|
@agent.retrieve_catalog({})
|
851
848
|
expect(@agent.instance_variable_get(:@cached_catalog_status)).to eq('on_failure')
|
@@ -853,16 +850,16 @@ describe Puppet::Configurer do
|
|
853
850
|
|
854
851
|
it "should log and return nil if no catalog can be retrieved from the server and :usecacheonfailure is disabled" do
|
855
852
|
Puppet[:usecacheonfailure] = false
|
856
|
-
Puppet::Resource::Catalog.indirection.
|
853
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
|
857
854
|
|
858
|
-
Puppet.
|
855
|
+
expect(Puppet).to receive(:warning).with('Not using cache on failed catalog')
|
859
856
|
|
860
857
|
expect(@agent.retrieve_catalog({})).to be_nil
|
861
858
|
end
|
862
859
|
|
863
860
|
it "should set its cached_catalog_status to 'not_used' if no catalog can be retrieved from the server and :usecacheonfailure is disabled or fails to retrieve a catalog" do
|
864
861
|
Puppet[:usecacheonfailure] = false
|
865
|
-
Puppet::Resource::Catalog.indirection.
|
862
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(nil)
|
866
863
|
|
867
864
|
@agent.retrieve_catalog({})
|
868
865
|
expect(@agent.instance_variable_get(:@cached_catalog_status)).to eq('not_used')
|
@@ -880,7 +877,7 @@ describe Puppet::Configurer do
|
|
880
877
|
|
881
878
|
expects_fallback_to_cached_catalog(cached_catalog)
|
882
879
|
|
883
|
-
Puppet.
|
880
|
+
expect(Puppet).to receive(:err).with("Not using cached catalog because its environment 'second_env' does not match 'production'")
|
884
881
|
expect(@agent.retrieve_catalog({})).to be_nil
|
885
882
|
end
|
886
883
|
|
@@ -915,14 +912,14 @@ describe Puppet::Configurer do
|
|
915
912
|
|
916
913
|
it "should not update the cached catalog in noop mode" do
|
917
914
|
Puppet[:noop] = true
|
918
|
-
Puppet::Resource::Catalog.indirection.
|
915
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true, ignore_cache_save: true)).and_return(@catalog)
|
919
916
|
|
920
917
|
@agent.retrieve_catalog({})
|
921
918
|
end
|
922
919
|
|
923
920
|
it "should update the cached catalog when not in noop mode" do
|
924
921
|
Puppet[:noop] = false
|
925
|
-
Puppet::Resource::Catalog.indirection.
|
922
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true, ignore_cache_save: false)).and_return(@catalog)
|
926
923
|
|
927
924
|
@agent.retrieve_catalog({})
|
928
925
|
end
|
@@ -930,9 +927,9 @@ describe Puppet::Configurer do
|
|
930
927
|
|
931
928
|
describe "when converting the catalog" do
|
932
929
|
before do
|
933
|
-
Puppet.settings.
|
930
|
+
allow(Puppet.settings).to receive(:use).and_return(true)
|
934
931
|
|
935
|
-
catalog.
|
932
|
+
allow(catalog).to receive(:to_ral).and_return(ral_catalog)
|
936
933
|
end
|
937
934
|
|
938
935
|
let (:catalog) { Puppet::Resource::Catalog.new('tester', Puppet::Node::Environment.remote(Puppet[:environment].to_sym)) }
|
@@ -943,25 +940,25 @@ describe Puppet::Configurer do
|
|
943
940
|
end
|
944
941
|
|
945
942
|
it "should finalize the catalog" do
|
946
|
-
ral_catalog.
|
943
|
+
expect(ral_catalog).to receive(:finalize)
|
947
944
|
|
948
945
|
@agent.convert_catalog(catalog, 10)
|
949
946
|
end
|
950
947
|
|
951
948
|
it "should record the passed retrieval time with the RAL catalog" do
|
952
|
-
ral_catalog.
|
949
|
+
expect(ral_catalog).to receive(:retrieval_duration=).with(10)
|
953
950
|
|
954
951
|
@agent.convert_catalog(catalog, 10)
|
955
952
|
end
|
956
953
|
|
957
954
|
it "should write the RAL catalog's class file" do
|
958
|
-
ral_catalog.
|
955
|
+
expect(ral_catalog).to receive(:write_class_file)
|
959
956
|
|
960
957
|
@agent.convert_catalog(catalog, 10)
|
961
958
|
end
|
962
959
|
|
963
960
|
it "should write the RAL catalog's resource file" do
|
964
|
-
ral_catalog.
|
961
|
+
expect(ral_catalog).to receive(:write_resource_file)
|
965
962
|
|
966
963
|
@agent.convert_catalog(catalog, 10)
|
967
964
|
end
|
@@ -969,7 +966,7 @@ describe Puppet::Configurer do
|
|
969
966
|
it "should set catalog conversion time on the report" do
|
970
967
|
report = Puppet::Transaction::Report.new
|
971
968
|
|
972
|
-
report.
|
969
|
+
expect(report).to receive(:add_times).with(:convert_catalog, kind_of(Numeric))
|
973
970
|
@agent.convert_catalog(catalog, 10, {:report => report})
|
974
971
|
end
|
975
972
|
end
|
@@ -977,14 +974,14 @@ describe Puppet::Configurer do
|
|
977
974
|
describe "when determining whether to pluginsync" do
|
978
975
|
it "should default to Puppet[:pluginsync] when explicitly set by the commandline" do
|
979
976
|
Puppet.settings[:pluginsync] = false
|
980
|
-
Puppet.settings.
|
977
|
+
expect(Puppet.settings).to receive(:set_by_cli?).and_return(true)
|
981
978
|
|
982
979
|
expect(described_class).not_to be_should_pluginsync
|
983
980
|
end
|
984
981
|
|
985
982
|
it "should default to Puppet[:pluginsync] when explicitly set by config" do
|
986
983
|
Puppet.settings[:pluginsync] = false
|
987
|
-
Puppet.settings.
|
984
|
+
expect(Puppet.settings).to receive(:set_by_config?).and_return(true)
|
988
985
|
|
989
986
|
expect(described_class).not_to be_should_pluginsync
|
990
987
|
end
|
@@ -1005,13 +1002,13 @@ describe Puppet::Configurer do
|
|
1005
1002
|
describe "when attempting failover" do
|
1006
1003
|
it "should not failover if server_list is not set" do
|
1007
1004
|
Puppet.settings[:server_list] = []
|
1008
|
-
@agent.
|
1005
|
+
expect(@agent).not_to receive(:find_functional_server)
|
1009
1006
|
@agent.run
|
1010
1007
|
end
|
1011
1008
|
|
1012
1009
|
it "should not failover during an apply run" do
|
1013
1010
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1014
|
-
@agent.
|
1011
|
+
expect(@agent).not_to receive(:find_functional_server)
|
1015
1012
|
catalog = Puppet::Resource::Catalog.new("tester", Puppet::Node::Environment.remote(Puppet[:environment].to_sym))
|
1016
1013
|
@agent.run :catalog => catalog
|
1017
1014
|
end
|
@@ -1019,29 +1016,29 @@ describe Puppet::Configurer do
|
|
1019
1016
|
it "should select a server when provided" do
|
1020
1017
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1021
1018
|
pool = Puppet::Network::HTTP::Pool.new(Puppet[:http_keepalive_timeout])
|
1022
|
-
Puppet::Network::HTTP::Pool.
|
1023
|
-
Puppet.
|
1024
|
-
Puppet.
|
1025
|
-
Puppet::Node.indirection.
|
1026
|
-
@agent.
|
1019
|
+
expect(Puppet::Network::HTTP::Pool).to receive(:new).and_return(pool)
|
1020
|
+
expect(Puppet).to receive(:override).with({:http_pool => pool}).and_yield
|
1021
|
+
expect(Puppet).to receive(:override).with({:server => "myserver", :serverport => '123'}).twice.and_yield
|
1022
|
+
expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
|
1023
|
+
expect(@agent).to receive(:run_internal).and_return(nil)
|
1027
1024
|
@agent.run
|
1028
1025
|
end
|
1029
1026
|
|
1030
1027
|
it "should error when no servers in 'server_list' are reachable" do
|
1031
1028
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1032
1029
|
pool = Puppet::Network::HTTP::Pool.new(Puppet[:http_keepalive_timeout])
|
1033
|
-
Puppet::Network::HTTP::Pool.
|
1034
|
-
Puppet.
|
1035
|
-
Puppet.
|
1030
|
+
expect(Puppet::Network::HTTP::Pool).to receive(:new).and_return(pool)
|
1031
|
+
expect(Puppet).to receive(:override).with({:http_pool => pool}).and_yield
|
1032
|
+
expect(Puppet).to receive(:override).with({:server => "myserver", :serverport => '123'}).and_yield
|
1036
1033
|
error = Net::HTTPError.new(400, 'dummy server communication error')
|
1037
|
-
Puppet::Node.indirection.
|
1034
|
+
expect(Puppet::Node.indirection).to receive(:find).and_raise(error)
|
1038
1035
|
expect{ @agent.run }.to raise_error(Puppet::Error, /Could not select a functional puppet master from server_list/)
|
1039
1036
|
end
|
1040
1037
|
|
1041
1038
|
it "should not make multiple node requets when the server is found" do
|
1042
1039
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1043
|
-
Puppet::Node.indirection.
|
1044
|
-
@agent.
|
1040
|
+
expect(Puppet::Node.indirection).to receive(:find).and_return("mynode").once
|
1041
|
+
expect(@agent).to receive(:prepare_and_retrieve_catalog).and_return(nil)
|
1045
1042
|
@agent.run
|
1046
1043
|
end
|
1047
1044
|
end
|