puppet 6.0.7-x86-mingw32 → 6.0.8-x86-mingw32
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 -1
- data/Gemfile.lock +4 -8
- data/lib/puppet/application/device.rb +99 -83
- data/lib/puppet/application/filebucket.rb +4 -0
- data/lib/puppet/configurer.rb +5 -4
- data/lib/puppet/defaults.rb +31 -11
- data/lib/puppet/indirector/request.rb +26 -15
- 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/connection.rb +15 -6
- data/lib/puppet/util/http_proxy.rb +3 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +99 -40
- data/man/man5/puppet.conf.5 +8 -8
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.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-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-ssl.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 +18 -16
- 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/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 +2 -4
- 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 +4 -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/network/authconfig_spec.rb +23 -24
- data/spec/integration/network/formats_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 +1 -5
- 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/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/reference/providers_spec.rb +1 -2
- 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_request_spec.rb +0 -1
- data/spec/integration/ssl/host_spec.rb +1 -2
- data/spec/integration/ssl/key_spec.rb +0 -1
- data/spec/integration/test/test_helper_spec.rb +0 -1
- 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/package_spec.rb +19 -23
- data/spec/integration/type/tidy_spec.rb +1 -2
- 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 +3 -5
- 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 +10 -1
- 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 +82 -83
- 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 +395 -419
- 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/resource_spec.rb +42 -48
- data/spec/unit/application/ssl_spec.rb +3 -3
- data/spec/unit/application_spec.rb +82 -92
- data/spec/unit/capability_spec.rb +6 -6
- data/spec/unit/certificate_factory_spec.rb +3 -5
- 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 +189 -192
- 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 +35 -36
- 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 +18 -13
- 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/catalog_spec.rb +0 -1
- 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/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 +23 -24
- 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 +14 -15
- 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 +9 -10
- 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 +9 -10
- 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/file_spec.rb +0 -1
- data/spec/unit/indirector/certificate/rest_spec.rb +8 -10
- 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/direct_file_server_spec.rb +17 -18
- data/spec/unit/indirector/envelope_spec.rb +1 -2
- data/spec/unit/indirector/exec_spec.rb +4 -5
- 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 +0 -1
- 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 +87 -87
- data/spec/unit/indirector/indirection_spec.rb +242 -226
- data/spec/unit/indirector/json_spec.rb +7 -9
- data/spec/unit/indirector/key/file_spec.rb +21 -22
- 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 +2 -3
- 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/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 +46 -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 +64 -65
- 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 +27 -27
- data/spec/unit/indirector/yaml_spec.rb +5 -6
- data/spec/unit/indirector_spec.rb +1 -2
- data/spec/unit/info_service_spec.rb +1 -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/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/indirected_routes_spec.rb +24 -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 +0 -2
- data/spec/unit/network/http/compression_spec.rb +21 -22
- data/spec/unit/network/http/connection_spec.rb +41 -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/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_pool_spec.rb +18 -9
- data/spec/unit/network/http_spec.rb +0 -1
- data/spec/unit/network/resolver_spec.rb +25 -26
- data/spec/unit/network/rights_spec.rb +52 -53
- data/spec/unit/node/environment_spec.rb +14 -15
- data/spec/unit/node/facts_spec.rb +5 -7
- data/spec/unit/node_spec.rb +4 -10
- data/spec/unit/other/selinux_spec.rb +0 -1
- 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 +7 -8
- 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 +6 -7
- 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 +10 -11
- 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 +31 -28
- 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 +30 -30
- 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/command_spec.rb +9 -9
- 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/ldap_spec.rb +61 -62
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +35 -36
- data/spec/unit/provider/nameservice_spec.rb +38 -40
- 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 +18 -20
- 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 +71 -72
- 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 +7 -7
- data/spec/unit/provider/package/zypper_spec.rb +87 -87
- data/spec/unit/provider/parsedfile_spec.rb +44 -45
- 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 +38 -38
- data/spec/unit/provider/service/freebsd_spec.rb +18 -18
- data/spec/unit/provider/service/gentoo_spec.rb +50 -55
- data/spec/unit/provider/service/init_spec.rb +53 -52
- 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 -45
- data/spec/unit/provider/service/openwrt_spec.rb +26 -31
- 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 +104 -113
- data/spec/unit/provider/service/upstart_spec.rb +74 -71
- data/spec/unit/provider/service/windows_spec.rb +33 -41
- 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 +16 -16
- 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_spec.rb +35 -35
- data/spec/unit/puppet_pal_2pec.rb +4 -5
- data/spec/unit/puppet_pal_spec.rb +0 -1
- data/spec/unit/puppet_spec.rb +6 -7
- 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 +15 -17
- 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/rest/client_spec.rb +58 -27
- data/spec/unit/rest/route_spec.rb +5 -5
- 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 +228 -235
- data/spec/unit/ssl/base_spec.rb +14 -15
- data/spec/unit/ssl/certificate_request_spec.rb +62 -58
- data/spec/unit/ssl/certificate_spec.rb +23 -25
- data/spec/unit/ssl/digest_spec.rb +0 -1
- data/spec/unit/ssl/host_spec.rb +166 -149
- data/spec/unit/ssl/key_spec.rb +30 -31
- data/spec/unit/ssl/validator_spec.rb +38 -39
- data/spec/unit/task_spec.rb +44 -45
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -5
- data/spec/unit/transaction/event_manager_spec.rb +87 -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 +100 -101
- data/spec/unit/type/component_spec.rb +0 -1
- 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/noop_metaparam_spec.rb +1 -2
- data/spec/unit/type/package/package_settings_spec.rb +44 -23
- data/spec/unit/type/package_spec.rb +56 -57
- data/spec/unit/type/resources_spec.rb +72 -74
- data/spec/unit/type/schedule_spec.rb +24 -26
- data/spec/unit/type/service_spec.rb +48 -48
- 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 +24 -25
- data/spec/unit/type/whit_spec.rb +0 -1
- data/spec/unit/type_spec.rb +55 -54
- data/spec/unit/util/at_fork_spec.rb +18 -19
- data/spec/unit/util/autoload_spec.rb +55 -56
- data/spec/unit/util/backups_spec.rb +34 -35
- data/spec/unit/util/character_encoding_spec.rb +5 -5
- 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 +185 -161
- data/spec/unit/util/execution_stub_spec.rb +0 -1
- data/spec/unit/util/feature_spec.rb +21 -14
- 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 -72
- 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/network_device/config_spec.rb +0 -1
- data/spec/unit/util/network_device/transport/base_spec.rb +5 -6
- 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 +21 -22
- 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 +7 -8
- 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 -57
- 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 'yaml'
|
@@ -14,7 +13,7 @@ describe Puppet::Transaction::Persistence do
|
|
14
13
|
|
15
14
|
describe "when loading from file" do
|
16
15
|
before do
|
17
|
-
Puppet.settings.
|
16
|
+
allow(Puppet.settings).to receive(:use).and_return(true)
|
18
17
|
end
|
19
18
|
|
20
19
|
describe "when the file/directory does not exist" do
|
@@ -48,7 +47,7 @@ describe Puppet::Transaction::Persistence do
|
|
48
47
|
property = "my"
|
49
48
|
value = "something"
|
50
49
|
|
51
|
-
Puppet.
|
50
|
+
expect(Puppet).not_to receive(:err)
|
52
51
|
|
53
52
|
persistence = Puppet::Transaction::Persistence.new
|
54
53
|
persistence.set_system_value(resource, property, value)
|
@@ -62,7 +61,7 @@ describe Puppet::Transaction::Persistence do
|
|
62
61
|
test_yaml = {"resources"=>{"a"=>"b"}}
|
63
62
|
write_state_file(test_yaml.to_yaml)
|
64
63
|
|
65
|
-
Puppet.
|
64
|
+
expect(Puppet).not_to receive(:err)
|
66
65
|
|
67
66
|
persistence = Puppet::Transaction::Persistence.new
|
68
67
|
persistence.load
|
@@ -73,7 +72,7 @@ describe Puppet::Transaction::Persistence do
|
|
73
72
|
it "should initialize with a clear internal state if the file does not contain valid YAML" do
|
74
73
|
write_state_file('{ invalid')
|
75
74
|
|
76
|
-
Puppet.
|
75
|
+
expect(Puppet).to receive(:send_log).with(:err, /Transaction store file .* is corrupt/)
|
77
76
|
|
78
77
|
persistence = Puppet::Transaction::Persistence.new
|
79
78
|
persistence.load
|
@@ -84,7 +83,7 @@ describe Puppet::Transaction::Persistence do
|
|
84
83
|
it "should initialize with a clear internal state if the file does not contain a hash of data" do
|
85
84
|
write_state_file("not_a_hash")
|
86
85
|
|
87
|
-
Puppet.
|
86
|
+
expect(Puppet).to receive(:err).with(/Transaction store file .* is valid YAML but not returning a hash/)
|
88
87
|
|
89
88
|
persistence = Puppet::Transaction::Persistence.new
|
90
89
|
persistence.load
|
@@ -95,10 +94,10 @@ describe Puppet::Transaction::Persistence do
|
|
95
94
|
it "should raise an error if the file does not contain valid YAML and cannot be renamed" do
|
96
95
|
write_state_file('{ invalid')
|
97
96
|
|
98
|
-
File.
|
97
|
+
expect(File).to receive(:rename).and_raise(SystemCallError)
|
99
98
|
|
100
|
-
Puppet.
|
101
|
-
Puppet.
|
99
|
+
expect(Puppet).to receive(:send_log).with(:err, /Transaction store file .* is corrupt/)
|
100
|
+
expect(Puppet).to receive(:send_log).with(:err, /Unable to rename/)
|
102
101
|
|
103
102
|
persistence = Puppet::Transaction::Persistence.new
|
104
103
|
expect { persistence.load }.to raise_error(Puppet::Error, /Could not rename/)
|
@@ -107,9 +106,9 @@ describe Puppet::Transaction::Persistence do
|
|
107
106
|
it "should attempt to rename the file if the file is corrupted" do
|
108
107
|
write_state_file('{ invalid')
|
109
108
|
|
110
|
-
File.
|
109
|
+
expect(File).to receive(:rename).at_least(:once)
|
111
110
|
|
112
|
-
Puppet.
|
111
|
+
expect(Puppet).to receive(:send_log).with(:err, /Transaction store file .* is corrupt/)
|
113
112
|
|
114
113
|
persistence = Puppet::Transaction::Persistence.new
|
115
114
|
persistence.load
|
@@ -119,7 +118,7 @@ describe Puppet::Transaction::Persistence do
|
|
119
118
|
FileUtils.rm_f(@tmpfile)
|
120
119
|
Dir.mkdir(@tmpfile)
|
121
120
|
|
122
|
-
Puppet.
|
121
|
+
expect(Puppet).to receive(:warning).with(/Transaction store file .* is not a file/)
|
123
122
|
|
124
123
|
persistence = Puppet::Transaction::Persistence.new
|
125
124
|
persistence.load
|
@@ -178,7 +177,7 @@ describe Puppet::Transaction::Persistence do
|
|
178
177
|
|
179
178
|
describe "when checking if persistence is enabled" do
|
180
179
|
let(:mock_catalog) do
|
181
|
-
|
180
|
+
double()
|
182
181
|
end
|
183
182
|
|
184
183
|
let (:persistence) do
|
@@ -195,25 +194,25 @@ describe Puppet::Transaction::Persistence do
|
|
195
194
|
|
196
195
|
it "should not be enabled when not running in agent mode" do
|
197
196
|
Puppet.settings.preferred_run_mode = :user
|
198
|
-
mock_catalog.
|
197
|
+
allow(mock_catalog).to receive(:host_config?).and_return(true)
|
199
198
|
expect(persistence.enabled?(mock_catalog)).to be false
|
200
199
|
end
|
201
200
|
|
202
201
|
it "should not be enabled when the catalog is not the host catalog" do
|
203
202
|
Puppet.settings.preferred_run_mode = :agent
|
204
|
-
mock_catalog.
|
203
|
+
allow(mock_catalog).to receive(:host_config?).and_return(false)
|
205
204
|
expect(persistence.enabled?(mock_catalog)).to be false
|
206
205
|
end
|
207
206
|
|
208
207
|
it "should not be enabled outside of agent mode and the catalog is not the host catalog" do
|
209
208
|
Puppet.settings.preferred_run_mode = :user
|
210
|
-
mock_catalog.
|
209
|
+
allow(mock_catalog).to receive(:host_config?).and_return(false)
|
211
210
|
expect(persistence.enabled?(mock_catalog)).to be false
|
212
211
|
end
|
213
212
|
|
214
213
|
it "should be enabled in agent mode and when the catalog is the host catalog" do
|
215
214
|
Puppet.settings.preferred_run_mode = :agent
|
216
|
-
mock_catalog.
|
215
|
+
allow(mock_catalog).to receive(:host_config?).and_return(true)
|
217
216
|
expect(persistence.enabled?(mock_catalog)).to be true
|
218
217
|
end
|
219
218
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
|
4
3
|
require 'puppet'
|
@@ -10,7 +9,7 @@ describe Puppet::Transaction::Report do
|
|
10
9
|
include PuppetSpec::Files
|
11
10
|
|
12
11
|
before do
|
13
|
-
Puppet::Util::Storage.
|
12
|
+
allow(Puppet::Util::Storage).to receive(:store)
|
14
13
|
end
|
15
14
|
|
16
15
|
it "should set its host name to the node_name_value" do
|
@@ -24,7 +23,7 @@ describe Puppet::Transaction::Report do
|
|
24
23
|
end
|
25
24
|
|
26
25
|
it "should create an initialization timestamp" do
|
27
|
-
Time.
|
26
|
+
expect(Time).to receive(:now).and_return("mytime")
|
28
27
|
expect(Puppet::Transaction::Report.new.time).to eq("mytime")
|
29
28
|
end
|
30
29
|
|
@@ -116,7 +115,7 @@ describe Puppet::Transaction::Report do
|
|
116
115
|
end
|
117
116
|
|
118
117
|
it "should not include whits" do
|
119
|
-
Puppet::FileBucket::File.indirection.
|
118
|
+
allow(Puppet::FileBucket::File.indirection).to receive(:save)
|
120
119
|
|
121
120
|
filename = tmpfile('whit_test')
|
122
121
|
file = Puppet::Type.type(:file).new(:path => filename)
|
@@ -167,7 +166,7 @@ describe Puppet::Transaction::Report do
|
|
167
166
|
end
|
168
167
|
|
169
168
|
it "should add each status to its status list" do
|
170
|
-
status =
|
169
|
+
status = double('status', :resource => "foo")
|
171
170
|
@report.add_resource_status status
|
172
171
|
expect(@report.resource_statuses["foo"]).to equal(status)
|
173
172
|
end
|
@@ -175,11 +174,11 @@ describe Puppet::Transaction::Report do
|
|
175
174
|
|
176
175
|
describe "when using the indirector" do
|
177
176
|
it "should redirect :save to the indirection" do
|
178
|
-
Facter.
|
179
|
-
@indirection =
|
180
|
-
Puppet::Transaction::Report.
|
177
|
+
allow(Facter).to receive(:value).and_return("eh")
|
178
|
+
@indirection = double('indirection', :name => :report)
|
179
|
+
allow(Puppet::Transaction::Report).to receive(:indirection).and_return(@indirection)
|
181
180
|
report = Puppet::Transaction::Report.new
|
182
|
-
@indirection.
|
181
|
+
expect(@indirection).to receive(:save)
|
183
182
|
Puppet::Transaction::Report.indirection.save(report)
|
184
183
|
end
|
185
184
|
|
@@ -189,7 +188,7 @@ describe Puppet::Transaction::Report do
|
|
189
188
|
|
190
189
|
it "should delegate its name attribute to its host method" do
|
191
190
|
report = Puppet::Transaction::Report.new
|
192
|
-
report.
|
191
|
+
expect(report).to receive(:host).and_return("me")
|
193
192
|
expect(report.name).to eq("me")
|
194
193
|
end
|
195
194
|
end
|
@@ -455,7 +454,7 @@ describe Puppet::Transaction::Report do
|
|
455
454
|
|
456
455
|
describe "when producing a summary" do
|
457
456
|
before do
|
458
|
-
Benchmark.
|
457
|
+
allow(Benchmark).to receive(:realtime).and_return(5.05683418)
|
459
458
|
resource = Puppet::Type.type(:notify).new(:name => "testing")
|
460
459
|
catalog = Puppet::Resource::Catalog.new
|
461
460
|
catalog.add_resource resource
|
@@ -474,7 +473,7 @@ describe Puppet::Transaction::Report do
|
|
474
473
|
end
|
475
474
|
|
476
475
|
it "should include the last run time in the raw summary hash" do
|
477
|
-
Time.
|
476
|
+
allow(Time).to receive(:now).and_return(Time.utc(2010,11,10,12,0,24))
|
478
477
|
expect(@report.raw_summary["time"]["last_run"]).to eq(1289390424)
|
479
478
|
end
|
480
479
|
|
@@ -1,4 +1,3 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
1
|
require 'spec_helper'
|
3
2
|
|
4
3
|
require 'puppet/transaction/resource_harness'
|
@@ -15,7 +14,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
15
14
|
@resource = Puppet::Type.type(:file).new :path => path
|
16
15
|
@harness = Puppet::Transaction::ResourceHarness.new(@transaction)
|
17
16
|
@current_state = Puppet::Resource.new(:file, path)
|
18
|
-
@resource.
|
17
|
+
allow(@resource).to receive(:retrieve).and_return(@current_state)
|
19
18
|
end
|
20
19
|
|
21
20
|
it "should accept a transaction at initialization" do
|
@@ -24,7 +23,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
24
23
|
end
|
25
24
|
|
26
25
|
it "should delegate to the transaction for its relationship graph" do
|
27
|
-
@transaction.
|
26
|
+
expect(@transaction).to receive(:relationship_graph).and_return("relgraph")
|
28
27
|
expect(Puppet::Transaction::ResourceHarness.new(@transaction).relationship_graph).to eq("relgraph")
|
29
28
|
end
|
30
29
|
|
@@ -38,14 +37,14 @@ describe Puppet::Transaction::ResourceHarness do
|
|
38
37
|
end
|
39
38
|
|
40
39
|
it "retrieves the current state of the resource" do
|
41
|
-
@resource.
|
40
|
+
expect(@resource).to receive(:retrieve).and_return(@current_state)
|
42
41
|
|
43
42
|
@harness.evaluate(@resource)
|
44
43
|
end
|
45
44
|
|
46
45
|
it "produces a failure status for the resource when an error occurs" do
|
47
46
|
the_message = "retrieve failed in testing"
|
48
|
-
@resource.
|
47
|
+
expect(@resource).to receive(:retrieve).and_raise(ArgumentError.new(the_message))
|
49
48
|
|
50
49
|
status = @harness.evaluate(@resource)
|
51
50
|
|
@@ -290,7 +289,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
290
289
|
before :each do
|
291
290
|
stub_provider = make_stub_provider
|
292
291
|
resource = stub_provider.new :name => 'name', :foo => 1, :bar => 2
|
293
|
-
resource.
|
292
|
+
expect(resource).not_to receive(:err)
|
294
293
|
@status = @harness.evaluate(resource)
|
295
294
|
end
|
296
295
|
|
@@ -309,7 +308,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
309
308
|
before :each do
|
310
309
|
stub_provider = make_stub_provider
|
311
310
|
@resource = stub_provider.new :name => 'name', :baz => 1
|
312
|
-
@resource.
|
311
|
+
expect(@resource).not_to receive(:err)
|
313
312
|
end
|
314
313
|
|
315
314
|
it "should log and pass the exception through" do
|
@@ -323,7 +322,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
323
322
|
before :each do
|
324
323
|
stub_provider = make_stub_provider
|
325
324
|
@resource = stub_provider.new :name => 'name', :brillig => 1
|
326
|
-
@resource.
|
325
|
+
expect(@resource).not_to receive(:err)
|
327
326
|
end
|
328
327
|
|
329
328
|
it "should record a failure event" do
|
@@ -338,7 +337,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
338
337
|
before :each do
|
339
338
|
stub_provider = make_stub_provider
|
340
339
|
@resource = stub_provider.new :name => 'name', :slithy => 1
|
341
|
-
@resource.
|
340
|
+
expect(@resource).not_to receive(:err)
|
342
341
|
end
|
343
342
|
|
344
343
|
it "should log and pass the exception through" do
|
@@ -352,7 +351,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
352
351
|
it "should not call insync? on parameters that are merely audited" do
|
353
352
|
stub_provider = make_stub_provider
|
354
353
|
resource = stub_provider.new :name => 'name', :audit => ['foo']
|
355
|
-
resource.property(:foo).
|
354
|
+
expect(resource.property(:foo)).not_to receive(:insync?)
|
356
355
|
status = @harness.evaluate(resource)
|
357
356
|
|
358
357
|
expect(status.events).to be_empty
|
@@ -362,7 +361,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
362
361
|
test_file = tmpfile('foo')
|
363
362
|
File.open(test_file, 'w').close
|
364
363
|
resource = Puppet::Type.type(:file).new :path => test_file, :audit => ['group'], :backup => false
|
365
|
-
resource.
|
364
|
+
expect(resource).not_to receive(:err) # make sure no exceptions get swallowed
|
366
365
|
|
367
366
|
status = @harness.evaluate(resource)
|
368
367
|
|
@@ -388,11 +387,9 @@ describe Puppet::Transaction::ResourceHarness do
|
|
388
387
|
# set up the sequence of stubs; yeah, this is pretty
|
389
388
|
# brittle, so this might need to be adjusted if the
|
390
389
|
# resource_harness logic changes
|
391
|
-
resource.
|
392
|
-
Puppet::Util::Storage.
|
393
|
-
|
394
|
-
returns(current_from_filesystem).then.
|
395
|
-
returns(current_from_filesystem)
|
390
|
+
expect(resource).to receive(:retrieve).and_return(current_from_filesystem)
|
391
|
+
allow(Puppet::Util::Storage).to receive(:cache).with(resource).
|
392
|
+
and_return(historical_from_state_yaml, current_from_filesystem, current_from_filesystem)
|
396
393
|
|
397
394
|
# there should be an audit change recorded, since the two
|
398
395
|
# timestamps differ by at least 1 microsecond
|
@@ -421,11 +418,9 @@ describe Puppet::Transaction::ResourceHarness do
|
|
421
418
|
# set up the sequence of stubs; yeah, this is pretty
|
422
419
|
# brittle, so this might need to be adjusted if the
|
423
420
|
# resource_harness logic changes
|
424
|
-
resource.
|
425
|
-
Puppet::Util::Storage.
|
426
|
-
|
427
|
-
returns(current_from_filesystem).then.
|
428
|
-
returns(current_from_filesystem)
|
421
|
+
expect(resource).to receive(:retrieve).and_return(current_from_filesystem)
|
422
|
+
allow(Puppet::Util::Storage).to receive(:cache).with(resource).
|
423
|
+
and_return(historical_from_state_yaml, current_from_filesystem, current_from_filesystem)
|
429
424
|
|
430
425
|
# there should be no audit change recorded, despite the
|
431
426
|
# slight difference in the two timestamps
|
@@ -476,19 +471,19 @@ describe Puppet::Transaction::ResourceHarness do
|
|
476
471
|
end
|
477
472
|
|
478
473
|
it "redacts notices when a parameter is newly audited" do
|
479
|
-
resource.property(:content).
|
474
|
+
expect(resource.property(:content)).to receive(:notice).with("audit change: newly-recorded value [redacted]")
|
480
475
|
@harness.evaluate(resource)
|
481
476
|
end
|
482
477
|
|
483
478
|
it "redacts event messages for sensitive properties" do
|
484
|
-
Puppet::Util::Storage.
|
479
|
+
allow(Puppet::Util::Storage).to receive(:cache).with(resource).and_return({:content => "historical world"})
|
485
480
|
status = @harness.evaluate(resource)
|
486
481
|
sync_event = status.events[0]
|
487
482
|
expect(sync_event.message).to eq 'changed [redacted] to [redacted] (previously recorded value was [redacted])'
|
488
483
|
end
|
489
484
|
|
490
485
|
it "redacts audit event messages for sensitive properties when simulating noop changes" do
|
491
|
-
Puppet::Util::Storage.
|
486
|
+
allow(Puppet::Util::Storage).to receive(:cache).with(resource).and_return({:content => "historical world"})
|
492
487
|
resource[:noop] = true
|
493
488
|
status = @harness.evaluate(resource)
|
494
489
|
sync_event = status.events[0]
|
@@ -496,7 +491,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
496
491
|
end
|
497
492
|
|
498
493
|
it "redacts event contents for sensitive properties" do
|
499
|
-
Puppet::Util::Storage.
|
494
|
+
allow(Puppet::Util::Storage).to receive(:cache).with(resource).and_return({:content => "historical world"})
|
500
495
|
status = @harness.evaluate(resource)
|
501
496
|
sync_event = status.events[0]
|
502
497
|
expect(sync_event.historical_value).to eq '[redacted]'
|
@@ -535,7 +530,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
535
530
|
|
536
531
|
it "should warn and return nil if the resource has no catalog" do
|
537
532
|
@resource.catalog = nil
|
538
|
-
@resource.
|
533
|
+
expect(@resource).to receive(:warning)
|
539
534
|
|
540
535
|
expect(@harness.schedule(@resource)).to be_nil
|
541
536
|
end
|
@@ -546,7 +541,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
546
541
|
|
547
542
|
it "should fail if the named schedule cannot be found" do
|
548
543
|
@resource[:schedule] = "whatever"
|
549
|
-
@resource.
|
544
|
+
expect(@resource).to receive(:fail)
|
550
545
|
@harness.schedule(@resource)
|
551
546
|
end
|
552
547
|
|
@@ -576,13 +571,13 @@ describe Puppet::Transaction::ResourceHarness do
|
|
576
571
|
|
577
572
|
it "should return the result of matching the schedule with the cached 'checked' time if a schedule is set" do
|
578
573
|
t = Time.now
|
579
|
-
@harness.
|
574
|
+
expect(@harness).to receive(:cached).with(@resource, :checked).and_return(t)
|
580
575
|
|
581
576
|
sched = Puppet::Type.type(:schedule).new(:name => "sched")
|
582
577
|
@catalog.add_resource(sched)
|
583
578
|
@resource[:schedule] = "sched"
|
584
579
|
|
585
|
-
sched.
|
580
|
+
expect(sched).to receive(:match?).with(t.to_i).and_return("feh")
|
586
581
|
|
587
582
|
expect(@harness.scheduled?(@resource)).to eq("feh")
|
588
583
|
end
|
@@ -590,7 +585,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
590
585
|
|
591
586
|
it "should be able to cache data in the Storage module" do
|
592
587
|
data = {}
|
593
|
-
Puppet::Util::Storage.
|
588
|
+
expect(Puppet::Util::Storage).to receive(:cache).with(@resource).and_return(data)
|
594
589
|
@harness.cache(@resource, :foo, "something")
|
595
590
|
|
596
591
|
expect(data[:foo]).to eq("something")
|
@@ -598,7 +593,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
598
593
|
|
599
594
|
it "should be able to retrieve data from the cache" do
|
600
595
|
data = {:foo => "other"}
|
601
|
-
Puppet::Util::Storage.
|
596
|
+
expect(Puppet::Util::Storage).to receive(:cache).with(@resource).and_return(data)
|
602
597
|
expect(@harness.cached(@resource, :foo)).to eq("other")
|
603
598
|
end
|
604
599
|
|
@@ -614,14 +609,14 @@ describe Puppet::Transaction::ResourceHarness do
|
|
614
609
|
end
|
615
610
|
|
616
611
|
it "contains (corrective) when corrective change" do
|
617
|
-
Puppet::Transaction::Event.
|
612
|
+
allow_any_instance_of(Puppet::Transaction::Event).to receive(:corrective_change).and_return(true)
|
618
613
|
status = @harness.evaluate(resource)
|
619
614
|
sync_event = status.events[0]
|
620
615
|
expect(sync_event.message).to match(/content changed '{md5}[0-9a-f]+' to '{md5}[0-9a-f]+' \(corrective\)/)
|
621
616
|
end
|
622
617
|
|
623
618
|
it "contains no modifier when intentional change" do
|
624
|
-
Puppet::Transaction::Event.
|
619
|
+
allow_any_instance_of(Puppet::Transaction::Event).to receive(:corrective_change).and_return(false)
|
625
620
|
status = @harness.evaluate(resource)
|
626
621
|
sync_event = status.events[0]
|
627
622
|
expect(sync_event.message).to match(/content changed '{md5}[0-9a-f]+' to '{md5}[0-9a-f]+'$/)
|
@@ -89,7 +89,7 @@ describe Puppet::Transaction do
|
|
89
89
|
report = Puppet::Transaction::Report.new
|
90
90
|
catalog.retrieval_duration = 5
|
91
91
|
|
92
|
-
report.
|
92
|
+
expect(report).to receive(:add_times).with(:config_retrieval, 5)
|
93
93
|
|
94
94
|
Puppet::Transaction.new(catalog, report, nil)
|
95
95
|
end
|
@@ -101,8 +101,8 @@ describe Puppet::Transaction do
|
|
101
101
|
it "should process events" do
|
102
102
|
transaction = transaction_with_resource(resource)
|
103
103
|
|
104
|
-
transaction.
|
105
|
-
transaction.event_manager.
|
104
|
+
expect(transaction).to receive(:skip?).with(resource).and_return(false)
|
105
|
+
expect(transaction.event_manager).to receive(:process_events).with(resource)
|
106
106
|
|
107
107
|
transaction.evaluate
|
108
108
|
end
|
@@ -111,7 +111,7 @@ describe Puppet::Transaction do
|
|
111
111
|
it "should mark the resource's status as skipped" do
|
112
112
|
transaction = transaction_with_resource(resource)
|
113
113
|
|
114
|
-
transaction.
|
114
|
+
expect(transaction).to receive(:skip?).with(resource).and_return(true)
|
115
115
|
|
116
116
|
transaction.evaluate
|
117
117
|
expect(transaction.resource_status(resource)).to be_skipped
|
@@ -119,15 +119,15 @@ describe Puppet::Transaction do
|
|
119
119
|
|
120
120
|
it "does not process any scheduled events" do
|
121
121
|
transaction = transaction_with_resource(resource)
|
122
|
-
transaction.
|
123
|
-
transaction.event_manager.
|
122
|
+
expect(transaction).to receive(:skip?).with(resource).and_return(true)
|
123
|
+
expect(transaction.event_manager).not_to receive(:process_events).with(resource)
|
124
124
|
transaction.evaluate
|
125
125
|
end
|
126
126
|
|
127
127
|
it "dequeues all events scheduled on that resource" do
|
128
128
|
transaction = transaction_with_resource(resource)
|
129
|
-
transaction.
|
130
|
-
transaction.event_manager.
|
129
|
+
expect(transaction).to receive(:skip?).with(resource).and_return(true)
|
130
|
+
expect(transaction.event_manager).to receive(:dequeue_all_events_for_resource).with(resource)
|
131
131
|
transaction.evaluate
|
132
132
|
end
|
133
133
|
end
|
@@ -136,7 +136,7 @@ describe Puppet::Transaction do
|
|
136
136
|
describe "when evaluating a skipped resource for corrective change it" do
|
137
137
|
before :each do
|
138
138
|
# Enable persistence during tests
|
139
|
-
Puppet::Transaction::Persistence.
|
139
|
+
allow_any_instance_of(Puppet::Transaction::Persistence).to receive(:enabled?).and_return(true)
|
140
140
|
end
|
141
141
|
|
142
142
|
it "should persist in the transactionstore" do
|
@@ -148,8 +148,8 @@ describe Puppet::Transaction do
|
|
148
148
|
expect(transaction.resource_status(resource)).to be_changed
|
149
149
|
|
150
150
|
transaction = transaction_with_resource(resource)
|
151
|
-
transaction.
|
152
|
-
transaction.event_manager.
|
151
|
+
expect(transaction).to receive(:skip?).with(resource).and_return(true)
|
152
|
+
expect(transaction.event_manager).not_to receive(:process_events).with(resource)
|
153
153
|
transaction.evaluate
|
154
154
|
expect(transaction.resource_status(resource)).to be_skipped
|
155
155
|
|
@@ -167,35 +167,35 @@ describe Puppet::Transaction do
|
|
167
167
|
@status = Puppet::Resource::Status.new(@resource)
|
168
168
|
|
169
169
|
@transaction = Puppet::Transaction.new(@catalog, nil, Puppet::Graph::SequentialPrioritizer.new)
|
170
|
-
@transaction.event_manager.
|
170
|
+
allow(@transaction.event_manager).to receive(:queue_events)
|
171
171
|
end
|
172
172
|
|
173
173
|
it "should use its resource harness to apply the resource" do
|
174
|
-
@transaction.resource_harness.
|
174
|
+
expect(@transaction.resource_harness).to receive(:evaluate).with(@resource)
|
175
175
|
@transaction.evaluate
|
176
176
|
end
|
177
177
|
|
178
178
|
it "should add the resulting resource status to its status list" do
|
179
|
-
@transaction.resource_harness.
|
179
|
+
allow(@transaction.resource_harness).to receive(:evaluate).and_return(@status)
|
180
180
|
@transaction.evaluate
|
181
181
|
expect(@transaction.resource_status(@resource)).to be_instance_of(Puppet::Resource::Status)
|
182
182
|
end
|
183
183
|
|
184
184
|
it "should queue any events added to the resource status" do
|
185
|
-
@transaction.resource_harness.
|
186
|
-
@status.
|
187
|
-
@transaction.event_manager.
|
185
|
+
allow(@transaction.resource_harness).to receive(:evaluate).and_return(@status)
|
186
|
+
expect(@status).to receive(:events).and_return(%w{a b})
|
187
|
+
expect(@transaction.event_manager).to receive(:queue_events).with(@resource, ["a", "b"])
|
188
188
|
@transaction.evaluate
|
189
189
|
end
|
190
190
|
|
191
191
|
it "should log and skip any resources that cannot be applied" do
|
192
|
-
@resource.
|
192
|
+
expect(@resource).to receive(:properties).and_raise(ArgumentError)
|
193
193
|
@transaction.evaluate
|
194
194
|
expect(@transaction.report.resource_statuses[@resource.to_s]).to be_failed
|
195
195
|
end
|
196
196
|
|
197
197
|
it "should report any_failed if any resources failed" do
|
198
|
-
@resource.
|
198
|
+
expect(@resource).to receive(:properties).and_raise(ArgumentError)
|
199
199
|
@transaction.evaluate
|
200
200
|
|
201
201
|
expect(@transaction).to be_any_failed
|
@@ -235,8 +235,8 @@ describe Puppet::Transaction do
|
|
235
235
|
end
|
236
236
|
|
237
237
|
it "should warn if there are no blockers" do
|
238
|
-
vertex =
|
239
|
-
vertex.
|
238
|
+
vertex = double('vertex')
|
239
|
+
expect(vertex).to receive(:warning).with("appears to have a negative number of dependencies")
|
240
240
|
graph.blockers[vertex] = 0
|
241
241
|
|
242
242
|
graph.unblock(vertex)
|
@@ -264,7 +264,7 @@ describe Puppet::Transaction do
|
|
264
264
|
end
|
265
265
|
|
266
266
|
it "should yield the resource even if eval_generate is called" do
|
267
|
-
Puppet::Transaction::AdditionalResourceGenerator.
|
267
|
+
expect_any_instance_of(Puppet::Transaction::AdditionalResourceGenerator).to receive(:eval_generate).with(resource).and_return(true)
|
268
268
|
|
269
269
|
yielded = false
|
270
270
|
@transaction.evaluate do |res|
|
@@ -275,7 +275,7 @@ describe Puppet::Transaction do
|
|
275
275
|
end
|
276
276
|
|
277
277
|
it "should prefetch the provider if necessary" do
|
278
|
-
@transaction.
|
278
|
+
expect(@transaction).to receive(:prefetch_if_necessary).with(resource)
|
279
279
|
|
280
280
|
@transaction.evaluate {}
|
281
281
|
end
|
@@ -308,7 +308,7 @@ describe Puppet::Transaction do
|
|
308
308
|
dependent = Puppet::Type.type(:notify).new(:name => "hello", :require => resource)
|
309
309
|
@transaction.catalog.add_resource(dependent)
|
310
310
|
|
311
|
-
resource.
|
311
|
+
allow(resource).to receive(:suitable?).and_return(false)
|
312
312
|
|
313
313
|
evaluated = []
|
314
314
|
@transaction.evaluate do |res|
|
@@ -331,20 +331,20 @@ describe Puppet::Transaction do
|
|
331
331
|
|
332
332
|
before :each do
|
333
333
|
catalog.add_resource generator
|
334
|
-
generator.
|
334
|
+
allow(generator).to receive(:generate).and_return(generated)
|
335
335
|
# avoid crude failures because of nil resources that result
|
336
336
|
# from implicit containment and lacking containers
|
337
|
-
catalog.
|
337
|
+
allow(catalog).to receive(:container_of).and_return(generator)
|
338
338
|
end
|
339
339
|
|
340
340
|
it "should call 'generate' on all created resources" do
|
341
|
-
generated.each { |res| res.
|
341
|
+
generated.each { |res| expect(res).to receive(:generate) }
|
342
342
|
|
343
343
|
transaction.evaluate
|
344
344
|
end
|
345
345
|
|
346
346
|
it "should finish all resources" do
|
347
|
-
generated.each { |res| res.
|
347
|
+
generated.each { |res| expect(res).to receive(:finish) }
|
348
348
|
|
349
349
|
transaction.evaluate
|
350
350
|
end
|
@@ -369,30 +369,29 @@ describe Puppet::Transaction do
|
|
369
369
|
|
370
370
|
before :each do
|
371
371
|
generator = Puppet::Transaction::AdditionalResourceGenerator.new(catalog, nil, prioritizer)
|
372
|
-
Puppet::Transaction::AdditionalResourceGenerator.
|
372
|
+
allow(Puppet::Transaction::AdditionalResourceGenerator).to receive(:new).and_return(generator)
|
373
373
|
end
|
374
374
|
|
375
375
|
it "should should query the generator for whether resources failed to generate" do
|
376
376
|
relationship_graph = Puppet::Graph::RelationshipGraph.new(prioritizer)
|
377
|
-
catalog.
|
377
|
+
allow(catalog).to receive(:relationship_graph).and_return(relationship_graph)
|
378
378
|
|
379
|
-
|
380
|
-
|
381
|
-
generator.expects(:resources_failed_to_generate).in_sequence(sequence)
|
379
|
+
expect(relationship_graph).to receive(:traverse).ordered
|
380
|
+
expect(generator).to receive(:resources_failed_to_generate).ordered
|
382
381
|
|
383
382
|
transaction.evaluate
|
384
383
|
end
|
385
384
|
|
386
385
|
it "should report that resources failed to generate" do
|
387
|
-
generator.
|
388
|
-
report.
|
386
|
+
expect(generator).to receive(:resources_failed_to_generate).and_return(true)
|
387
|
+
expect(report).to receive(:resources_failed_to_generate=).with(true)
|
389
388
|
|
390
389
|
transaction.evaluate
|
391
390
|
end
|
392
391
|
|
393
392
|
it "should not report that resources failed to generate if none did" do
|
394
|
-
generator.
|
395
|
-
report.
|
393
|
+
expect(generator).to receive(:resources_failed_to_generate).and_return(false)
|
394
|
+
expect(report).not_to receive(:resources_failed_to_generate=)
|
396
395
|
|
397
396
|
transaction.evaluate
|
398
397
|
end
|
@@ -404,20 +403,20 @@ describe Puppet::Transaction do
|
|
404
403
|
let(:spec_exception) { 'spec-exception' }
|
405
404
|
|
406
405
|
it "should invoke each resource's hook and apply the catalog after no failures" do
|
407
|
-
resource.
|
406
|
+
expect(resource).to receive(:pre_run_check)
|
408
407
|
|
409
408
|
transaction.evaluate
|
410
409
|
end
|
411
410
|
|
412
411
|
it "should abort the transaction on failure" do
|
413
|
-
resource.
|
412
|
+
expect(resource).to receive(:pre_run_check).and_raise(Puppet::Error, spec_exception)
|
414
413
|
|
415
414
|
expect { transaction.evaluate }.to raise_error(Puppet::Error, /Some pre-run checks failed/)
|
416
415
|
end
|
417
416
|
|
418
417
|
it "should log the resource-specific exception" do
|
419
|
-
resource.
|
420
|
-
resource.
|
418
|
+
expect(resource).to receive(:pre_run_check).and_raise(Puppet::Error, spec_exception)
|
419
|
+
expect(resource).to receive(:log_exception).with(have_attributes(message: match(/#{spec_exception}/)))
|
421
420
|
|
422
421
|
expect { transaction.evaluate }.to raise_error(Puppet::Error)
|
423
422
|
end
|
@@ -432,61 +431,61 @@ describe Puppet::Transaction do
|
|
432
431
|
end
|
433
432
|
|
434
433
|
it "should skip resource with missing tags" do
|
435
|
-
@transaction.
|
434
|
+
allow(@transaction).to receive(:missing_tags?).and_return(true)
|
436
435
|
expect(@transaction).to be_skip(@resource)
|
437
436
|
end
|
438
437
|
|
439
438
|
it "should skip resources tagged with the skip tags" do
|
440
|
-
@transaction.
|
439
|
+
allow(@transaction).to receive(:skip_tags?).and_return(true)
|
441
440
|
expect(@transaction).to be_skip(@resource)
|
442
441
|
end
|
443
442
|
|
444
443
|
it "should skip unscheduled resources" do
|
445
|
-
@transaction.
|
444
|
+
allow(@transaction).to receive(:scheduled?).and_return(false)
|
446
445
|
expect(@transaction).to be_skip(@resource)
|
447
446
|
end
|
448
447
|
|
449
448
|
it "should skip resources with failed dependencies" do
|
450
|
-
@transaction.
|
449
|
+
allow(@transaction).to receive(:failed_dependencies?).and_return(true)
|
451
450
|
expect(@transaction).to be_skip(@resource)
|
452
451
|
end
|
453
452
|
|
454
453
|
it "should skip virtual resource" do
|
455
|
-
@resource.
|
454
|
+
allow(@resource).to receive(:virtual?).and_return(true)
|
456
455
|
expect(@transaction).to be_skip(@resource)
|
457
456
|
end
|
458
457
|
|
459
458
|
it "should skip device only resouce on normal host" do
|
460
|
-
@resource.
|
461
|
-
@resource.
|
459
|
+
allow(@resource).to receive(:appliable_to_host?).and_return(false)
|
460
|
+
allow(@resource).to receive(:appliable_to_device?).and_return(true)
|
462
461
|
@transaction.for_network_device = false
|
463
462
|
expect(@transaction).to be_skip(@resource)
|
464
463
|
end
|
465
464
|
|
466
465
|
it "should not skip device only resouce on remote device" do
|
467
|
-
@resource.
|
468
|
-
@resource.
|
466
|
+
allow(@resource).to receive(:appliable_to_host?).and_return(false)
|
467
|
+
allow(@resource).to receive(:appliable_to_device?).and_return(true)
|
469
468
|
@transaction.for_network_device = true
|
470
469
|
expect(@transaction).not_to be_skip(@resource)
|
471
470
|
end
|
472
471
|
|
473
472
|
it "should skip host resouce on device" do
|
474
|
-
@resource.
|
475
|
-
@resource.
|
473
|
+
allow(@resource).to receive(:appliable_to_host?).and_return(true)
|
474
|
+
allow(@resource).to receive(:appliable_to_device?).and_return(false)
|
476
475
|
@transaction.for_network_device = true
|
477
476
|
expect(@transaction).to be_skip(@resource)
|
478
477
|
end
|
479
478
|
|
480
479
|
it "should not skip resouce available on both device and host when on device" do
|
481
|
-
@resource.
|
482
|
-
@resource.
|
480
|
+
allow(@resource).to receive(:appliable_to_host?).and_return(true)
|
481
|
+
allow(@resource).to receive(:appliable_to_device?).and_return(true)
|
483
482
|
@transaction.for_network_device = true
|
484
483
|
expect(@transaction).not_to be_skip(@resource)
|
485
484
|
end
|
486
485
|
|
487
486
|
it "should not skip resouce available on both device and host when on host" do
|
488
|
-
@resource.
|
489
|
-
@resource.
|
487
|
+
allow(@resource).to receive(:appliable_to_host?).and_return(true)
|
488
|
+
allow(@resource).to receive(:appliable_to_device?).and_return(true)
|
490
489
|
@transaction.for_network_device = false
|
491
490
|
expect(@transaction).not_to be_skip(@resource)
|
492
491
|
end
|
@@ -499,20 +498,20 @@ describe Puppet::Transaction do
|
|
499
498
|
@resource.catalog = @catalog
|
500
499
|
@transaction = Puppet::Transaction.new(@catalog, nil, nil)
|
501
500
|
|
502
|
-
@transaction.
|
501
|
+
allow(@transaction).to receive(:ignore_tags?).and_return(false)
|
503
502
|
end
|
504
503
|
|
505
504
|
it "should not be missing tags if tags are being ignored" do
|
506
|
-
@transaction.
|
505
|
+
expect(@transaction).to receive(:ignore_tags?).and_return(true)
|
507
506
|
|
508
|
-
@resource.
|
507
|
+
expect(@resource).not_to receive(:tagged?)
|
509
508
|
|
510
509
|
expect(@transaction).not_to be_missing_tags(@resource)
|
511
510
|
end
|
512
511
|
|
513
512
|
it "should not be missing tags if the transaction tags are empty" do
|
514
513
|
@transaction.tags = []
|
515
|
-
@resource.
|
514
|
+
expect(@resource).not_to receive(:tagged?)
|
516
515
|
expect(@transaction).not_to be_missing_tags(@resource)
|
517
516
|
end
|
518
517
|
|
@@ -533,14 +532,14 @@ describe Puppet::Transaction do
|
|
533
532
|
|
534
533
|
it "should always schedule resources if 'ignoreschedules' is set" do
|
535
534
|
@transaction.ignoreschedules = true
|
536
|
-
@transaction.resource_harness.
|
535
|
+
expect(@transaction.resource_harness).not_to receive(:scheduled?)
|
537
536
|
|
538
537
|
@transaction.evaluate
|
539
538
|
expect(@transaction.resource_status(@resource)).to be_changed
|
540
539
|
end
|
541
540
|
|
542
541
|
it "should let the resource harness determine whether the resource should be scheduled" do
|
543
|
-
@transaction.resource_harness.
|
542
|
+
expect(@transaction.resource_harness).to receive(:scheduled?).with(@resource).and_return("feh")
|
544
543
|
|
545
544
|
@transaction.evaluate
|
546
545
|
end
|
@@ -553,13 +552,13 @@ describe Puppet::Transaction do
|
|
553
552
|
let(:resource2) { Puppet::Type.type(:package).new :title => "blah", :provider => :apt }
|
554
553
|
|
555
554
|
before :each do
|
556
|
-
resource.
|
555
|
+
allow(resource).to receive(:suitable?).and_return(true)
|
557
556
|
catalog.add_resource resource
|
558
557
|
catalog.add_resource resource2
|
559
558
|
end
|
560
559
|
|
561
560
|
it "should match resources by name, not title" do
|
562
|
-
resource.provider.class.
|
561
|
+
expect(resource.provider.class).to receive(:prefetch).with("bar" => resource)
|
563
562
|
|
564
563
|
transaction.prefetch_if_necessary(resource)
|
565
564
|
end
|
@@ -567,13 +566,13 @@ describe Puppet::Transaction do
|
|
567
566
|
it "should not prefetch a provider which has already been prefetched" do
|
568
567
|
transaction.prefetched_providers[:package][:pkgng] = true
|
569
568
|
|
570
|
-
resource.provider.class.
|
569
|
+
expect(resource.provider.class).not_to receive(:prefetch)
|
571
570
|
|
572
571
|
transaction.prefetch_if_necessary(resource)
|
573
572
|
end
|
574
573
|
|
575
574
|
it "should mark the provider prefetched" do
|
576
|
-
resource.provider.class.
|
575
|
+
allow(resource.provider.class).to receive(:prefetch)
|
577
576
|
|
578
577
|
transaction.prefetch_if_necessary(resource)
|
579
578
|
|
@@ -586,8 +585,8 @@ describe Puppet::Transaction do
|
|
586
585
|
|
587
586
|
catalog.add_resource other
|
588
587
|
|
589
|
-
resource.class.
|
590
|
-
resource.provider.class.
|
588
|
+
allow(resource.class).to receive(:defaultprovider).and_return(resource.provider.class)
|
589
|
+
expect(resource.provider.class).to receive(:prefetch).with('bar' => resource, 'other' => other)
|
591
590
|
|
592
591
|
transaction.prefetch_if_necessary(resource)
|
593
592
|
end
|
@@ -595,38 +594,38 @@ describe Puppet::Transaction do
|
|
595
594
|
it "should not prefetch a provider which has failed" do
|
596
595
|
transaction.prefetch_failed_providers[:package][:pkgng] = true
|
597
596
|
|
598
|
-
resource.provider.class.
|
597
|
+
expect(resource.provider.class).not_to receive(:prefetch)
|
599
598
|
|
600
599
|
transaction.prefetch_if_necessary(resource)
|
601
600
|
end
|
602
601
|
|
603
602
|
it "should not rescue SystemExit without future_features flag" do
|
604
603
|
Puppet.settings[:future_features] = false
|
605
|
-
resource.provider.class.
|
604
|
+
expect(resource.provider.class).to receive(:prefetch).and_raise(SystemExit, "SystemMessage")
|
606
605
|
expect { transaction.prefetch_if_necessary(resource) }.to raise_error(SystemExit, "SystemMessage")
|
607
606
|
end
|
608
607
|
|
609
608
|
it "should not rescue SystemExit with future_features flag" do
|
610
609
|
Puppet.settings[:future_features] = true
|
611
|
-
resource.provider.class.
|
610
|
+
expect(resource.provider.class).to receive(:prefetch).and_raise(SystemExit, "SystemMessage")
|
612
611
|
expect { transaction.prefetch_if_necessary(resource) }.to raise_error(SystemExit, "SystemMessage")
|
613
612
|
end
|
614
613
|
|
615
614
|
it "should rescue LoadError without future_features flag" do
|
616
615
|
Puppet.settings[:future_features] = false
|
617
|
-
resource.provider.class.
|
616
|
+
expect(resource.provider.class).to receive(:prefetch).and_raise(LoadError, "LoadMessage")
|
618
617
|
expect { transaction.prefetch_if_necessary(resource) }.not_to raise_error
|
619
618
|
end
|
620
619
|
|
621
620
|
it "should rescue LoadError with future_features flag" do
|
622
621
|
Puppet.settings[:future_features] = true
|
623
|
-
resource.provider.class.
|
622
|
+
expect(resource.provider.class).to receive(:prefetch).and_raise(LoadError, "LoadMessage")
|
624
623
|
expect { transaction.prefetch_if_necessary(resource) }.not_to raise_error
|
625
624
|
end
|
626
625
|
|
627
626
|
describe "and prefetching fails" do
|
628
627
|
before :each do
|
629
|
-
resource.provider.class.
|
628
|
+
expect(resource.provider.class).to receive(:prefetch).and_raise(Puppet::Error, "message")
|
630
629
|
end
|
631
630
|
|
632
631
|
context "without future_features flag" do
|
@@ -639,7 +638,7 @@ describe Puppet::Transaction do
|
|
639
638
|
end
|
640
639
|
|
641
640
|
it "should log the exception during prefetch" do
|
642
|
-
Puppet.
|
641
|
+
expect(Puppet).to receive(:log_exception).with(anything, "Could not prefetch package provider 'pkgng': message")
|
643
642
|
expect { transaction.prefetch_if_necessary(resource) }.to raise_error(Puppet::Error, "message")
|
644
643
|
end
|
645
644
|
end
|
@@ -675,14 +674,14 @@ describe Puppet::Transaction do
|
|
675
674
|
|
676
675
|
before :each do
|
677
676
|
catalog.add_resource generator
|
678
|
-
generator.
|
679
|
-
catalog.
|
677
|
+
allow(generator).to receive(:generate).and_return(generated)
|
678
|
+
allow(catalog).to receive(:container_of).and_return(generator)
|
680
679
|
end
|
681
680
|
|
682
681
|
it "should not evaluate resources with a failed provider, even if the prefetch is rescued" do
|
683
682
|
#Only the generator resource should be applied, all the other resources are failed, and skipped.
|
684
683
|
catalog.remove_resource resource2
|
685
|
-
transaction.
|
684
|
+
expect(transaction).to receive(:apply).once
|
686
685
|
|
687
686
|
transaction.evaluate
|
688
687
|
end
|
@@ -701,7 +700,7 @@ describe Puppet::Transaction do
|
|
701
700
|
catalog.add_resource(new_resource)
|
702
701
|
|
703
702
|
catalog.remove_resource resource2
|
704
|
-
transaction.
|
703
|
+
expect(transaction).to receive(:apply).once
|
705
704
|
|
706
705
|
transaction.evaluate
|
707
706
|
|
@@ -773,10 +772,10 @@ describe Puppet::Transaction do
|
|
773
772
|
|
774
773
|
it "should call ::post_resource_eval even if one of the resources fails" do
|
775
774
|
resource = teardown_type.new(:title => "foo", :provider => :teardown_provider)
|
776
|
-
resource.
|
775
|
+
allow(resource).to receive(:retrieve_resource).and_raise
|
777
776
|
catalog.add_resource resource
|
778
777
|
|
779
|
-
resource.provider.class.
|
778
|
+
expect(resource.provider.class).to receive(:post_resource_eval)
|
780
779
|
|
781
780
|
transaction.evaluate
|
782
781
|
end
|
@@ -790,7 +789,7 @@ describe Puppet::Transaction do
|
|
790
789
|
|
791
790
|
context "when stop is requested" do
|
792
791
|
before :each do
|
793
|
-
Puppet::Application.
|
792
|
+
allow(Puppet::Application).to receive(:stop_requested?).and_return(true)
|
794
793
|
end
|
795
794
|
|
796
795
|
it 'should return true for :stop_processing?' do
|
@@ -804,7 +803,7 @@ describe Puppet::Transaction do
|
|
804
803
|
end
|
805
804
|
|
806
805
|
it 'should return false for :stop_processing? if Puppet::Application.stop_requested? is false' do
|
807
|
-
Puppet::Application.
|
806
|
+
allow(Puppet::Application).to receive(:stop_requested?).and_return(false)
|
808
807
|
expect(@transaction.stop_processing?).to be_falsey
|
809
808
|
end
|
810
809
|
|
@@ -812,25 +811,25 @@ describe Puppet::Transaction do
|
|
812
811
|
before do
|
813
812
|
@resource = Puppet::Type.type(:notify).new :title => "foobar"
|
814
813
|
@catalog.add_resource @resource
|
815
|
-
@transaction.
|
814
|
+
allow(@transaction).to receive(:add_dynamically_generated_resources)
|
816
815
|
end
|
817
816
|
|
818
817
|
it 'should stop processing if :stop_processing? is true' do
|
819
|
-
@transaction.
|
820
|
-
@transaction.
|
818
|
+
allow(@transaction).to receive(:stop_processing?).and_return(true)
|
819
|
+
expect(@transaction).not_to receive(:eval_resource)
|
821
820
|
@transaction.evaluate
|
822
821
|
end
|
823
822
|
|
824
823
|
it 'should continue processing if :stop_processing? is false' do
|
825
|
-
@transaction.
|
826
|
-
@transaction.
|
824
|
+
allow(@transaction).to receive(:stop_processing?).and_return(false)
|
825
|
+
expect(@transaction).to receive(:eval_resource).and_return(nil)
|
827
826
|
@transaction.evaluate
|
828
827
|
end
|
829
828
|
end
|
830
829
|
end
|
831
830
|
|
832
831
|
it "errors with a dependency cycle for a resource that requires itself" do
|
833
|
-
Puppet.
|
832
|
+
expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
|
834
833
|
expect do
|
835
834
|
apply_compiled_manifest(<<-MANIFEST)
|
836
835
|
notify { cycle: require => Notify[cycle] }
|
@@ -839,7 +838,7 @@ describe Puppet::Transaction do
|
|
839
838
|
end
|
840
839
|
|
841
840
|
it "errors with a dependency cycle for a self-requiring resource also required by another resource" do
|
842
|
-
Puppet.
|
841
|
+
expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
|
843
842
|
expect do
|
844
843
|
apply_compiled_manifest(<<-MANIFEST)
|
845
844
|
notify { cycle: require => Notify[cycle] }
|
@@ -849,7 +848,7 @@ describe Puppet::Transaction do
|
|
849
848
|
end
|
850
849
|
|
851
850
|
it "errors with a dependency cycle for a resource that requires itself and another resource" do
|
852
|
-
Puppet.
|
851
|
+
expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
|
853
852
|
expect do
|
854
853
|
apply_compiled_manifest(<<-MANIFEST)
|
855
854
|
notify { cycle:
|
@@ -861,7 +860,7 @@ describe Puppet::Transaction do
|
|
861
860
|
end
|
862
861
|
|
863
862
|
it "errors with a dependency cycle for a resource that is later modified to require itself" do
|
864
|
-
Puppet.
|
863
|
+
expect(Puppet).to receive(:err).with(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m)
|
865
864
|
expect do
|
866
865
|
apply_compiled_manifest(<<-MANIFEST)
|
867
866
|
notify { cycle: }
|
@@ -930,15 +929,16 @@ describe Puppet::Transaction do
|
|
930
929
|
describe "failed dependency is depended on multiple times" do
|
931
930
|
it "notifies the failed dependency once" do
|
932
931
|
command_string = File.expand_path('/my/command')
|
933
|
-
Puppet::Util::Execution.
|
932
|
+
allow(Puppet::Util::Execution).to receive(:execute).with([command_string]).and_raise(Puppet::ExecutionFailure, "Failed")
|
934
933
|
|
935
|
-
Puppet::Type::Notify.
|
936
|
-
Puppet::Type::Notify.
|
937
|
-
Puppet::Type::Notify.
|
938
|
-
Puppet::Type::Notify.
|
939
|
-
Puppet::Type::Notify.
|
934
|
+
allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec1] has failures: true")
|
935
|
+
allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec2] has failures: true")
|
936
|
+
allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec3] has failures: true")
|
937
|
+
allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec4] has failures: true")
|
938
|
+
allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log).with(:notice, "Dependency Exec[exec5] has failures: true")
|
940
939
|
|
941
|
-
|
940
|
+
times_send_log_with_skipping_called = 0
|
941
|
+
allow_any_instance_of(Puppet::Type::Notify).to receive(:send_log) {times_send_log_with_skipping_called += 1; nil}.with(:warning, "Skipping because of failed dependencies")
|
942
942
|
|
943
943
|
apply_compiled_manifest(<<-MANIFEST)
|
944
944
|
exec { ['exec1', 'exec2', 'exec3', 'exec4', 'exec5']:
|
@@ -946,10 +946,9 @@ describe Puppet::Transaction do
|
|
946
946
|
} ->
|
947
947
|
notify { ['notify1', 'notify2', 'notify3']: }
|
948
948
|
MANIFEST
|
949
|
-
|
949
|
+
expect(times_send_log_with_skipping_called).to eq(3)
|
950
950
|
end
|
951
951
|
end
|
952
|
-
|
953
952
|
end
|
954
953
|
|
955
954
|
describe Puppet::Transaction, " when determining tags" do
|