puppet 6.0.10 → 6.1.0
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 +1 -0
- data/Gemfile.lock +31 -27
- data/Guardfile.example +76 -0
- data/LICENSE +189 -4
- data/MAINTAINERS +47 -0
- data/README.md +3 -3
- data/lib/hiera/scope.rb +0 -7
- data/lib/puppet.rb +6 -5
- data/lib/puppet/application.rb +3 -3
- data/lib/puppet/application/cert.rb +2 -2
- data/lib/puppet/application/device.rb +83 -109
- data/lib/puppet/application/filebucket.rb +1 -10
- data/lib/puppet/application/ssl.rb +0 -2
- data/lib/puppet/configurer.rb +9 -10
- data/lib/puppet/confine/false.rb +1 -7
- data/lib/puppet/confine/true.rb +1 -7
- data/lib/puppet/defaults.rb +39 -51
- data/lib/puppet/forge.rb +1 -4
- data/lib/puppet/functions/abs.rb +1 -1
- data/lib/puppet/functions/call.rb +1 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/indirector/request.rb +15 -26
- data/lib/puppet/network/http/connection.rb +12 -32
- data/lib/puppet/network/http/factory.rb +0 -5
- data/lib/puppet/pal/catalog_compiler.rb +96 -0
- data/lib/puppet/pal/compiler.rb +221 -0
- data/lib/puppet/pal/function_signature.rb +52 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +67 -0
- data/lib/puppet/pal/pal_api.rb +15 -0
- data/lib/puppet/pal/pal_impl.rb +523 -0
- data/lib/puppet/pal/plan_signature.rb +71 -0
- data/lib/puppet/pal/script_compiler.rb +71 -0
- data/lib/puppet/pal/task_signature.rb +58 -0
- data/lib/puppet/parser/functions/generate.rb +7 -6
- data/lib/puppet/plugins/configuration.rb +5 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -1
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -3
- data/lib/puppet/pops/issues.rb +0 -4
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +4 -60
- data/lib/puppet/pops/model/factory.rb +4 -38
- data/lib/puppet/pops/model/pn_transformer.rb +0 -5
- data/lib/puppet/pops/parser/egrammar.ra +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +7 -17
- data/lib/puppet/pops/parser/lexer2.rb +1 -6
- data/lib/puppet/pops/parser/locator.rb +86 -106
- data/lib/puppet/pops/parser/parser_support.rb +2 -11
- data/lib/puppet/pops/types/string_converter.rb +7 -2
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/types.rb +3 -5
- data/lib/puppet/pops/validation/checker4_0.rb +13 -0
- data/lib/puppet/provider.rb +2 -1
- data/lib/puppet/provider/exec.rb +6 -1
- data/lib/puppet/provider/file/windows.rb +1 -49
- data/lib/puppet/provider/group/windows_adsi.rb +1 -4
- data/lib/puppet/provider/package.rb +0 -2
- data/lib/puppet/provider/package/dpkg.rb +2 -15
- data/lib/puppet/provider/package/gem.rb +42 -102
- data/lib/puppet/provider/package/pip.rb +111 -135
- data/lib/puppet/provider/package/pip3.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +37 -21
- data/lib/puppet/provider/package/puppet_gem.rb +1 -1
- data/lib/puppet/provider/package/rpm.rb +16 -27
- data/lib/puppet/provider/package/windows.rb +1 -5
- data/lib/puppet/provider/package/yum.rb +1 -2
- data/lib/puppet/provider/service/systemd.rb +17 -0
- data/lib/puppet/provider/service/upstart.rb +5 -17
- data/lib/puppet/provider/service/windows.rb +8 -3
- data/lib/puppet/provider/user/directoryservice.rb +4 -16
- data/lib/puppet/provider/user/useradd.rb +13 -16
- data/lib/puppet/resource.rb +3 -1
- data/lib/puppet/rest/client.rb +83 -0
- data/lib/puppet/rest/route.rb +1 -1
- data/lib/puppet/settings.rb +5 -10
- data/lib/puppet/settings/server_list_setting.rb +0 -9
- data/lib/puppet/ssl/host.rb +11 -0
- data/lib/puppet/ssl/validator/default_validator.rb +0 -31
- data/lib/puppet/syntax_checkers/epp.rb +34 -0
- data/lib/puppet/syntax_checkers/pp.rb +34 -0
- data/lib/puppet/transaction.rb +7 -12
- data/lib/puppet/transaction/event_manager.rb +5 -1
- data/lib/puppet/transaction/resource_harness.rb +0 -1
- data/lib/puppet/type.rb +6 -0
- data/lib/puppet/type/exec.rb +5 -27
- data/lib/puppet/type/file/mode.rb +1 -6
- data/lib/puppet/type/file/source.rb +1 -0
- data/lib/puppet/type/filebucket.rb +8 -12
- data/lib/puppet/type/package.rb +11 -44
- data/lib/puppet/type/schedule.rb +0 -4
- data/lib/puppet/type/service.rb +12 -0
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/util/command_line.rb +1 -5
- data/lib/puppet/util/connection.rb +6 -15
- data/lib/puppet/util/http_proxy.rb +2 -3
- data/lib/puppet/util/log.rb +2 -7
- data/lib/puppet/util/pidlock.rb +1 -15
- data/lib/puppet/util/windows/process.rb +5 -73
- data/lib/puppet/util/windows/registry.rb +1 -7
- data/lib/puppet/util/windows/security.rb +8 -29
- data/lib/puppet/util/windows/service.rb +33 -27
- data/lib/puppet/util/windows/user.rb +4 -14
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet_pal.rb +5 -1132
- data/locales/ja/puppet.po +297 -363
- data/locales/puppet.pot +445 -517
- data/man/man5/puppet.conf.5 +12 -20
- 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 +2 -6
- 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/fixtures/unit/provider/package/pkgng/pkg.query +7 -1
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +1 -0
- data/spec/integration/agent/logging_spec.rb +7 -5
- data/spec/integration/application/apply_spec.rb +16 -18
- data/spec/integration/application/doc_spec.rb +2 -1
- data/spec/integration/application/lookup_spec.rb +5 -5
- data/spec/integration/configurer_spec.rb +6 -5
- data/spec/integration/defaults_spec.rb +6 -5
- data/spec/integration/directory_environments_spec.rb +1 -1
- data/spec/integration/faces/config_spec.rb +4 -3
- data/spec/integration/faces/documentation_spec.rb +1 -0
- data/spec/integration/faces/plugin_spec.rb +1 -1
- data/spec/integration/file_bucket/file_spec.rb +4 -2
- data/spec/integration/file_serving/content_spec.rb +1 -0
- data/spec/integration/file_serving/fileset_spec.rb +1 -0
- data/spec/integration/file_serving/metadata_spec.rb +1 -0
- data/spec/integration/file_serving/terminus_helper_spec.rb +1 -0
- data/spec/integration/indirector/catalog/compiler_spec.rb +11 -10
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +5 -4
- data/spec/integration/indirector/file_content/file_server_spec.rb +8 -7
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +8 -7
- data/spec/integration/network/authconfig_spec.rb +24 -23
- data/spec/integration/network/formats_spec.rb +1 -0
- data/spec/integration/node/environment_spec.rb +1 -0
- data/spec/integration/node/facts_spec.rb +10 -9
- data/spec/integration/node_spec.rb +7 -6
- data/spec/integration/parser/catalog_spec.rb +5 -1
- data/spec/integration/parser/collection_spec.rb +2 -1
- 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 +5 -4
- data/spec/integration/provider/service/systemd_spec.rb +2 -0
- data/spec/integration/provider/service/windows_spec.rb +2 -1
- data/spec/integration/reference/providers_spec.rb +2 -1
- data/spec/integration/reports_spec.rb +2 -1
- data/spec/integration/resource/catalog_spec.rb +17 -14
- data/spec/integration/resource/type_collection_spec.rb +5 -4
- data/spec/integration/ssl/certificate_request_spec.rb +1 -0
- data/spec/integration/ssl/host_spec.rb +2 -1
- data/spec/integration/ssl/key_spec.rb +1 -0
- data/spec/integration/test/test_helper_spec.rb +1 -0
- data/spec/integration/transaction/report_spec.rb +11 -6
- data/spec/integration/transaction_spec.rb +19 -18
- data/spec/integration/type/exec_spec.rb +1 -0
- data/spec/integration/type/file_spec.rb +33 -13
- data/spec/integration/type/package_spec.rb +24 -20
- data/spec/integration/type/tidy_spec.rb +2 -1
- data/spec/integration/type_spec.rb +1 -0
- data/spec/integration/util/autoload_spec.rb +2 -1
- data/spec/integration/util/rdoc/parser_spec.rb +1 -0
- data/spec/integration/util/settings_spec.rb +1 -0
- data/spec/integration/util/windows/adsi_spec.rb +5 -3
- data/spec/integration/util/windows/principal_spec.rb +1 -0
- data/spec/integration/util/windows/process_spec.rb +6 -4
- data/spec/integration/util/windows/registry_spec.rb +51 -93
- data/spec/integration/util/windows/security_spec.rb +4 -2
- data/spec/integration/util/windows/user_spec.rb +20 -37
- data/spec/integration/util_spec.rb +7 -4
- data/spec/lib/puppet_spec/compiler.rb +1 -1
- data/spec/lib/puppet_spec/files.rb +1 -0
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +2 -1
- data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
- data/spec/shared_behaviours/file_server_terminus.rb +9 -8
- data/spec/shared_behaviours/file_serving.rb +8 -6
- data/spec/shared_behaviours/file_serving_model.rb +5 -3
- data/spec/shared_behaviours/hiera_indirections.rb +4 -3
- data/spec/shared_behaviours/iterative_functions.rb +1 -0
- data/spec/shared_behaviours/memory_terminus.rb +2 -2
- data/spec/shared_examples/rhel_package_provider.rb +70 -112
- data/spec/spec_helper.rb +2 -11
- data/spec/unit/agent/disabler_spec.rb +5 -4
- data/spec/unit/agent/locker_spec.rb +13 -12
- data/spec/unit/agent_spec.rb +85 -80
- data/spec/unit/application/agent_spec.rb +93 -88
- data/spec/unit/application/apply_spec.rb +83 -82
- data/spec/unit/application/config_spec.rb +1 -0
- data/spec/unit/application/describe_spec.rb +7 -6
- data/spec/unit/application/device_spec.rb +419 -395
- data/spec/unit/application/doc_spec.rb +46 -44
- data/spec/unit/application/face_base_spec.rb +62 -61
- data/spec/unit/application/facts_spec.rb +4 -3
- data/spec/unit/application/filebucket_spec.rb +74 -66
- data/spec/unit/application/indirection_base_spec.rb +6 -8
- data/spec/unit/application/lookup_spec.rb +26 -26
- data/spec/unit/application/resource_spec.rb +48 -42
- data/spec/unit/application/ssl_spec.rb +3 -8
- data/spec/unit/application_spec.rb +98 -86
- data/spec/unit/capability_spec.rb +6 -6
- data/spec/unit/certificate_factory_spec.rb +5 -3
- data/spec/unit/configurer/downloader_spec.rb +21 -20
- data/spec/unit/configurer/fact_handler_spec.rb +3 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +8 -41
- data/spec/unit/configurer_spec.rb +198 -194
- data/spec/unit/confine/exists_spec.rb +15 -17
- data/spec/unit/confine/false_spec.rb +6 -32
- data/spec/unit/confine/feature_spec.rb +5 -7
- data/spec/unit/confine/true_spec.rb +6 -32
- data/spec/unit/confine/variable_spec.rb +15 -14
- data/spec/unit/confine_collection_spec.rb +29 -28
- data/spec/unit/confine_spec.rb +14 -13
- data/spec/unit/confiner_spec.rb +11 -10
- data/spec/unit/context/trusted_information_spec.rb +1 -1
- data/spec/unit/daemon_spec.rb +36 -35
- data/spec/unit/data_providers/function_data_provider_spec.rb +1 -0
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +1 -0
- data/spec/unit/datatypes_spec.rb +4 -3
- data/spec/unit/defaults_spec.rb +27 -18
- data/spec/unit/environments_spec.rb +7 -7
- data/spec/unit/etc_spec.rb +32 -30
- data/spec/unit/external/pson_spec.rb +1 -0
- data/spec/unit/face/catalog_spec.rb +1 -0
- data/spec/unit/face/config_spec.rb +35 -31
- data/spec/unit/face/epp_face_spec.rb +4 -3
- data/spec/unit/face/facts_spec.rb +6 -5
- data/spec/unit/face/generate_spec.rb +5 -4
- data/spec/unit/face/help_spec.rb +8 -7
- data/spec/unit/face/key_spec.rb +1 -0
- data/spec/unit/face/man_spec.rb +2 -1
- data/spec/unit/face/module/install_spec.rb +5 -3
- data/spec/unit/face/module/list_spec.rb +12 -2
- data/spec/unit/face/module/search_spec.rb +9 -11
- data/spec/unit/face/module/uninstall_spec.rb +8 -4
- data/spec/unit/face/node_spec.rb +24 -23
- data/spec/unit/face/parser_spec.rb +18 -3
- data/spec/unit/face/plugin_spec.rb +9 -36
- data/spec/unit/face/status_spec.rb +1 -0
- data/spec/unit/file_bucket/dipper_spec.rb +20 -24
- data/spec/unit/file_bucket/file_spec.rb +2 -0
- data/spec/unit/file_serving/base_spec.rb +15 -14
- data/spec/unit/file_serving/configuration/parser_spec.rb +28 -27
- data/spec/unit/file_serving/configuration_spec.rb +66 -63
- data/spec/unit/file_serving/content_spec.rb +11 -10
- data/spec/unit/file_serving/fileset_spec.rb +58 -63
- data/spec/unit/file_serving/http_metadata_spec.rb +7 -8
- data/spec/unit/file_serving/metadata_spec.rb +36 -36
- data/spec/unit/file_serving/mount/file_spec.rb +32 -31
- data/spec/unit/file_serving/mount/locales_spec.rb +24 -23
- data/spec/unit/file_serving/mount/modules_spec.rb +15 -14
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +24 -23
- data/spec/unit/file_serving/mount/plugins_spec.rb +24 -23
- data/spec/unit/file_serving/mount/tasks_spec.rb +15 -14
- data/spec/unit/file_serving/mount_spec.rb +1 -0
- data/spec/unit/file_serving/terminus_helper_spec.rb +42 -37
- data/spec/unit/file_serving/terminus_selector_spec.rb +13 -12
- 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 +16 -17
- data/spec/unit/forge/module_release_spec.rb +18 -18
- data/spec/unit/forge/repository_spec.rb +30 -29
- data/spec/unit/forge_spec.rb +11 -15
- data/spec/unit/functions/binary_file_spec.rb +3 -3
- data/spec/unit/functions/contain_spec.rb +2 -0
- data/spec/unit/functions/defined_spec.rb +1 -0
- 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 +4 -0
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -0
- data/spec/unit/functions/lookup_spec.rb +2 -1
- data/spec/unit/functions/module_directory_spec.rb +12 -12
- data/spec/unit/functions/new_spec.rb +0 -15
- data/spec/unit/functions/require_spec.rb +3 -0
- data/spec/unit/functions/shared.rb +8 -5
- data/spec/unit/functions/versioncmp_spec.rb +2 -1
- data/spec/unit/functions4_spec.rb +10 -9
- 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 +2 -0
- data/spec/unit/graph/relationship_graph_spec.rb +2 -1
- data/spec/unit/graph/simple_graph_spec.rb +10 -9
- data/spec/unit/hiera/scope_spec.rb +0 -7
- data/spec/unit/hiera_puppet_spec.rb +20 -20
- data/spec/unit/indirector/catalog/compiler_spec.rb +149 -147
- data/spec/unit/indirector/catalog/json_spec.rb +2 -1
- data/spec/unit/indirector/catalog/msgpack_spec.rb +1 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -0
- data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/catalog/yaml_spec.rb +1 -0
- data/spec/unit/indirector/certificate/file_spec.rb +1 -0
- data/spec/unit/indirector/certificate/rest_spec.rb +10 -8
- data/spec/unit/indirector/certificate_request/file_spec.rb +1 -0
- data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -0
- data/spec/unit/indirector/direct_file_server_spec.rb +18 -17
- data/spec/unit/indirector/envelope_spec.rb +2 -1
- data/spec/unit/indirector/exec_spec.rb +5 -4
- data/spec/unit/indirector/face_spec.rb +9 -9
- data/spec/unit/indirector/facts/facter_spec.rb +43 -37
- data/spec/unit/indirector/facts/network_device_spec.rb +9 -8
- data/spec/unit/indirector/facts/rest_spec.rb +8 -7
- data/spec/unit/indirector/facts/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +1 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -3
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -0
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +5 -4
- data/spec/unit/indirector/file_content/file_server_spec.rb +1 -0
- data/spec/unit/indirector/file_content/file_spec.rb +1 -0
- data/spec/unit/indirector/file_content/rest_spec.rb +1 -0
- data/spec/unit/indirector/file_content/selector_spec.rb +1 -0
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -0
- data/spec/unit/indirector/file_metadata/file_spec.rb +13 -12
- data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -0
- data/spec/unit/indirector/file_metadata/selector_spec.rb +1 -0
- data/spec/unit/indirector/file_server_spec.rb +87 -87
- data/spec/unit/indirector/indirection_spec.rb +226 -242
- data/spec/unit/indirector/json_spec.rb +9 -7
- data/spec/unit/indirector/key/file_spec.rb +22 -21
- data/spec/unit/indirector/memory_spec.rb +7 -6
- data/spec/unit/indirector/msgpack_spec.rb +9 -7
- data/spec/unit/indirector/node/exec_spec.rb +3 -2
- data/spec/unit/indirector/node/memory_spec.rb +4 -2
- data/spec/unit/indirector/node/msgpack_spec.rb +1 -0
- data/spec/unit/indirector/node/plain_spec.rb +4 -2
- data/spec/unit/indirector/node/rest_spec.rb +1 -0
- data/spec/unit/indirector/node/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/node/yaml_spec.rb +1 -0
- data/spec/unit/indirector/none_spec.rb +5 -5
- data/spec/unit/indirector/plain_spec.rb +8 -7
- data/spec/unit/indirector/report/msgpack_spec.rb +1 -0
- data/spec/unit/indirector/report/processor_spec.rb +22 -21
- data/spec/unit/indirector/report/rest_spec.rb +12 -11
- data/spec/unit/indirector/report/yaml_spec.rb +1 -0
- data/spec/unit/indirector/request_spec.rb +12 -11
- data/spec/unit/indirector/resource/ral_spec.rb +54 -47
- data/spec/unit/indirector/resource/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/rest_spec.rb +110 -113
- data/spec/unit/indirector/ssl_file_spec.rb +65 -64
- data/spec/unit/indirector/status/local_spec.rb +1 -0
- data/spec/unit/indirector/status/rest_spec.rb +1 -0
- data/spec/unit/indirector/store_configs_spec.rb +1 -0
- data/spec/unit/indirector/terminus_spec.rb +27 -27
- data/spec/unit/indirector/yaml_spec.rb +6 -5
- data/spec/unit/indirector_spec.rb +2 -1
- data/spec/unit/info_service_spec.rb +1 -1
- data/spec/unit/interface/action_builder_spec.rb +1 -0
- data/spec/unit/interface/action_manager_spec.rb +1 -0
- data/spec/unit/interface/action_spec.rb +3 -2
- data/spec/unit/interface/documentation_spec.rb +1 -0
- data/spec/unit/interface/face_collection_spec.rb +12 -19
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/man_spec.rb +4 -3
- data/spec/unit/module_spec.rb +51 -46
- data/spec/unit/module_tool/applications/installer_spec.rb +11 -10
- data/spec/unit/module_tool/applications/searcher_spec.rb +3 -3
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +2 -1
- 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 +13 -12
- data/spec/unit/module_tool_spec.rb +12 -7
- data/spec/unit/network/auth_config_parser_spec.rb +13 -11
- data/spec/unit/network/authconfig_spec.rb +18 -17
- data/spec/unit/network/authorization_spec.rb +5 -4
- data/spec/unit/network/authstore_spec.rb +1 -0
- data/spec/unit/network/format_handler_spec.rb +1 -0
- data/spec/unit/network/format_spec.rb +10 -9
- data/spec/unit/network/format_support_spec.rb +29 -28
- data/spec/unit/network/formats_spec.rb +5 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +29 -24
- 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 +7 -6
- data/spec/unit/network/http/api_spec.rb +2 -0
- data/spec/unit/network/http/compression_spec.rb +22 -21
- data/spec/unit/network/http/connection_spec.rb +121 -30
- data/spec/unit/network/http/factory_spec.rb +6 -11
- data/spec/unit/network/http/handler_spec.rb +18 -9
- data/spec/unit/network/http/nocache_pool_spec.rb +7 -6
- data/spec/unit/network/http/pool_spec.rb +29 -28
- data/spec/unit/network/http/request_spec.rb +2 -0
- data/spec/unit/network/http/response_spec.rb +13 -11
- data/spec/unit/network/http/route_spec.rb +1 -0
- data/spec/unit/network/http/session_spec.rb +2 -1
- data/spec/unit/network/http/site_spec.rb +1 -0
- data/spec/unit/network/http_pool_spec.rb +9 -18
- data/spec/unit/network/http_spec.rb +1 -0
- data/spec/unit/network/resolver_spec.rb +26 -25
- data/spec/unit/network/rights_spec.rb +53 -52
- data/spec/unit/node/environment_spec.rb +15 -14
- data/spec/unit/node/facts_spec.rb +7 -5
- data/spec/unit/node_spec.rb +10 -4
- data/spec/unit/other/selinux_spec.rb +1 -0
- data/spec/unit/parameter/boolean_spec.rb +2 -1
- data/spec/unit/parameter/package_options_spec.rb +2 -1
- data/spec/unit/parameter/path_spec.rb +1 -0
- data/spec/unit/parameter/value_collection_spec.rb +1 -0
- data/spec/unit/parameter/value_spec.rb +1 -0
- data/spec/unit/parameter_spec.rb +9 -9
- data/spec/unit/parser/ast/block_expression_spec.rb +8 -6
- data/spec/unit/parser/ast/leaf_spec.rb +21 -20
- data/spec/unit/parser/compiler_spec.rb +96 -84
- data/spec/unit/parser/environment_compiler_spec.rb +8 -7
- data/spec/unit/parser/files_spec.rb +1 -0
- data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
- data/spec/unit/parser/functions/digest_spec.rb +1 -0
- data/spec/unit/parser/functions/fail_spec.rb +2 -1
- data/spec/unit/parser/functions/file_spec.rb +14 -13
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -5
- data/spec/unit/parser/functions/generate_spec.rb +8 -7
- data/spec/unit/parser/functions/inline_template_spec.rb +1 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +1 -0
- data/spec/unit/parser/functions/scanf_spec.rb +1 -0
- data/spec/unit/parser/functions/shellquote_spec.rb +1 -0
- data/spec/unit/parser/functions/split_spec.rb +1 -0
- data/spec/unit/parser/functions/sprintf_spec.rb +1 -0
- data/spec/unit/parser/functions/tag_spec.rb +2 -1
- data/spec/unit/parser/functions/tagged_spec.rb +3 -2
- data/spec/unit/parser/functions/template_spec.rb +13 -13
- data/spec/unit/parser/functions/versioncmp_spec.rb +2 -1
- data/spec/unit/parser/functions_spec.rb +7 -6
- data/spec/unit/parser/relationship_spec.rb +1 -0
- data/spec/unit/parser/resource_spec.rb +42 -42
- data/spec/unit/parser/scope_spec.rb +35 -39
- data/spec/unit/parser/templatewrapper_spec.rb +12 -11
- data/spec/unit/parser/type_loader_spec.rb +19 -17
- data/spec/unit/pops/adaptable_spec.rb +1 -0
- data/spec/unit/pops/benchmark_spec.rb +1 -0
- data/spec/unit/pops/evaluator/access_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +1 -0
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +47 -10
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +1 -0
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +1 -0
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +1 -0
- data/spec/unit/pops/evaluator/variables_spec.rb +1 -0
- data/spec/unit/pops/factory_spec.rb +4 -3
- data/spec/unit/pops/issues_spec.rb +20 -19
- data/spec/unit/pops/loaders/loader_spec.rb +4 -8
- data/spec/unit/pops/loaders/loaders_spec.rb +31 -101
- data/spec/unit/pops/lookup/context_spec.rb +1 -0
- data/spec/unit/pops/lookup/interpolation_spec.rb +3 -2
- data/spec/unit/pops/merge_strategy_spec.rb +1 -0
- data/spec/unit/pops/migration_spec.rb +5 -3
- data/spec/unit/pops/model/model_spec.rb +1 -0
- data/spec/unit/pops/model/pn_transformer_spec.rb +1 -4
- data/spec/unit/pops/parser/locator_spec.rb +6 -48
- data/spec/unit/pops/parser/parse_application_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_calls_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_containers_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -111
- data/spec/unit/pops/parser/parse_plan_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_resource_spec.rb +1 -0
- data/spec/unit/pops/parser/parse_site_spec.rb +1 -0
- data/spec/unit/pops/parser/pn_parser_spec.rb +1 -0
- data/spec/unit/pops/pn_spec.rb +1 -0
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -0
- 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/string_converter_spec.rb +5 -1
- 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_mismatch_describer_spec.rb +0 -9
- data/spec/unit/pops/types/type_parser_spec.rb +13 -13
- data/spec/unit/pops/validator/validator_spec.rb +2 -1
- data/spec/unit/pops/visitor_spec.rb +1 -0
- data/spec/unit/property/boolean_spec.rb +1 -1
- data/spec/unit/property/ensure_spec.rb +1 -0
- data/spec/unit/property/keyvalue_spec.rb +34 -32
- data/spec/unit/property/list_spec.rb +27 -26
- data/spec/unit/property/ordered_list_spec.rb +14 -10
- data/spec/unit/property_spec.rb +43 -42
- data/spec/unit/provider/aix_object_spec.rb +45 -47
- data/spec/unit/provider/command_spec.rb +9 -9
- data/spec/unit/provider/exec/posix_spec.rb +31 -6
- data/spec/unit/provider/exec/shell_spec.rb +1 -0
- data/spec/unit/provider/exec/windows_spec.rb +4 -2
- data/spec/unit/provider/exec_spec.rb +1 -0
- data/spec/unit/provider/file/posix_spec.rb +24 -22
- data/spec/unit/provider/file/windows_spec.rb +17 -15
- data/spec/unit/provider/group/aix_spec.rb +2 -3
- data/spec/unit/provider/group/groupadd_spec.rb +26 -30
- 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 +53 -59
- data/spec/unit/provider/ldap_spec.rb +62 -61
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +36 -35
- data/spec/unit/provider/nameservice_spec.rb +40 -38
- 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 +27 -44
- data/spec/unit/provider/package/aptitude_spec.rb +7 -6
- data/spec/unit/provider/package/aptrpm_spec.rb +12 -7
- data/spec/unit/provider/package/base_spec.rb +4 -4
- data/spec/unit/provider/package/dnf_spec.rb +20 -18
- data/spec/unit/provider/package/dpkg_spec.rb +53 -70
- data/spec/unit/provider/package/freebsd_spec.rb +11 -11
- data/spec/unit/provider/package/gem_spec.rb +55 -132
- data/spec/unit/provider/package/hpux_spec.rb +8 -8
- data/spec/unit/provider/package/macports_spec.rb +42 -46
- data/spec/unit/provider/package/nim_spec.rb +39 -30
- data/spec/unit/provider/package/openbsd_spec.rb +39 -36
- data/spec/unit/provider/package/opkg_spec.rb +26 -23
- data/spec/unit/provider/package/pacman_spec.rb +118 -97
- data/spec/unit/provider/package/pip3_spec.rb +0 -17
- data/spec/unit/provider/package/pip_spec.rb +106 -95
- data/spec/unit/provider/package/pkg_spec.rb +109 -109
- data/spec/unit/provider/package/pkgdmg_spec.rb +63 -65
- data/spec/unit/provider/package/pkgin_spec.rb +8 -10
- data/spec/unit/provider/package/pkgng_spec.rb +31 -22
- data/spec/unit/provider/package/pkgutil_spec.rb +49 -45
- data/spec/unit/provider/package/portage_spec.rb +74 -70
- data/spec/unit/provider/package/puppet_gem_spec.rb +13 -37
- data/spec/unit/provider/package/rpm_spec.rb +76 -154
- data/spec/unit/provider/package/sun_spec.rb +18 -16
- data/spec/unit/provider/package/tdnf_spec.rb +2 -2
- data/spec/unit/provider/package/up2date_spec.rb +4 -2
- data/spec/unit/provider/package/urpmi_spec.rb +17 -15
- data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -12
- data/spec/unit/provider/package/windows/msi_package_spec.rb +22 -19
- data/spec/unit/provider/package/windows/package_spec.rb +42 -37
- data/spec/unit/provider/package/windows_spec.rb +32 -47
- 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 +45 -44
- data/spec/unit/provider/service/base_spec.rb +5 -4
- data/spec/unit/provider/service/bsd_spec.rb +29 -27
- 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 +55 -50
- data/spec/unit/provider/service/init_spec.rb +52 -53
- data/spec/unit/provider/service/launchd_spec.rb +116 -138
- data/spec/unit/provider/service/openbsd_spec.rb +50 -50
- data/spec/unit/provider/service/openrc_spec.rb +45 -43
- data/spec/unit/provider/service/openwrt_spec.rb +31 -26
- data/spec/unit/provider/service/rcng_spec.rb +14 -14
- data/spec/unit/provider/service/redhat_spec.rb +43 -45
- data/spec/unit/provider/service/runit_spec.rb +27 -29
- data/spec/unit/provider/service/smf_spec.rb +66 -74
- data/spec/unit/provider/service/src_spec.rb +47 -46
- data/spec/unit/provider/service/systemd_spec.rb +136 -109
- data/spec/unit/provider/service/upstart_spec.rb +93 -77
- data/spec/unit/provider/service/windows_spec.rb +41 -33
- data/spec/unit/provider/user/aix_spec.rb +31 -31
- data/spec/unit/provider/user/directoryservice_spec.rb +114 -146
- 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 +12 -10
- data/spec/unit/provider/user/pw_spec.rb +35 -37
- data/spec/unit/provider/user/user_role_add_spec.rb +93 -93
- data/spec/unit/provider/user/useradd_spec.rb +92 -93
- data/spec/unit/provider/user/windows_adsi_spec.rb +60 -59
- data/spec/unit/provider_spec.rb +35 -35
- data/spec/unit/puppet_pal_2pec.rb +5 -4
- data/spec/unit/puppet_pal_spec.rb +1 -0
- data/spec/unit/puppet_spec.rb +7 -6
- data/spec/unit/relationship_spec.rb +1 -0
- data/spec/unit/reports/http_spec.rb +23 -21
- data/spec/unit/reports/store_spec.rb +4 -3
- data/spec/unit/reports_spec.rb +14 -12
- data/spec/unit/resource/capability_finder_spec.rb +17 -15
- data/spec/unit/resource/catalog_spec.rb +68 -72
- data/spec/unit/resource/status_spec.rb +8 -6
- data/spec/unit/resource/type_collection_spec.rb +18 -17
- data/spec/unit/resource/type_spec.rb +35 -34
- data/spec/unit/resource_spec.rb +63 -36
- data/spec/unit/rest/client_spec.rb +135 -0
- data/spec/unit/rest/route_spec.rb +6 -6
- data/spec/unit/scheduler/job_spec.rb +1 -0
- data/spec/unit/scheduler/scheduler_spec.rb +1 -0
- data/spec/unit/scheduler/splay_job_spec.rb +2 -1
- 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 +1 -0
- data/spec/unit/settings/directory_setting_spec.rb +7 -2
- data/spec/unit/settings/duration_setting_spec.rb +2 -1
- data/spec/unit/settings/enum_setting_spec.rb +1 -1
- data/spec/unit/settings/environment_conf_spec.rb +6 -4
- data/spec/unit/settings/file_setting_spec.rb +46 -44
- data/spec/unit/settings/path_setting_spec.rb +2 -1
- data/spec/unit/settings/priority_setting_spec.rb +2 -1
- data/spec/unit/settings/string_setting_spec.rb +15 -14
- data/spec/unit/settings/terminus_setting_spec.rb +2 -1
- data/spec/unit/settings/value_translator_spec.rb +1 -0
- data/spec/unit/settings_spec.rb +224 -253
- data/spec/unit/ssl/base_spec.rb +15 -14
- data/spec/unit/ssl/certificate_request_spec.rb +58 -62
- data/spec/unit/ssl/certificate_spec.rb +25 -23
- data/spec/unit/ssl/digest_spec.rb +1 -0
- data/spec/unit/ssl/host_spec.rb +149 -166
- data/spec/unit/ssl/key_spec.rb +31 -30
- data/spec/unit/ssl/validator_spec.rb +39 -40
- data/spec/unit/task_spec.rb +45 -44
- data/spec/unit/transaction/additional_resource_generator_spec.rb +5 -3
- data/spec/unit/transaction/event_manager_spec.rb +88 -87
- data/spec/unit/transaction/event_spec.rb +15 -16
- data/spec/unit/transaction/persistence_spec.rb +17 -16
- data/spec/unit/transaction/report_spec.rb +12 -11
- data/spec/unit/transaction/resource_harness_spec.rb +31 -52
- data/spec/unit/transaction_spec.rb +87 -140
- data/spec/unit/type/component_spec.rb +1 -0
- data/spec/unit/type/exec_spec.rb +50 -101
- data/spec/unit/type/file/checksum_spec.rb +10 -9
- data/spec/unit/type/file/checksum_value_spec.rb +32 -31
- data/spec/unit/type/file/content_spec.rb +61 -58
- data/spec/unit/type/file/ctime_spec.rb +1 -0
- data/spec/unit/type/file/ensure_spec.rb +13 -12
- data/spec/unit/type/file/group_spec.rb +7 -5
- data/spec/unit/type/file/mode_spec.rb +6 -4
- data/spec/unit/type/file/mtime_spec.rb +1 -0
- data/spec/unit/type/file/owner_spec.rb +8 -6
- data/spec/unit/type/file/selinux_spec.rb +19 -17
- data/spec/unit/type/file/source_spec.rb +101 -104
- data/spec/unit/type/file/type_spec.rb +1 -0
- data/spec/unit/type/file_spec.rb +185 -195
- data/spec/unit/type/filebucket_spec.rb +10 -11
- data/spec/unit/type/group_spec.rb +8 -6
- data/spec/unit/type/noop_metaparam_spec.rb +2 -1
- data/spec/unit/type/package/package_settings_spec.rb +23 -44
- data/spec/unit/type/package_spec.rb +57 -56
- data/spec/unit/type/resources_spec.rb +74 -72
- data/spec/unit/type/schedule_spec.rb +26 -24
- data/spec/unit/type/service_spec.rb +75 -49
- data/spec/unit/type/stage_spec.rb +1 -0
- data/spec/unit/type/tidy_spec.rb +62 -61
- data/spec/unit/type/user_spec.rb +25 -24
- data/spec/unit/type/whit_spec.rb +1 -0
- data/spec/unit/type_spec.rb +54 -55
- data/spec/unit/util/at_fork_spec.rb +19 -18
- data/spec/unit/util/autoload_spec.rb +56 -55
- data/spec/unit/util/backups_spec.rb +35 -34
- data/spec/unit/util/character_encoding_spec.rb +5 -5
- data/spec/unit/util/checksums_spec.rb +39 -38
- data/spec/unit/util/colors_spec.rb +2 -1
- data/spec/unit/util/command_line_spec.rb +20 -40
- data/spec/unit/util/constant_inflector_spec.rb +1 -0
- data/spec/unit/util/diff_spec.rb +8 -7
- data/spec/unit/util/errors_spec.rb +1 -0
- data/spec/unit/util/execution_spec.rb +163 -187
- data/spec/unit/util/execution_stub_spec.rb +1 -0
- data/spec/unit/util/feature_spec.rb +14 -21
- 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 +31 -26
- data/spec/unit/util/json_lockfile_spec.rb +5 -3
- data/spec/unit/util/ldap/connection_spec.rb +25 -26
- data/spec/unit/util/ldap/generator_spec.rb +1 -0
- data/spec/unit/util/ldap/manager_spec.rb +101 -102
- data/spec/unit/util/lockfile_spec.rb +1 -0
- data/spec/unit/util/log/destinations_spec.rb +33 -30
- data/spec/unit/util/log_spec.rb +34 -48
- data/spec/unit/util/logging_spec.rb +72 -58
- data/spec/unit/util/metric_spec.rb +1 -0
- data/spec/unit/util/monkey_patches_spec.rb +9 -7
- data/spec/unit/util/multi_match_spec.rb +1 -0
- data/spec/unit/util/network_device/config_spec.rb +1 -0
- data/spec/unit/util/network_device/transport/base_spec.rb +6 -5
- data/spec/unit/util/network_device_spec.rb +9 -7
- data/spec/unit/util/package_spec.rb +1 -0
- data/spec/unit/util/pidlock_spec.rb +15 -60
- data/spec/unit/util/plist_spec.rb +33 -40
- data/spec/unit/util/posix_spec.rb +51 -54
- data/spec/unit/util/rdoc_spec.rb +10 -9
- data/spec/unit/util/reference_spec.rb +1 -0
- data/spec/unit/util/resource_template_spec.rb +20 -20
- data/spec/unit/util/retry_action_spec.rb +8 -7
- data/spec/unit/util/rubygems_spec.rb +8 -7
- data/spec/unit/util/run_mode_spec.rb +4 -3
- data/spec/unit/util/selinux_spec.rb +72 -79
- data/spec/unit/util/splayer_spec.rb +9 -8
- data/spec/unit/util/ssl_spec.rb +1 -0
- data/spec/unit/util/storage_spec.rb +23 -22
- data/spec/unit/util/suidmanager_spec.rb +54 -45
- data/spec/unit/util/symbolic_file_mode_spec.rb +1 -0
- data/spec/unit/util/tag_set_spec.rb +1 -0
- data/spec/unit/util/tagging_spec.rb +1 -0
- data/spec/unit/util/terminal_spec.rb +10 -9
- data/spec/unit/util/user_attr_spec.rb +2 -1
- data/spec/unit/util/warnings_spec.rb +4 -3
- data/spec/unit/util/watcher/periodic_watcher_spec.rb +2 -2
- data/spec/unit/util/watcher_spec.rb +21 -51
- data/spec/unit/util/windows/access_control_entry_spec.rb +1 -0
- data/spec/unit/util/windows/access_control_list_spec.rb +1 -0
- data/spec/unit/util/windows/adsi_spec.rb +138 -136
- data/spec/unit/util/windows/api_types_spec.rb +1 -0
- data/spec/unit/util/windows/eventlog_spec.rb +12 -9
- data/spec/unit/util/windows/file_spec.rb +1 -0
- data/spec/unit/util/windows/root_certs_spec.rb +1 -0
- data/spec/unit/util/windows/security_descriptor_spec.rb +2 -0
- data/spec/unit/util/windows/service_spec.rb +103 -100
- data/spec/unit/util/windows/sid_spec.rb +13 -11
- data/spec/unit/util/windows/string_spec.rb +1 -0
- data/spec/unit/util_spec.rb +57 -55
- data/spec/unit/version_spec.rb +6 -6
- metadata +20 -32
- data/CODEOWNERS +0 -30
- data/ext/autotest/Rakefile +0 -8
- data/ext/autotest/config +0 -43
- data/ext/autotest/readme.rst +0 -16
- data/lib/puppet/confine/boolean.rb +0 -45
- data/lib/puppet/provider/package_targetable.rb +0 -68
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
- data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
- data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
- data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
- data/spec/integration/network/http_pool_spec.rb +0 -120
- data/spec/integration/provider/file/windows_spec.rb +0 -162
- data/spec/lib/puppet_spec/https.rb +0 -166
- data/spec/unit/settings/server_list_setting_spec.rb +0 -21
- data/spec/watchr.rb +0 -137
@@ -1,3 +1,4 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
require 'yaml'
|
@@ -13,7 +14,7 @@ describe Puppet::Transaction::Persistence do
|
|
13
14
|
|
14
15
|
describe "when loading from file" do
|
15
16
|
before do
|
16
|
-
|
17
|
+
Puppet.settings.stubs(:use).returns(true)
|
17
18
|
end
|
18
19
|
|
19
20
|
describe "when the file/directory does not exist" do
|
@@ -47,7 +48,7 @@ describe Puppet::Transaction::Persistence do
|
|
47
48
|
property = "my"
|
48
49
|
value = "something"
|
49
50
|
|
50
|
-
|
51
|
+
Puppet.expects(:err).never
|
51
52
|
|
52
53
|
persistence = Puppet::Transaction::Persistence.new
|
53
54
|
persistence.set_system_value(resource, property, value)
|
@@ -61,7 +62,7 @@ describe Puppet::Transaction::Persistence do
|
|
61
62
|
test_yaml = {"resources"=>{"a"=>"b"}}
|
62
63
|
write_state_file(test_yaml.to_yaml)
|
63
64
|
|
64
|
-
|
65
|
+
Puppet.expects(:err).never
|
65
66
|
|
66
67
|
persistence = Puppet::Transaction::Persistence.new
|
67
68
|
persistence.load
|
@@ -72,7 +73,7 @@ describe Puppet::Transaction::Persistence do
|
|
72
73
|
it "should initialize with a clear internal state if the file does not contain valid YAML" do
|
73
74
|
write_state_file('{ invalid')
|
74
75
|
|
75
|
-
|
76
|
+
Puppet.expects(:send_log).with(:err, regexp_matches(/Transaction store file .* is corrupt/))
|
76
77
|
|
77
78
|
persistence = Puppet::Transaction::Persistence.new
|
78
79
|
persistence.load
|
@@ -83,7 +84,7 @@ describe Puppet::Transaction::Persistence do
|
|
83
84
|
it "should initialize with a clear internal state if the file does not contain a hash of data" do
|
84
85
|
write_state_file("not_a_hash")
|
85
86
|
|
86
|
-
|
87
|
+
Puppet.expects(:err).with(regexp_matches(/Transaction store file .* is valid YAML but not returning a hash/))
|
87
88
|
|
88
89
|
persistence = Puppet::Transaction::Persistence.new
|
89
90
|
persistence.load
|
@@ -94,10 +95,10 @@ describe Puppet::Transaction::Persistence do
|
|
94
95
|
it "should raise an error if the file does not contain valid YAML and cannot be renamed" do
|
95
96
|
write_state_file('{ invalid')
|
96
97
|
|
97
|
-
|
98
|
+
File.expects(:rename).raises(SystemCallError)
|
98
99
|
|
99
|
-
|
100
|
-
|
100
|
+
Puppet.expects(:send_log).with(:err, regexp_matches(/Transaction store file .* is corrupt/))
|
101
|
+
Puppet.expects(:send_log).with(:err, regexp_matches(/Unable to rename/))
|
101
102
|
|
102
103
|
persistence = Puppet::Transaction::Persistence.new
|
103
104
|
expect { persistence.load }.to raise_error(Puppet::Error, /Could not rename/)
|
@@ -106,9 +107,9 @@ describe Puppet::Transaction::Persistence do
|
|
106
107
|
it "should attempt to rename the file if the file is corrupted" do
|
107
108
|
write_state_file('{ invalid')
|
108
109
|
|
109
|
-
|
110
|
+
File.expects(:rename).at_least_once
|
110
111
|
|
111
|
-
|
112
|
+
Puppet.expects(:send_log).with(:err, regexp_matches(/Transaction store file .* is corrupt/))
|
112
113
|
|
113
114
|
persistence = Puppet::Transaction::Persistence.new
|
114
115
|
persistence.load
|
@@ -118,7 +119,7 @@ describe Puppet::Transaction::Persistence do
|
|
118
119
|
FileUtils.rm_f(@tmpfile)
|
119
120
|
Dir.mkdir(@tmpfile)
|
120
121
|
|
121
|
-
|
122
|
+
Puppet.expects(:warning).with(regexp_matches(/Transaction store file .* is not a file/))
|
122
123
|
|
123
124
|
persistence = Puppet::Transaction::Persistence.new
|
124
125
|
persistence.load
|
@@ -177,7 +178,7 @@ describe Puppet::Transaction::Persistence do
|
|
177
178
|
|
178
179
|
describe "when checking if persistence is enabled" do
|
179
180
|
let(:mock_catalog) do
|
180
|
-
|
181
|
+
mock
|
181
182
|
end
|
182
183
|
|
183
184
|
let (:persistence) do
|
@@ -194,25 +195,25 @@ describe Puppet::Transaction::Persistence do
|
|
194
195
|
|
195
196
|
it "should not be enabled when not running in agent mode" do
|
196
197
|
Puppet.settings.preferred_run_mode = :user
|
197
|
-
|
198
|
+
mock_catalog.stubs(:host_config?).returns(true)
|
198
199
|
expect(persistence.enabled?(mock_catalog)).to be false
|
199
200
|
end
|
200
201
|
|
201
202
|
it "should not be enabled when the catalog is not the host catalog" do
|
202
203
|
Puppet.settings.preferred_run_mode = :agent
|
203
|
-
|
204
|
+
mock_catalog.stubs(:host_config?).returns(false)
|
204
205
|
expect(persistence.enabled?(mock_catalog)).to be false
|
205
206
|
end
|
206
207
|
|
207
208
|
it "should not be enabled outside of agent mode and the catalog is not the host catalog" do
|
208
209
|
Puppet.settings.preferred_run_mode = :user
|
209
|
-
|
210
|
+
mock_catalog.stubs(:host_config?).returns(false)
|
210
211
|
expect(persistence.enabled?(mock_catalog)).to be false
|
211
212
|
end
|
212
213
|
|
213
214
|
it "should be enabled in agent mode and when the catalog is the host catalog" do
|
214
215
|
Puppet.settings.preferred_run_mode = :agent
|
215
|
-
|
216
|
+
mock_catalog.stubs(:host_config?).returns(true)
|
216
217
|
expect(persistence.enabled?(mock_catalog)).to be true
|
217
218
|
end
|
218
219
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
require 'puppet'
|
@@ -9,7 +10,7 @@ describe Puppet::Transaction::Report do
|
|
9
10
|
include PuppetSpec::Files
|
10
11
|
|
11
12
|
before do
|
12
|
-
|
13
|
+
Puppet::Util::Storage.stubs(:store)
|
13
14
|
end
|
14
15
|
|
15
16
|
it "should set its host name to the node_name_value" do
|
@@ -23,7 +24,7 @@ describe Puppet::Transaction::Report do
|
|
23
24
|
end
|
24
25
|
|
25
26
|
it "should create an initialization timestamp" do
|
26
|
-
|
27
|
+
Time.expects(:now).returns "mytime"
|
27
28
|
expect(Puppet::Transaction::Report.new.time).to eq("mytime")
|
28
29
|
end
|
29
30
|
|
@@ -115,7 +116,7 @@ describe Puppet::Transaction::Report do
|
|
115
116
|
end
|
116
117
|
|
117
118
|
it "should not include whits" do
|
118
|
-
|
119
|
+
Puppet::FileBucket::File.indirection.stubs(:save)
|
119
120
|
|
120
121
|
filename = tmpfile('whit_test')
|
121
122
|
file = Puppet::Type.type(:file).new(:path => filename)
|
@@ -166,7 +167,7 @@ describe Puppet::Transaction::Report do
|
|
166
167
|
end
|
167
168
|
|
168
169
|
it "should add each status to its status list" do
|
169
|
-
status =
|
170
|
+
status = stub 'status', :resource => "foo"
|
170
171
|
@report.add_resource_status status
|
171
172
|
expect(@report.resource_statuses["foo"]).to equal(status)
|
172
173
|
end
|
@@ -174,11 +175,11 @@ describe Puppet::Transaction::Report do
|
|
174
175
|
|
175
176
|
describe "when using the indirector" do
|
176
177
|
it "should redirect :save to the indirection" do
|
177
|
-
|
178
|
-
@indirection =
|
179
|
-
|
178
|
+
Facter.stubs(:value).returns("eh")
|
179
|
+
@indirection = stub 'indirection', :name => :report
|
180
|
+
Puppet::Transaction::Report.stubs(:indirection).returns(@indirection)
|
180
181
|
report = Puppet::Transaction::Report.new
|
181
|
-
|
182
|
+
@indirection.expects(:save)
|
182
183
|
Puppet::Transaction::Report.indirection.save(report)
|
183
184
|
end
|
184
185
|
|
@@ -188,7 +189,7 @@ describe Puppet::Transaction::Report do
|
|
188
189
|
|
189
190
|
it "should delegate its name attribute to its host method" do
|
190
191
|
report = Puppet::Transaction::Report.new
|
191
|
-
|
192
|
+
report.expects(:host).returns "me"
|
192
193
|
expect(report.name).to eq("me")
|
193
194
|
end
|
194
195
|
end
|
@@ -454,7 +455,7 @@ describe Puppet::Transaction::Report do
|
|
454
455
|
|
455
456
|
describe "when producing a summary" do
|
456
457
|
before do
|
457
|
-
|
458
|
+
Benchmark.stubs(:realtime).returns(5.05683418)
|
458
459
|
resource = Puppet::Type.type(:notify).new(:name => "testing")
|
459
460
|
catalog = Puppet::Resource::Catalog.new
|
460
461
|
catalog.add_resource resource
|
@@ -473,7 +474,7 @@ describe Puppet::Transaction::Report do
|
|
473
474
|
end
|
474
475
|
|
475
476
|
it "should include the last run time in the raw summary hash" do
|
476
|
-
|
477
|
+
Time.stubs(:now).returns(Time.utc(2010,11,10,12,0,24))
|
477
478
|
expect(@report.raw_summary["time"]["last_run"]).to eq(1289390424)
|
478
479
|
end
|
479
480
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
require 'puppet/transaction/resource_harness'
|
@@ -14,7 +15,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
14
15
|
@resource = Puppet::Type.type(:file).new :path => path
|
15
16
|
@harness = Puppet::Transaction::ResourceHarness.new(@transaction)
|
16
17
|
@current_state = Puppet::Resource.new(:file, path)
|
17
|
-
|
18
|
+
@resource.stubs(:retrieve).returns @current_state
|
18
19
|
end
|
19
20
|
|
20
21
|
it "should accept a transaction at initialization" do
|
@@ -23,7 +24,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
23
24
|
end
|
24
25
|
|
25
26
|
it "should delegate to the transaction for its relationship graph" do
|
26
|
-
|
27
|
+
@transaction.expects(:relationship_graph).returns "relgraph"
|
27
28
|
expect(Puppet::Transaction::ResourceHarness.new(@transaction).relationship_graph).to eq("relgraph")
|
28
29
|
end
|
29
30
|
|
@@ -37,14 +38,14 @@ describe Puppet::Transaction::ResourceHarness do
|
|
37
38
|
end
|
38
39
|
|
39
40
|
it "retrieves the current state of the resource" do
|
40
|
-
|
41
|
+
@resource.expects(:retrieve).returns @current_state
|
41
42
|
|
42
43
|
@harness.evaluate(@resource)
|
43
44
|
end
|
44
45
|
|
45
46
|
it "produces a failure status for the resource when an error occurs" do
|
46
47
|
the_message = "retrieve failed in testing"
|
47
|
-
|
48
|
+
@resource.expects(:retrieve).raises(ArgumentError.new(the_message))
|
48
49
|
|
49
50
|
status = @harness.evaluate(@resource)
|
50
51
|
|
@@ -289,7 +290,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
289
290
|
before :each do
|
290
291
|
stub_provider = make_stub_provider
|
291
292
|
resource = stub_provider.new :name => 'name', :foo => 1, :bar => 2
|
292
|
-
|
293
|
+
resource.expects(:err).never
|
293
294
|
@status = @harness.evaluate(resource)
|
294
295
|
end
|
295
296
|
|
@@ -308,7 +309,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
308
309
|
before :each do
|
309
310
|
stub_provider = make_stub_provider
|
310
311
|
@resource = stub_provider.new :name => 'name', :baz => 1
|
311
|
-
|
312
|
+
@resource.expects(:err).never
|
312
313
|
end
|
313
314
|
|
314
315
|
it "should log and pass the exception through" do
|
@@ -322,7 +323,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
322
323
|
before :each do
|
323
324
|
stub_provider = make_stub_provider
|
324
325
|
@resource = stub_provider.new :name => 'name', :brillig => 1
|
325
|
-
|
326
|
+
@resource.expects(:err).never
|
326
327
|
end
|
327
328
|
|
328
329
|
it "should record a failure event" do
|
@@ -337,7 +338,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
337
338
|
before :each do
|
338
339
|
stub_provider = make_stub_provider
|
339
340
|
@resource = stub_provider.new :name => 'name', :slithy => 1
|
340
|
-
|
341
|
+
@resource.expects(:err).never
|
341
342
|
end
|
342
343
|
|
343
344
|
it "should log and pass the exception through" do
|
@@ -351,7 +352,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
351
352
|
it "should not call insync? on parameters that are merely audited" do
|
352
353
|
stub_provider = make_stub_provider
|
353
354
|
resource = stub_provider.new :name => 'name', :audit => ['foo']
|
354
|
-
|
355
|
+
resource.property(:foo).expects(:insync?).never
|
355
356
|
status = @harness.evaluate(resource)
|
356
357
|
|
357
358
|
expect(status.events).to be_empty
|
@@ -361,7 +362,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
361
362
|
test_file = tmpfile('foo')
|
362
363
|
File.open(test_file, 'w').close
|
363
364
|
resource = Puppet::Type.type(:file).new :path => test_file, :audit => ['group'], :backup => false
|
364
|
-
|
365
|
+
resource.expects(:err).never # make sure no exceptions get swallowed
|
365
366
|
|
366
367
|
status = @harness.evaluate(resource)
|
367
368
|
|
@@ -387,9 +388,11 @@ describe Puppet::Transaction::ResourceHarness do
|
|
387
388
|
# set up the sequence of stubs; yeah, this is pretty
|
388
389
|
# brittle, so this might need to be adjusted if the
|
389
390
|
# resource_harness logic changes
|
390
|
-
|
391
|
-
|
392
|
-
|
391
|
+
resource.expects(:retrieve).returns(current_from_filesystem)
|
392
|
+
Puppet::Util::Storage.stubs(:cache).with(resource).
|
393
|
+
returns(historical_from_state_yaml).then.
|
394
|
+
returns(current_from_filesystem).then.
|
395
|
+
returns(current_from_filesystem)
|
393
396
|
|
394
397
|
# there should be an audit change recorded, since the two
|
395
398
|
# timestamps differ by at least 1 microsecond
|
@@ -418,9 +421,11 @@ describe Puppet::Transaction::ResourceHarness do
|
|
418
421
|
# set up the sequence of stubs; yeah, this is pretty
|
419
422
|
# brittle, so this might need to be adjusted if the
|
420
423
|
# resource_harness logic changes
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
+
resource.expects(:retrieve).returns(current_from_filesystem)
|
425
|
+
Puppet::Util::Storage.stubs(:cache).with(resource).
|
426
|
+
returns(historical_from_state_yaml).then.
|
427
|
+
returns(current_from_filesystem).then.
|
428
|
+
returns(current_from_filesystem)
|
424
429
|
|
425
430
|
# there should be no audit change recorded, despite the
|
426
431
|
# slight difference in the two timestamps
|
@@ -471,19 +476,19 @@ describe Puppet::Transaction::ResourceHarness do
|
|
471
476
|
end
|
472
477
|
|
473
478
|
it "redacts notices when a parameter is newly audited" do
|
474
|
-
|
479
|
+
resource.property(:content).expects(:notice).with("audit change: newly-recorded value [redacted]")
|
475
480
|
@harness.evaluate(resource)
|
476
481
|
end
|
477
482
|
|
478
483
|
it "redacts event messages for sensitive properties" do
|
479
|
-
|
484
|
+
Puppet::Util::Storage.stubs(:cache).with(resource).returns({:content => "historical world"})
|
480
485
|
status = @harness.evaluate(resource)
|
481
486
|
sync_event = status.events[0]
|
482
487
|
expect(sync_event.message).to eq 'changed [redacted] to [redacted] (previously recorded value was [redacted])'
|
483
488
|
end
|
484
489
|
|
485
490
|
it "redacts audit event messages for sensitive properties when simulating noop changes" do
|
486
|
-
|
491
|
+
Puppet::Util::Storage.stubs(:cache).with(resource).returns({:content => "historical world"})
|
487
492
|
resource[:noop] = true
|
488
493
|
status = @harness.evaluate(resource)
|
489
494
|
sync_event = status.events[0]
|
@@ -491,7 +496,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
491
496
|
end
|
492
497
|
|
493
498
|
it "redacts event contents for sensitive properties" do
|
494
|
-
|
499
|
+
Puppet::Util::Storage.stubs(:cache).with(resource).returns({:content => "historical world"})
|
495
500
|
status = @harness.evaluate(resource)
|
496
501
|
sync_event = status.events[0]
|
497
502
|
expect(sync_event.historical_value).to eq '[redacted]'
|
@@ -530,7 +535,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
530
535
|
|
531
536
|
it "should warn and return nil if the resource has no catalog" do
|
532
537
|
@resource.catalog = nil
|
533
|
-
|
538
|
+
@resource.expects(:warning)
|
534
539
|
|
535
540
|
expect(@harness.schedule(@resource)).to be_nil
|
536
541
|
end
|
@@ -541,7 +546,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
541
546
|
|
542
547
|
it "should fail if the named schedule cannot be found" do
|
543
548
|
@resource[:schedule] = "whatever"
|
544
|
-
|
549
|
+
@resource.expects(:fail)
|
545
550
|
@harness.schedule(@resource)
|
546
551
|
end
|
547
552
|
|
@@ -571,13 +576,13 @@ describe Puppet::Transaction::ResourceHarness do
|
|
571
576
|
|
572
577
|
it "should return the result of matching the schedule with the cached 'checked' time if a schedule is set" do
|
573
578
|
t = Time.now
|
574
|
-
|
579
|
+
@harness.expects(:cached).with(@resource, :checked).returns(t)
|
575
580
|
|
576
581
|
sched = Puppet::Type.type(:schedule).new(:name => "sched")
|
577
582
|
@catalog.add_resource(sched)
|
578
583
|
@resource[:schedule] = "sched"
|
579
584
|
|
580
|
-
|
585
|
+
sched.expects(:match?).with(t.to_i).returns "feh"
|
581
586
|
|
582
587
|
expect(@harness.scheduled?(@resource)).to eq("feh")
|
583
588
|
end
|
@@ -585,7 +590,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
585
590
|
|
586
591
|
it "should be able to cache data in the Storage module" do
|
587
592
|
data = {}
|
588
|
-
|
593
|
+
Puppet::Util::Storage.expects(:cache).with(@resource).returns data
|
589
594
|
@harness.cache(@resource, :foo, "something")
|
590
595
|
|
591
596
|
expect(data[:foo]).to eq("something")
|
@@ -593,33 +598,7 @@ describe Puppet::Transaction::ResourceHarness do
|
|
593
598
|
|
594
599
|
it "should be able to retrieve data from the cache" do
|
595
600
|
data = {:foo => "other"}
|
596
|
-
|
601
|
+
Puppet::Util::Storage.expects(:cache).with(@resource).returns data
|
597
602
|
expect(@harness.cached(@resource, :foo)).to eq("other")
|
598
603
|
end
|
599
|
-
|
600
|
-
describe "successful event message" do
|
601
|
-
let(:test_file) do
|
602
|
-
tmpfile('foo').tap do |path|
|
603
|
-
File.open(path, 'w') { |fh| fh.write("old contents") }
|
604
|
-
end
|
605
|
-
end
|
606
|
-
|
607
|
-
let(:resource) do
|
608
|
-
Puppet::Type.type(:file).new(:path => test_file, :backup => false, :content => "hello world")
|
609
|
-
end
|
610
|
-
|
611
|
-
it "contains (corrective) when corrective change" do
|
612
|
-
allow_any_instance_of(Puppet::Transaction::Event).to receive(:corrective_change).and_return(true)
|
613
|
-
status = @harness.evaluate(resource)
|
614
|
-
sync_event = status.events[0]
|
615
|
-
expect(sync_event.message).to match(/content changed '{md5}[0-9a-f]+' to '{md5}[0-9a-f]+' \(corrective\)/)
|
616
|
-
end
|
617
|
-
|
618
|
-
it "contains no modifier when intentional change" do
|
619
|
-
allow_any_instance_of(Puppet::Transaction::Event).to receive(:corrective_change).and_return(false)
|
620
|
-
status = @harness.evaluate(resource)
|
621
|
-
sync_event = status.events[0]
|
622
|
-
expect(sync_event.message).to match(/content changed '{md5}[0-9a-f]+' to '{md5}[0-9a-f]+'$/)
|
623
|
-
end
|
624
|
-
end
|
625
604
|
end
|
@@ -3,7 +3,6 @@ require 'matchers/include_in_order'
|
|
3
3
|
require 'puppet_spec/compiler'
|
4
4
|
|
5
5
|
require 'puppet/transaction'
|
6
|
-
require 'puppet/type/notify'
|
7
6
|
require 'fileutils'
|
8
7
|
|
9
8
|
describe Puppet::Transaction do
|
@@ -89,7 +88,7 @@ describe Puppet::Transaction do
|
|
89
88
|
report = Puppet::Transaction::Report.new
|
90
89
|
catalog.retrieval_duration = 5
|
91
90
|
|
92
|
-
|
91
|
+
report.expects(:add_times).with(:config_retrieval, 5)
|
93
92
|
|
94
93
|
Puppet::Transaction.new(catalog, report, nil)
|
95
94
|
end
|
@@ -101,8 +100,8 @@ describe Puppet::Transaction do
|
|
101
100
|
it "should process events" do
|
102
101
|
transaction = transaction_with_resource(resource)
|
103
102
|
|
104
|
-
|
105
|
-
|
103
|
+
transaction.expects(:skip?).with(resource).returns false
|
104
|
+
transaction.event_manager.expects(:process_events).with(resource)
|
106
105
|
|
107
106
|
transaction.evaluate
|
108
107
|
end
|
@@ -111,7 +110,7 @@ describe Puppet::Transaction do
|
|
111
110
|
it "should mark the resource's status as skipped" do
|
112
111
|
transaction = transaction_with_resource(resource)
|
113
112
|
|
114
|
-
|
113
|
+
transaction.expects(:skip?).with(resource).returns true
|
115
114
|
|
116
115
|
transaction.evaluate
|
117
116
|
expect(transaction.resource_status(resource)).to be_skipped
|
@@ -119,15 +118,15 @@ describe Puppet::Transaction do
|
|
119
118
|
|
120
119
|
it "does not process any scheduled events" do
|
121
120
|
transaction = transaction_with_resource(resource)
|
122
|
-
|
123
|
-
|
121
|
+
transaction.expects(:skip?).with(resource).returns true
|
122
|
+
transaction.event_manager.expects(:process_events).with(resource).never
|
124
123
|
transaction.evaluate
|
125
124
|
end
|
126
125
|
|
127
126
|
it "dequeues all events scheduled on that resource" do
|
128
127
|
transaction = transaction_with_resource(resource)
|
129
|
-
|
130
|
-
|
128
|
+
transaction.expects(:skip?).with(resource).returns true
|
129
|
+
transaction.event_manager.expects(:dequeue_all_events_for_resource).with(resource)
|
131
130
|
transaction.evaluate
|
132
131
|
end
|
133
132
|
end
|
@@ -136,7 +135,7 @@ describe Puppet::Transaction do
|
|
136
135
|
describe "when evaluating a skipped resource for corrective change it" do
|
137
136
|
before :each do
|
138
137
|
# Enable persistence during tests
|
139
|
-
|
138
|
+
Puppet::Transaction::Persistence.any_instance.stubs(:enabled?).returns(true)
|
140
139
|
end
|
141
140
|
|
142
141
|
it "should persist in the transactionstore" do
|
@@ -148,8 +147,8 @@ describe Puppet::Transaction do
|
|
148
147
|
expect(transaction.resource_status(resource)).to be_changed
|
149
148
|
|
150
149
|
transaction = transaction_with_resource(resource)
|
151
|
-
|
152
|
-
|
150
|
+
transaction.expects(:skip?).with(resource).returns true
|
151
|
+
transaction.event_manager.expects(:process_events).with(resource).never
|
153
152
|
transaction.evaluate
|
154
153
|
expect(transaction.resource_status(resource)).to be_skipped
|
155
154
|
|
@@ -167,35 +166,35 @@ describe Puppet::Transaction do
|
|
167
166
|
@status = Puppet::Resource::Status.new(@resource)
|
168
167
|
|
169
168
|
@transaction = Puppet::Transaction.new(@catalog, nil, Puppet::Graph::SequentialPrioritizer.new)
|
170
|
-
|
169
|
+
@transaction.event_manager.stubs(:queue_events)
|
171
170
|
end
|
172
171
|
|
173
172
|
it "should use its resource harness to apply the resource" do
|
174
|
-
|
173
|
+
@transaction.resource_harness.expects(:evaluate).with(@resource)
|
175
174
|
@transaction.evaluate
|
176
175
|
end
|
177
176
|
|
178
177
|
it "should add the resulting resource status to its status list" do
|
179
|
-
|
178
|
+
@transaction.resource_harness.stubs(:evaluate).returns(@status)
|
180
179
|
@transaction.evaluate
|
181
180
|
expect(@transaction.resource_status(@resource)).to be_instance_of(Puppet::Resource::Status)
|
182
181
|
end
|
183
182
|
|
184
183
|
it "should queue any events added to the resource status" do
|
185
|
-
|
186
|
-
|
187
|
-
|
184
|
+
@transaction.resource_harness.stubs(:evaluate).returns(@status)
|
185
|
+
@status.expects(:events).returns %w{a b}
|
186
|
+
@transaction.event_manager.expects(:queue_events).with(@resource, ["a", "b"])
|
188
187
|
@transaction.evaluate
|
189
188
|
end
|
190
189
|
|
191
190
|
it "should log and skip any resources that cannot be applied" do
|
192
|
-
|
191
|
+
@resource.expects(:properties).raises ArgumentError
|
193
192
|
@transaction.evaluate
|
194
193
|
expect(@transaction.report.resource_statuses[@resource.to_s]).to be_failed
|
195
194
|
end
|
196
195
|
|
197
196
|
it "should report any_failed if any resources failed" do
|
198
|
-
|
197
|
+
@resource.expects(:properties).raises ArgumentError
|
199
198
|
@transaction.evaluate
|
200
199
|
|
201
200
|
expect(@transaction).to be_any_failed
|
@@ -235,8 +234,8 @@ describe Puppet::Transaction do
|
|
235
234
|
end
|
236
235
|
|
237
236
|
it "should warn if there are no blockers" do
|
238
|
-
vertex =
|
239
|
-
|
237
|
+
vertex = stub('vertex')
|
238
|
+
vertex.expects(:warning).with "appears to have a negative number of dependencies"
|
240
239
|
graph.blockers[vertex] = 0
|
241
240
|
|
242
241
|
graph.unblock(vertex)
|
@@ -264,7 +263,7 @@ describe Puppet::Transaction do
|
|
264
263
|
end
|
265
264
|
|
266
265
|
it "should yield the resource even if eval_generate is called" do
|
267
|
-
|
266
|
+
Puppet::Transaction::AdditionalResourceGenerator.any_instance.expects(:eval_generate).with(resource).returns true
|
268
267
|
|
269
268
|
yielded = false
|
270
269
|
@transaction.evaluate do |res|
|
@@ -275,7 +274,7 @@ describe Puppet::Transaction do
|
|
275
274
|
end
|
276
275
|
|
277
276
|
it "should prefetch the provider if necessary" do
|
278
|
-
|
277
|
+
@transaction.expects(:prefetch_if_necessary).with(resource)
|
279
278
|
|
280
279
|
@transaction.evaluate {}
|
281
280
|
end
|
@@ -308,7 +307,7 @@ describe Puppet::Transaction do
|
|
308
307
|
dependent = Puppet::Type.type(:notify).new(:name => "hello", :require => resource)
|
309
308
|
@transaction.catalog.add_resource(dependent)
|
310
309
|
|
311
|
-
|
310
|
+
resource.stubs(:suitable?).returns false
|
312
311
|
|
313
312
|
evaluated = []
|
314
313
|
@transaction.evaluate do |res|
|
@@ -331,20 +330,20 @@ describe Puppet::Transaction do
|
|
331
330
|
|
332
331
|
before :each do
|
333
332
|
catalog.add_resource generator
|
334
|
-
|
333
|
+
generator.stubs(:generate).returns generated
|
335
334
|
# avoid crude failures because of nil resources that result
|
336
335
|
# from implicit containment and lacking containers
|
337
|
-
|
336
|
+
catalog.stubs(:container_of).returns generator
|
338
337
|
end
|
339
338
|
|
340
339
|
it "should call 'generate' on all created resources" do
|
341
|
-
generated.each { |res|
|
340
|
+
generated.each { |res| res.expects(:generate) }
|
342
341
|
|
343
342
|
transaction.evaluate
|
344
343
|
end
|
345
344
|
|
346
345
|
it "should finish all resources" do
|
347
|
-
generated.each { |res|
|
346
|
+
generated.each { |res| res.expects(:finish) }
|
348
347
|
|
349
348
|
transaction.evaluate
|
350
349
|
end
|
@@ -369,29 +368,30 @@ describe Puppet::Transaction do
|
|
369
368
|
|
370
369
|
before :each do
|
371
370
|
generator = Puppet::Transaction::AdditionalResourceGenerator.new(catalog, nil, prioritizer)
|
372
|
-
|
371
|
+
Puppet::Transaction::AdditionalResourceGenerator.stubs(:new).returns(generator)
|
373
372
|
end
|
374
373
|
|
375
374
|
it "should should query the generator for whether resources failed to generate" do
|
376
375
|
relationship_graph = Puppet::Graph::RelationshipGraph.new(prioritizer)
|
377
|
-
|
376
|
+
catalog.stubs(:relationship_graph).returns(relationship_graph)
|
378
377
|
|
379
|
-
|
380
|
-
|
378
|
+
sequence = sequence(:traverse_first)
|
379
|
+
relationship_graph.expects(:traverse).in_sequence(sequence)
|
380
|
+
generator.expects(:resources_failed_to_generate).in_sequence(sequence)
|
381
381
|
|
382
382
|
transaction.evaluate
|
383
383
|
end
|
384
384
|
|
385
385
|
it "should report that resources failed to generate" do
|
386
|
-
|
387
|
-
|
386
|
+
generator.expects(:resources_failed_to_generate).returns(true)
|
387
|
+
report.expects(:resources_failed_to_generate=).with(true)
|
388
388
|
|
389
389
|
transaction.evaluate
|
390
390
|
end
|
391
391
|
|
392
392
|
it "should not report that resources failed to generate if none did" do
|
393
|
-
|
394
|
-
|
393
|
+
generator.expects(:resources_failed_to_generate).returns(false)
|
394
|
+
report.expects(:resources_failed_to_generate=).never
|
395
395
|
|
396
396
|
transaction.evaluate
|
397
397
|
end
|
@@ -403,20 +403,20 @@ describe Puppet::Transaction do
|
|
403
403
|
let(:spec_exception) { 'spec-exception' }
|
404
404
|
|
405
405
|
it "should invoke each resource's hook and apply the catalog after no failures" do
|
406
|
-
|
406
|
+
resource.expects(:pre_run_check)
|
407
407
|
|
408
408
|
transaction.evaluate
|
409
409
|
end
|
410
410
|
|
411
411
|
it "should abort the transaction on failure" do
|
412
|
-
|
412
|
+
resource.expects(:pre_run_check).raises(Puppet::Error, spec_exception)
|
413
413
|
|
414
414
|
expect { transaction.evaluate }.to raise_error(Puppet::Error, /Some pre-run checks failed/)
|
415
415
|
end
|
416
416
|
|
417
417
|
it "should log the resource-specific exception" do
|
418
|
-
|
419
|
-
|
418
|
+
resource.expects(:pre_run_check).raises(Puppet::Error, spec_exception)
|
419
|
+
resource.expects(:log_exception).with(responds_with(:message, spec_exception))
|
420
420
|
|
421
421
|
expect { transaction.evaluate }.to raise_error(Puppet::Error)
|
422
422
|
end
|
@@ -431,61 +431,61 @@ describe Puppet::Transaction do
|
|
431
431
|
end
|
432
432
|
|
433
433
|
it "should skip resource with missing tags" do
|
434
|
-
|
434
|
+
@transaction.stubs(:missing_tags?).returns(true)
|
435
435
|
expect(@transaction).to be_skip(@resource)
|
436
436
|
end
|
437
437
|
|
438
438
|
it "should skip resources tagged with the skip tags" do
|
439
|
-
|
439
|
+
@transaction.stubs(:skip_tags?).returns(true)
|
440
440
|
expect(@transaction).to be_skip(@resource)
|
441
441
|
end
|
442
442
|
|
443
443
|
it "should skip unscheduled resources" do
|
444
|
-
|
444
|
+
@transaction.stubs(:scheduled?).returns(false)
|
445
445
|
expect(@transaction).to be_skip(@resource)
|
446
446
|
end
|
447
447
|
|
448
448
|
it "should skip resources with failed dependencies" do
|
449
|
-
|
449
|
+
@transaction.stubs(:failed_dependencies?).returns(true)
|
450
450
|
expect(@transaction).to be_skip(@resource)
|
451
451
|
end
|
452
452
|
|
453
453
|
it "should skip virtual resource" do
|
454
|
-
|
454
|
+
@resource.stubs(:virtual?).returns true
|
455
455
|
expect(@transaction).to be_skip(@resource)
|
456
456
|
end
|
457
457
|
|
458
458
|
it "should skip device only resouce on normal host" do
|
459
|
-
|
460
|
-
|
459
|
+
@resource.stubs(:appliable_to_host?).returns false
|
460
|
+
@resource.stubs(:appliable_to_device?).returns true
|
461
461
|
@transaction.for_network_device = false
|
462
462
|
expect(@transaction).to be_skip(@resource)
|
463
463
|
end
|
464
464
|
|
465
465
|
it "should not skip device only resouce on remote device" do
|
466
|
-
|
467
|
-
|
466
|
+
@resource.stubs(:appliable_to_host?).returns false
|
467
|
+
@resource.stubs(:appliable_to_device?).returns true
|
468
468
|
@transaction.for_network_device = true
|
469
469
|
expect(@transaction).not_to be_skip(@resource)
|
470
470
|
end
|
471
471
|
|
472
472
|
it "should skip host resouce on device" do
|
473
|
-
|
474
|
-
|
473
|
+
@resource.stubs(:appliable_to_host?).returns true
|
474
|
+
@resource.stubs(:appliable_to_device?).returns false
|
475
475
|
@transaction.for_network_device = true
|
476
476
|
expect(@transaction).to be_skip(@resource)
|
477
477
|
end
|
478
478
|
|
479
479
|
it "should not skip resouce available on both device and host when on device" do
|
480
|
-
|
481
|
-
|
480
|
+
@resource.stubs(:appliable_to_host?).returns true
|
481
|
+
@resource.stubs(:appliable_to_device?).returns true
|
482
482
|
@transaction.for_network_device = true
|
483
483
|
expect(@transaction).not_to be_skip(@resource)
|
484
484
|
end
|
485
485
|
|
486
486
|
it "should not skip resouce available on both device and host when on host" do
|
487
|
-
|
488
|
-
|
487
|
+
@resource.stubs(:appliable_to_host?).returns true
|
488
|
+
@resource.stubs(:appliable_to_device?).returns true
|
489
489
|
@transaction.for_network_device = false
|
490
490
|
expect(@transaction).not_to be_skip(@resource)
|
491
491
|
end
|
@@ -498,20 +498,20 @@ describe Puppet::Transaction do
|
|
498
498
|
@resource.catalog = @catalog
|
499
499
|
@transaction = Puppet::Transaction.new(@catalog, nil, nil)
|
500
500
|
|
501
|
-
|
501
|
+
@transaction.stubs(:ignore_tags?).returns false
|
502
502
|
end
|
503
503
|
|
504
504
|
it "should not be missing tags if tags are being ignored" do
|
505
|
-
|
505
|
+
@transaction.expects(:ignore_tags?).returns true
|
506
506
|
|
507
|
-
|
507
|
+
@resource.expects(:tagged?).never
|
508
508
|
|
509
509
|
expect(@transaction).not_to be_missing_tags(@resource)
|
510
510
|
end
|
511
511
|
|
512
512
|
it "should not be missing tags if the transaction tags are empty" do
|
513
513
|
@transaction.tags = []
|
514
|
-
|
514
|
+
@resource.expects(:tagged?).never
|
515
515
|
expect(@transaction).not_to be_missing_tags(@resource)
|
516
516
|
end
|
517
517
|
|
@@ -532,14 +532,14 @@ describe Puppet::Transaction do
|
|
532
532
|
|
533
533
|
it "should always schedule resources if 'ignoreschedules' is set" do
|
534
534
|
@transaction.ignoreschedules = true
|
535
|
-
|
535
|
+
@transaction.resource_harness.expects(:scheduled?).never
|
536
536
|
|
537
537
|
@transaction.evaluate
|
538
538
|
expect(@transaction.resource_status(@resource)).to be_changed
|
539
539
|
end
|
540
540
|
|
541
541
|
it "should let the resource harness determine whether the resource should be scheduled" do
|
542
|
-
|
542
|
+
@transaction.resource_harness.expects(:scheduled?).with(@resource).returns "feh"
|
543
543
|
|
544
544
|
@transaction.evaluate
|
545
545
|
end
|
@@ -552,13 +552,13 @@ describe Puppet::Transaction do
|
|
552
552
|
let(:resource2) { Puppet::Type.type(:package).new :title => "blah", :provider => :apt }
|
553
553
|
|
554
554
|
before :each do
|
555
|
-
|
555
|
+
resource.stubs(:suitable?).returns(true)
|
556
556
|
catalog.add_resource resource
|
557
557
|
catalog.add_resource resource2
|
558
558
|
end
|
559
559
|
|
560
560
|
it "should match resources by name, not title" do
|
561
|
-
|
561
|
+
resource.provider.class.expects(:prefetch).with("bar" => resource)
|
562
562
|
|
563
563
|
transaction.prefetch_if_necessary(resource)
|
564
564
|
end
|
@@ -566,13 +566,13 @@ describe Puppet::Transaction do
|
|
566
566
|
it "should not prefetch a provider which has already been prefetched" do
|
567
567
|
transaction.prefetched_providers[:package][:pkgng] = true
|
568
568
|
|
569
|
-
|
569
|
+
resource.provider.class.expects(:prefetch).never
|
570
570
|
|
571
571
|
transaction.prefetch_if_necessary(resource)
|
572
572
|
end
|
573
573
|
|
574
574
|
it "should mark the provider prefetched" do
|
575
|
-
|
575
|
+
resource.provider.class.stubs(:prefetch)
|
576
576
|
|
577
577
|
transaction.prefetch_if_necessary(resource)
|
578
578
|
|
@@ -585,8 +585,8 @@ describe Puppet::Transaction do
|
|
585
585
|
|
586
586
|
catalog.add_resource other
|
587
587
|
|
588
|
-
|
589
|
-
|
588
|
+
resource.class.stubs(:defaultprovider).returns(resource.provider.class)
|
589
|
+
resource.provider.class.expects(:prefetch).with('bar' => resource, 'other' => other)
|
590
590
|
|
591
591
|
transaction.prefetch_if_necessary(resource)
|
592
592
|
end
|
@@ -594,38 +594,14 @@ describe Puppet::Transaction do
|
|
594
594
|
it "should not prefetch a provider which has failed" do
|
595
595
|
transaction.prefetch_failed_providers[:package][:pkgng] = true
|
596
596
|
|
597
|
-
|
597
|
+
resource.provider.class.expects(:prefetch).never
|
598
598
|
|
599
599
|
transaction.prefetch_if_necessary(resource)
|
600
600
|
end
|
601
601
|
|
602
|
-
it "should not rescue SystemExit without future_features flag" do
|
603
|
-
Puppet.settings[:future_features] = false
|
604
|
-
expect(resource.provider.class).to receive(:prefetch).and_raise(SystemExit, "SystemMessage")
|
605
|
-
expect { transaction.prefetch_if_necessary(resource) }.to raise_error(SystemExit, "SystemMessage")
|
606
|
-
end
|
607
|
-
|
608
|
-
it "should not rescue SystemExit with future_features flag" do
|
609
|
-
Puppet.settings[:future_features] = true
|
610
|
-
expect(resource.provider.class).to receive(:prefetch).and_raise(SystemExit, "SystemMessage")
|
611
|
-
expect { transaction.prefetch_if_necessary(resource) }.to raise_error(SystemExit, "SystemMessage")
|
612
|
-
end
|
613
|
-
|
614
|
-
it "should rescue LoadError without future_features flag" do
|
615
|
-
Puppet.settings[:future_features] = false
|
616
|
-
expect(resource.provider.class).to receive(:prefetch).and_raise(LoadError, "LoadMessage")
|
617
|
-
expect { transaction.prefetch_if_necessary(resource) }.not_to raise_error
|
618
|
-
end
|
619
|
-
|
620
|
-
it "should rescue LoadError with future_features flag" do
|
621
|
-
Puppet.settings[:future_features] = true
|
622
|
-
expect(resource.provider.class).to receive(:prefetch).and_raise(LoadError, "LoadMessage")
|
623
|
-
expect { transaction.prefetch_if_necessary(resource) }.not_to raise_error
|
624
|
-
end
|
625
|
-
|
626
602
|
describe "and prefetching fails" do
|
627
603
|
before :each do
|
628
|
-
|
604
|
+
resource.provider.class.expects(:prefetch).raises(Puppet::Error, "message")
|
629
605
|
end
|
630
606
|
|
631
607
|
context "without future_features flag" do
|
@@ -636,11 +612,6 @@ describe Puppet::Transaction do
|
|
636
612
|
it "should not rescue prefetch executions" do
|
637
613
|
expect { transaction.prefetch_if_necessary(resource) }.to raise_error(Puppet::Error)
|
638
614
|
end
|
639
|
-
|
640
|
-
it "should log the exception during prefetch" do
|
641
|
-
expect(Puppet).to receive(:log_exception).with(anything, "Could not prefetch package provider 'pkgng': message")
|
642
|
-
expect { transaction.prefetch_if_necessary(resource) }.to raise_error(Puppet::Error, "message")
|
643
|
-
end
|
644
615
|
end
|
645
616
|
|
646
617
|
context "with future_features flag" do
|
@@ -674,14 +645,14 @@ describe Puppet::Transaction do
|
|
674
645
|
|
675
646
|
before :each do
|
676
647
|
catalog.add_resource generator
|
677
|
-
|
678
|
-
|
648
|
+
generator.stubs(:generate).returns generated
|
649
|
+
catalog.stubs(:container_of).returns generator
|
679
650
|
end
|
680
651
|
|
681
652
|
it "should not evaluate resources with a failed provider, even if the prefetch is rescued" do
|
682
653
|
#Only the generator resource should be applied, all the other resources are failed, and skipped.
|
683
654
|
catalog.remove_resource resource2
|
684
|
-
|
655
|
+
transaction.expects(:apply).once
|
685
656
|
|
686
657
|
transaction.evaluate
|
687
658
|
end
|
@@ -700,7 +671,7 @@ describe Puppet::Transaction do
|
|
700
671
|
catalog.add_resource(new_resource)
|
701
672
|
|
702
673
|
catalog.remove_resource resource2
|
703
|
-
|
674
|
+
transaction.expects(:apply).once
|
704
675
|
|
705
676
|
transaction.evaluate
|
706
677
|
|
@@ -772,10 +743,10 @@ describe Puppet::Transaction do
|
|
772
743
|
|
773
744
|
it "should call ::post_resource_eval even if one of the resources fails" do
|
774
745
|
resource = teardown_type.new(:title => "foo", :provider => :teardown_provider)
|
775
|
-
|
746
|
+
resource.stubs(:retrieve_resource).raises
|
776
747
|
catalog.add_resource resource
|
777
748
|
|
778
|
-
|
749
|
+
resource.provider.class.expects(:post_resource_eval)
|
779
750
|
|
780
751
|
transaction.evaluate
|
781
752
|
end
|
@@ -789,7 +760,7 @@ describe Puppet::Transaction do
|
|
789
760
|
|
790
761
|
context "when stop is requested" do
|
791
762
|
before :each do
|
792
|
-
|
763
|
+
Puppet::Application.stubs(:stop_requested?).returns(true)
|
793
764
|
end
|
794
765
|
|
795
766
|
it 'should return true for :stop_processing?' do
|
@@ -803,7 +774,7 @@ describe Puppet::Transaction do
|
|
803
774
|
end
|
804
775
|
|
805
776
|
it 'should return false for :stop_processing? if Puppet::Application.stop_requested? is false' do
|
806
|
-
|
777
|
+
Puppet::Application.stubs(:stop_requested?).returns(false)
|
807
778
|
expect(@transaction.stop_processing?).to be_falsey
|
808
779
|
end
|
809
780
|
|
@@ -811,25 +782,25 @@ describe Puppet::Transaction do
|
|
811
782
|
before do
|
812
783
|
@resource = Puppet::Type.type(:notify).new :title => "foobar"
|
813
784
|
@catalog.add_resource @resource
|
814
|
-
|
785
|
+
@transaction.stubs(:add_dynamically_generated_resources)
|
815
786
|
end
|
816
787
|
|
817
788
|
it 'should stop processing if :stop_processing? is true' do
|
818
|
-
|
819
|
-
|
789
|
+
@transaction.stubs(:stop_processing?).returns(true)
|
790
|
+
@transaction.expects(:eval_resource).never
|
820
791
|
@transaction.evaluate
|
821
792
|
end
|
822
793
|
|
823
794
|
it 'should continue processing if :stop_processing? is false' do
|
824
|
-
|
825
|
-
|
795
|
+
@transaction.stubs(:stop_processing?).returns(false)
|
796
|
+
@transaction.expects(:eval_resource).returns(nil)
|
826
797
|
@transaction.evaluate
|
827
798
|
end
|
828
799
|
end
|
829
800
|
end
|
830
801
|
|
831
802
|
it "errors with a dependency cycle for a resource that requires itself" do
|
832
|
-
|
803
|
+
Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
|
833
804
|
expect do
|
834
805
|
apply_compiled_manifest(<<-MANIFEST)
|
835
806
|
notify { cycle: require => Notify[cycle] }
|
@@ -838,7 +809,7 @@ describe Puppet::Transaction do
|
|
838
809
|
end
|
839
810
|
|
840
811
|
it "errors with a dependency cycle for a self-requiring resource also required by another resource" do
|
841
|
-
|
812
|
+
Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
|
842
813
|
expect do
|
843
814
|
apply_compiled_manifest(<<-MANIFEST)
|
844
815
|
notify { cycle: require => Notify[cycle] }
|
@@ -848,7 +819,7 @@ describe Puppet::Transaction do
|
|
848
819
|
end
|
849
820
|
|
850
821
|
it "errors with a dependency cycle for a resource that requires itself and another resource" do
|
851
|
-
|
822
|
+
Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
|
852
823
|
expect do
|
853
824
|
apply_compiled_manifest(<<-MANIFEST)
|
854
825
|
notify { cycle:
|
@@ -860,7 +831,7 @@ describe Puppet::Transaction do
|
|
860
831
|
end
|
861
832
|
|
862
833
|
it "errors with a dependency cycle for a resource that is later modified to require itself" do
|
863
|
-
|
834
|
+
Puppet.expects(:err).with(regexp_matches(/Found 1 dependency cycle:.*\(Notify\[cycle\] => Notify\[cycle\]\)/m))
|
864
835
|
expect do
|
865
836
|
apply_compiled_manifest(<<-MANIFEST)
|
866
837
|
notify { cycle: }
|
@@ -925,30 +896,6 @@ describe Puppet::Transaction do
|
|
925
896
|
expect(transaction.report.resource_statuses['Notify[b]']).to be_skipped
|
926
897
|
end
|
927
898
|
end
|
928
|
-
|
929
|
-
describe "failed dependency is depended on multiple times" do
|
930
|
-
it "notifies the failed dependency once" do
|
931
|
-
command_string = File.expand_path('/my/command')
|
932
|
-
allow(Puppet::Util::Execution).to receive(:execute).with([command_string]).and_raise(Puppet::ExecutionFailure, "Failed")
|
933
|
-
|
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")
|
939
|
-
|
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
|
-
|
943
|
-
apply_compiled_manifest(<<-MANIFEST)
|
944
|
-
exec { ['exec1', 'exec2', 'exec3', 'exec4', 'exec5']:
|
945
|
-
command => '#{command_string}'
|
946
|
-
} ->
|
947
|
-
notify { ['notify1', 'notify2', 'notify3']: }
|
948
|
-
MANIFEST
|
949
|
-
expect(times_send_log_with_skipping_called).to eq(3)
|
950
|
-
end
|
951
|
-
end
|
952
899
|
end
|
953
900
|
|
954
901
|
describe Puppet::Transaction, " when determining tags" do
|