puppet 6.0.10-x86-mingw32 → 6.1.0-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 +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 'puppet/indirector/report/rest'
|
@@ -32,10 +33,10 @@ describe Puppet::Transaction::Report::Rest do
|
|
32
33
|
end
|
33
34
|
|
34
35
|
def mock_response(code, body, content_type='text/plain', encoding=nil)
|
35
|
-
obj =
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
obj = stub('http 200 ok', :code => code.to_s, :body => body)
|
37
|
+
obj.stubs(:[]).with('content-type').returns(content_type)
|
38
|
+
obj.stubs(:[]).with('content-encoding').returns(encoding)
|
39
|
+
obj.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns(Puppet.version)
|
39
40
|
obj
|
40
41
|
end
|
41
42
|
|
@@ -45,18 +46,18 @@ describe Puppet::Transaction::Report::Rest do
|
|
45
46
|
|
46
47
|
describe "#save" do
|
47
48
|
let(:response) { mock_response(200, 'body') }
|
48
|
-
let(:connection) {
|
49
|
+
let(:connection) { stub('mock http connection', :put => response, :verify_callback= => nil) }
|
49
50
|
let(:instance) { model.new('the thing', 'some contents') }
|
50
51
|
let(:request) { save_request(instance.name, instance) }
|
51
52
|
let(:body) { ["store", "http"].to_pson }
|
52
53
|
|
53
54
|
before :each do
|
54
|
-
|
55
|
+
terminus.stubs(:network).returns(connection)
|
55
56
|
end
|
56
57
|
|
57
58
|
it "deserializes the response as an array of report processor names" do
|
58
59
|
response = mock_response('200', body, 'text/pson')
|
59
|
-
|
60
|
+
connection.expects(:put).returns response
|
60
61
|
|
61
62
|
expect(terminus.save(request)).to eq(["store", "http"])
|
62
63
|
end
|
@@ -67,8 +68,8 @@ describe Puppet::Transaction::Report::Rest do
|
|
67
68
|
Puppet[:preferred_serialization_format] = "json"
|
68
69
|
|
69
70
|
response = mock_response('500', '{}', 'text/pson')
|
70
|
-
|
71
|
-
|
71
|
+
response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("4.10.1")
|
72
|
+
connection.expects(:put).returns response
|
72
73
|
|
73
74
|
expect {
|
74
75
|
terminus.save(request)
|
@@ -79,8 +80,8 @@ describe Puppet::Transaction::Report::Rest do
|
|
79
80
|
Puppet[:preferred_serialization_format] = "pson"
|
80
81
|
|
81
82
|
response = mock_response('500', '{}', 'text/pson')
|
82
|
-
|
83
|
-
|
83
|
+
response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("4.10.1")
|
84
|
+
connection.expects(:put).returns response
|
84
85
|
|
85
86
|
expect {
|
86
87
|
terminus.save(request)
|
@@ -1,3 +1,4 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
1
2
|
require 'spec_helper'
|
2
3
|
require 'matchers/json'
|
3
4
|
require 'puppet/indirector/request'
|
@@ -19,7 +20,7 @@ describe Puppet::Indirector::Request do
|
|
19
20
|
end
|
20
21
|
|
21
22
|
it "should use the name of the provided instance as its key if an instance is provided as the key instead of a string" do
|
22
|
-
instance =
|
23
|
+
instance = mock 'instance', :name => "mykey"
|
23
24
|
request = Puppet::Indirector::Request.new(:ind, :method, nil, instance)
|
24
25
|
expect(request.key).to eq("mykey")
|
25
26
|
expect(request.instance).to equal(instance)
|
@@ -194,25 +195,25 @@ describe Puppet::Indirector::Request do
|
|
194
195
|
end
|
195
196
|
|
196
197
|
it "should look use the Indirection class to return the appropriate indirection" do
|
197
|
-
ind =
|
198
|
-
|
198
|
+
ind = mock 'indirection'
|
199
|
+
Puppet::Indirector::Indirection.expects(:instance).with(:myind).returns ind
|
199
200
|
request = Puppet::Indirector::Request.new(:myind, :method, :key, nil)
|
200
201
|
|
201
202
|
expect(request.indirection).to equal(ind)
|
202
203
|
end
|
203
204
|
|
204
205
|
it "should use its indirection to look up the appropriate model" do
|
205
|
-
ind =
|
206
|
-
|
206
|
+
ind = mock 'indirection'
|
207
|
+
Puppet::Indirector::Indirection.expects(:instance).with(:myind).returns ind
|
207
208
|
request = Puppet::Indirector::Request.new(:myind, :method, :key, nil)
|
208
209
|
|
209
|
-
|
210
|
+
ind.expects(:model).returns "mymodel"
|
210
211
|
|
211
212
|
expect(request.model).to eq("mymodel")
|
212
213
|
end
|
213
214
|
|
214
215
|
it "should fail intelligently when asked to find a model but the indirection cannot be found" do
|
215
|
-
|
216
|
+
Puppet::Indirector::Indirection.expects(:instance).with(:myind).returns nil
|
216
217
|
request = Puppet::Indirector::Request.new(:myind, :method, :key, nil)
|
217
218
|
|
218
219
|
expect { request.model }.to raise_error(ArgumentError)
|
@@ -441,8 +442,8 @@ describe Puppet::Indirector::Request do
|
|
441
442
|
|
442
443
|
context "when SRV returns servers" do
|
443
444
|
before :each do
|
444
|
-
@dns_mock =
|
445
|
-
|
445
|
+
@dns_mock = mock('dns')
|
446
|
+
Resolv::DNS.expects(:new).returns(@dns_mock)
|
446
447
|
|
447
448
|
@port = 7205
|
448
449
|
@target = 'example.com'
|
@@ -450,9 +451,9 @@ describe Puppet::Indirector::Request do
|
|
450
451
|
record.instance_variable_set(:@ttl, 10)
|
451
452
|
@srv_records = [record]
|
452
453
|
|
453
|
-
|
454
|
+
@dns_mock.expects(:getresources).
|
454
455
|
with("_x-puppet._tcp.#{Puppet.settings[:srv_domain]}", Resolv::DNS::Resource::IN::SRV).
|
455
|
-
|
456
|
+
returns(@srv_records)
|
456
457
|
end
|
457
458
|
|
458
459
|
it "yields a request using the server and port from the SRV record" do
|
@@ -1,40 +1,43 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
1
2
|
require 'spec_helper'
|
2
|
-
require 'puppet/type/user'
|
3
3
|
require 'puppet/indirector/resource/ral'
|
4
4
|
|
5
5
|
describe "Puppet::Resource::Ral" do
|
6
|
+
|
6
7
|
it "disallows remote requests" do
|
7
8
|
expect(Puppet::Resource::Ral.new.allow_remote_requests?).to eq(false)
|
8
9
|
end
|
9
10
|
|
10
11
|
describe "find" do
|
11
12
|
before do
|
12
|
-
@request =
|
13
|
+
@request = stub 'request', :key => "user/root"
|
13
14
|
end
|
14
15
|
|
15
16
|
it "should find an existing instance" do
|
16
|
-
my_resource =
|
17
|
+
my_resource = stub "my user resource"
|
17
18
|
|
18
|
-
wrong_instance =
|
19
|
-
my_instance =
|
19
|
+
wrong_instance = stub "wrong user", :name => "bob"
|
20
|
+
my_instance = stub "my user", :name => "root", :to_resource => my_resource
|
20
21
|
|
21
|
-
|
22
|
+
require 'puppet/type/user'
|
23
|
+
Puppet::Type::User.expects(:instances).returns([ wrong_instance, my_instance, wrong_instance ])
|
22
24
|
expect(Puppet::Resource::Ral.new.find(@request)).to eq(my_resource)
|
23
25
|
end
|
24
26
|
|
25
27
|
it "should produce Puppet::Error instead of ArgumentError" do
|
26
|
-
@bad_request =
|
28
|
+
@bad_request = stub 'thiswillcauseanerror', :key => "thiswill/causeanerror"
|
27
29
|
expect{Puppet::Resource::Ral.new.find(@bad_request)}.to raise_error(Puppet::Error)
|
28
30
|
end
|
29
31
|
|
30
32
|
it "if there is no instance, it should create one" do
|
31
|
-
wrong_instance =
|
32
|
-
root =
|
33
|
-
root_resource =
|
33
|
+
wrong_instance = stub "wrong user", :name => "bob"
|
34
|
+
root = mock "Root User"
|
35
|
+
root_resource = mock "Root Resource"
|
34
36
|
|
35
|
-
|
36
|
-
|
37
|
-
|
37
|
+
require 'puppet/type/user'
|
38
|
+
Puppet::Type::User.expects(:instances).returns([ wrong_instance, wrong_instance ])
|
39
|
+
Puppet::Type::User.expects(:new).with(has_entry(:name => "root")).returns(root)
|
40
|
+
root.expects(:to_resource).returns(root_resource)
|
38
41
|
|
39
42
|
result = Puppet::Resource::Ral.new.find(@request)
|
40
43
|
|
@@ -44,68 +47,72 @@ describe "Puppet::Resource::Ral" do
|
|
44
47
|
|
45
48
|
describe "search" do
|
46
49
|
before do
|
47
|
-
@request =
|
50
|
+
@request = stub 'request', :key => "user/", :options => {}
|
48
51
|
end
|
49
52
|
|
50
53
|
it "should convert ral resources into regular resources" do
|
51
|
-
my_resource =
|
52
|
-
my_instance =
|
54
|
+
my_resource = stub "my user resource"
|
55
|
+
my_instance = stub "my user", :name => "root", :to_resource => my_resource
|
53
56
|
|
54
|
-
|
57
|
+
require 'puppet/type/user'
|
58
|
+
Puppet::Type::User.expects(:instances).returns([ my_instance ])
|
55
59
|
expect(Puppet::Resource::Ral.new.search(@request)).to eq([my_resource])
|
56
60
|
end
|
57
61
|
|
58
62
|
it "should filter results by name if there's a name in the key" do
|
59
|
-
my_resource
|
60
|
-
|
61
|
-
|
63
|
+
my_resource = stub "my user resource"
|
64
|
+
my_resource.stubs(:to_resource).returns(my_resource)
|
65
|
+
my_resource.stubs(:[]).with(:name).returns("root")
|
62
66
|
|
63
|
-
wrong_resource =
|
64
|
-
|
65
|
-
|
67
|
+
wrong_resource = stub "wrong resource"
|
68
|
+
wrong_resource.stubs(:to_resource).returns(wrong_resource)
|
69
|
+
wrong_resource.stubs(:[]).with(:name).returns("bad")
|
66
70
|
|
67
|
-
my_instance =
|
68
|
-
wrong_instance =
|
71
|
+
my_instance = stub "my user", :to_resource => my_resource
|
72
|
+
wrong_instance = stub "wrong user", :to_resource => wrong_resource
|
69
73
|
|
70
|
-
@request =
|
74
|
+
@request = stub 'request', :key => "user/root", :options => {}
|
71
75
|
|
72
|
-
|
76
|
+
require 'puppet/type/user'
|
77
|
+
Puppet::Type::User.expects(:instances).returns([ my_instance, wrong_instance ])
|
73
78
|
expect(Puppet::Resource::Ral.new.search(@request)).to eq([my_resource])
|
74
79
|
end
|
75
80
|
|
76
81
|
it "should filter results by query parameters" do
|
77
|
-
wrong_resource =
|
78
|
-
|
79
|
-
|
82
|
+
wrong_resource = stub "my user resource"
|
83
|
+
wrong_resource.stubs(:to_resource).returns(wrong_resource)
|
84
|
+
wrong_resource.stubs(:[]).with(:name).returns("root")
|
80
85
|
|
81
|
-
my_resource =
|
82
|
-
|
83
|
-
|
86
|
+
my_resource = stub "wrong resource"
|
87
|
+
my_resource.stubs(:to_resource).returns(my_resource)
|
88
|
+
my_resource.stubs(:[]).with(:name).returns("bob")
|
84
89
|
|
85
|
-
my_instance =
|
86
|
-
wrong_instance =
|
90
|
+
my_instance = stub "my user", :to_resource => my_resource
|
91
|
+
wrong_instance = stub "wrong user", :to_resource => wrong_resource
|
87
92
|
|
88
|
-
@request =
|
93
|
+
@request = stub 'request', :key => "user/", :options => {:name => "bob"}
|
89
94
|
|
90
|
-
|
95
|
+
require 'puppet/type/user'
|
96
|
+
Puppet::Type::User.expects(:instances).returns([ my_instance, wrong_instance ])
|
91
97
|
expect(Puppet::Resource::Ral.new.search(@request)).to eq([my_resource])
|
92
98
|
end
|
93
99
|
|
94
100
|
it "should return sorted results" do
|
95
|
-
a_resource =
|
96
|
-
|
97
|
-
|
101
|
+
a_resource = stub "alice resource"
|
102
|
+
a_resource.stubs(:to_resource).returns(a_resource)
|
103
|
+
a_resource.stubs(:title).returns("alice")
|
98
104
|
|
99
|
-
b_resource =
|
100
|
-
|
101
|
-
|
105
|
+
b_resource = stub "bob resource"
|
106
|
+
b_resource.stubs(:to_resource).returns(b_resource)
|
107
|
+
b_resource.stubs(:title).returns("bob")
|
102
108
|
|
103
|
-
a_instance =
|
104
|
-
b_instance =
|
109
|
+
a_instance = stub "alice user", :to_resource => a_resource
|
110
|
+
b_instance = stub "bob user", :to_resource => b_resource
|
105
111
|
|
106
|
-
@request =
|
112
|
+
@request = stub 'request', :key => "user/", :options => {}
|
107
113
|
|
108
|
-
|
114
|
+
require 'puppet/type/user'
|
115
|
+
Puppet::Type::User.expects(:instances).returns([ b_instance, a_instance ])
|
109
116
|
expect(Puppet::Resource::Ral.new.search(@request)).to eq([a_resource, b_resource])
|
110
117
|
end
|
111
118
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
1
2
|
require 'spec_helper'
|
2
3
|
require 'puppet/util/json'
|
3
4
|
require 'puppet/indirector'
|
@@ -16,14 +17,14 @@ shared_examples_for "a REST terminus method" do |terminus_method|
|
|
16
17
|
end
|
17
18
|
|
18
19
|
it "falls back to pson for future requests" do
|
19
|
-
|
20
|
+
response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("4.10.1")
|
20
21
|
terminus.send(terminus_method, request)
|
21
22
|
|
22
23
|
expect(Puppet[:preferred_serialization_format]).to eq("pson")
|
23
24
|
end
|
24
25
|
|
25
26
|
it "doesn't change the serialization format if the X-Puppet-Version header is missing" do
|
26
|
-
|
27
|
+
response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns(nil)
|
27
28
|
|
28
29
|
terminus.send(terminus_method, request)
|
29
30
|
|
@@ -31,7 +32,7 @@ shared_examples_for "a REST terminus method" do |terminus_method|
|
|
31
32
|
end
|
32
33
|
|
33
34
|
it "doesn't change the serialization format if the server major version is 5" do
|
34
|
-
|
35
|
+
response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("5.0.3")
|
35
36
|
|
36
37
|
terminus.send(terminus_method, request)
|
37
38
|
|
@@ -39,7 +40,7 @@ shared_examples_for "a REST terminus method" do |terminus_method|
|
|
39
40
|
end
|
40
41
|
|
41
42
|
it "doesn't change the serialization format if the current format is already pson" do
|
42
|
-
|
43
|
+
response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns("4.10.1")
|
43
44
|
Puppet[:preferred_serialization_format] = "pson"
|
44
45
|
terminus.send(terminus_method, request)
|
45
46
|
|
@@ -76,7 +77,7 @@ shared_examples_for "a REST terminus method" do |terminus_method|
|
|
76
77
|
end
|
77
78
|
|
78
79
|
it "does not attempt to deserialize the response into a model" do
|
79
|
-
|
80
|
+
model.expects(:convert_from).never
|
80
81
|
|
81
82
|
expect {
|
82
83
|
terminus.send(terminus_method, request)
|
@@ -85,8 +86,8 @@ shared_examples_for "a REST terminus method" do |terminus_method|
|
|
85
86
|
|
86
87
|
# I'm not sure what this means or if it's used
|
87
88
|
it "if the body is empty raises an http error with the response header" do
|
88
|
-
|
89
|
-
|
89
|
+
response.stubs(:body).returns ""
|
90
|
+
response.stubs(:message).returns "fhqwhgads"
|
90
91
|
|
91
92
|
expect {
|
92
93
|
terminus.send(terminus_method, request)
|
@@ -98,7 +99,7 @@ shared_examples_for "a REST terminus method" do |terminus_method|
|
|
98
99
|
compressed_body = Zlib::Deflate.deflate(body)
|
99
100
|
|
100
101
|
compressed_response = mock_response(code, compressed_body, 'application/json', 'deflate')
|
101
|
-
|
102
|
+
connection.expects(http_method).returns(compressed_response)
|
102
103
|
|
103
104
|
expect {
|
104
105
|
terminus.send(terminus_method, request)
|
@@ -120,7 +121,7 @@ shared_examples_for "a deserializing terminus method" do |terminus_method|
|
|
120
121
|
end
|
121
122
|
|
122
123
|
it "doesn't catch errors in deserialization" do
|
123
|
-
|
124
|
+
model.expects(:convert_from).raises(Puppet::Error, "Whoa there")
|
124
125
|
|
125
126
|
expect { terminus.send(terminus_method, request) }.to raise_error(Puppet::Error, "Whoa there")
|
126
127
|
end
|
@@ -181,10 +182,10 @@ describe Puppet::Indirector::REST do
|
|
181
182
|
end
|
182
183
|
|
183
184
|
def mock_response(code, body, content_type='text/plain', encoding=nil)
|
184
|
-
obj =
|
185
|
-
|
186
|
-
|
187
|
-
|
185
|
+
obj = stub('http 200 ok', :code => code.to_s, :body => body)
|
186
|
+
obj.stubs(:[]).with('content-type').returns(content_type)
|
187
|
+
obj.stubs(:[]).with('content-encoding').returns(encoding)
|
188
|
+
obj.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns(Puppet.version)
|
188
189
|
obj
|
189
190
|
end
|
190
191
|
|
@@ -213,13 +214,13 @@ describe Puppet::Indirector::REST do
|
|
213
214
|
end
|
214
215
|
|
215
216
|
it "should use any specified setting to pick the server" do
|
216
|
-
|
217
|
+
terminus_class.expects(:server_setting).returns :ca_server
|
217
218
|
Puppet[:ca_server] = "myserver"
|
218
219
|
expect(terminus_class.server).to eq("myserver")
|
219
220
|
end
|
220
221
|
|
221
222
|
it "should default to :server for the server setting" do
|
222
|
-
|
223
|
+
terminus_class.expects(:server_setting).returns nil
|
223
224
|
Puppet[:server] = "myserver"
|
224
225
|
expect(terminus_class.server).to eq("myserver")
|
225
226
|
end
|
@@ -229,39 +230,39 @@ describe Puppet::Indirector::REST do
|
|
229
230
|
end
|
230
231
|
|
231
232
|
it "should use any specified setting to pick the port" do
|
232
|
-
|
233
|
+
terminus_class.expects(:port_setting).returns :ca_port
|
233
234
|
Puppet[:ca_port] = "321"
|
234
235
|
expect(terminus_class.port).to eq(321)
|
235
236
|
end
|
236
237
|
|
237
238
|
it "should default to :port for the port setting" do
|
238
|
-
|
239
|
+
terminus_class.expects(:port_setting).returns nil
|
239
240
|
Puppet[:masterport] = "543"
|
240
241
|
expect(terminus_class.port).to eq(543)
|
241
242
|
end
|
242
243
|
|
243
244
|
it "should use a failover-selected server if set" do
|
244
|
-
|
245
|
+
terminus_class.expects(:server_setting).returns nil
|
245
246
|
Puppet.override(:server => "myserver") do
|
246
247
|
expect(terminus_class.server).to eq("myserver")
|
247
248
|
end
|
248
249
|
end
|
249
250
|
|
250
251
|
it "should use a failover-selected port if set" do
|
251
|
-
|
252
|
+
terminus_class.expects(:port_setting).returns nil
|
252
253
|
Puppet.override(:serverport => 321) do
|
253
254
|
expect(terminus_class.port).to eq(321)
|
254
255
|
end
|
255
256
|
end
|
256
257
|
|
257
258
|
it "should use server_list for server when available" do
|
258
|
-
|
259
|
+
terminus_class.expects(:server_setting).returns nil
|
259
260
|
Puppet[:server_list] = [["foo", "123"]]
|
260
261
|
expect(terminus_class.server).to eq("foo")
|
261
262
|
end
|
262
263
|
|
263
264
|
it "should prefer failover-selected server from server list" do
|
264
|
-
|
265
|
+
terminus_class.expects(:server_setting).returns nil
|
265
266
|
Puppet[:server_list] = [["foo", "123"],["bar", "321"]]
|
266
267
|
Puppet.override(:server => "bar") do
|
267
268
|
expect(terminus_class.server).to eq("bar")
|
@@ -269,13 +270,13 @@ describe Puppet::Indirector::REST do
|
|
269
270
|
end
|
270
271
|
|
271
272
|
it "should use server_list for port when available" do
|
272
|
-
|
273
|
+
terminus_class.expects(:port_setting).returns nil
|
273
274
|
Puppet[:server_list] = [["foo", "123"]]
|
274
275
|
expect(terminus_class.port).to eq(123)
|
275
276
|
end
|
276
277
|
|
277
278
|
it "should prefer failover-selected port from server list" do
|
278
|
-
|
279
|
+
terminus_class.expects(:port_setting).returns nil
|
279
280
|
Puppet[:server_list] = [["foo", "123"],["bar", "321"]]
|
280
281
|
Puppet.override(:serverport => "321") do
|
281
282
|
expect(terminus_class.port).to eq(321)
|
@@ -283,7 +284,7 @@ describe Puppet::Indirector::REST do
|
|
283
284
|
end
|
284
285
|
|
285
286
|
it "should use an explicitly specified more-speciic server when failover is active" do
|
286
|
-
|
287
|
+
terminus_class.expects(:server_setting).returns :ca_server
|
287
288
|
Puppet[:ca_server] = "myserver"
|
288
289
|
Puppet.override(:server => "anotherserver") do
|
289
290
|
expect(terminus_class.server).to eq("myserver")
|
@@ -291,7 +292,7 @@ describe Puppet::Indirector::REST do
|
|
291
292
|
end
|
292
293
|
|
293
294
|
it "should use an explicitly specified more-specific port when failover is active" do
|
294
|
-
|
295
|
+
terminus_class.expects(:port_setting).returns :ca_port
|
295
296
|
Puppet[:ca_port] = 321
|
296
297
|
Puppet.override(:serverport => 543) do
|
297
298
|
expect(terminus_class.port).to eq(321)
|
@@ -299,8 +300,8 @@ describe Puppet::Indirector::REST do
|
|
299
300
|
end
|
300
301
|
|
301
302
|
it "should use a default port when a more-specific server is set" do
|
302
|
-
|
303
|
-
|
303
|
+
terminus_class.expects(:server_setting).returns :ca_server
|
304
|
+
terminus_class.expects(:port_setting).returns :ca_port
|
304
305
|
Puppet[:ca_server] = "myserver"
|
305
306
|
Puppet.override(:server => "anotherserver", :port => 666) do
|
306
307
|
expect(terminus_class.port).to eq(8140)
|
@@ -312,43 +313,43 @@ describe Puppet::Indirector::REST do
|
|
312
313
|
end
|
313
314
|
|
314
315
|
it 'excludes yaml from the Accept header' do
|
315
|
-
|
316
|
+
model.expects(:supported_formats).returns([:json, :pson, :yaml, :binary])
|
316
317
|
|
317
318
|
expect(terminus.headers['Accept']).to eq('application/json, text/pson, application/octet-stream')
|
318
319
|
end
|
319
320
|
|
320
321
|
it 'excludes b64_zlib_yaml from the Accept header' do
|
321
|
-
|
322
|
+
model.expects(:supported_formats).returns([:json, :pson, :b64_zlib_yaml])
|
322
323
|
|
323
324
|
expect(terminus.headers['Accept']).to eq('application/json, text/pson')
|
324
325
|
end
|
325
326
|
|
326
327
|
it 'excludes dot from the Accept header' do
|
327
|
-
|
328
|
+
model.expects(:supported_formats).returns([:json, :dot])
|
328
329
|
|
329
330
|
expect(terminus.headers['Accept']).to eq('application/json')
|
330
331
|
end
|
331
332
|
|
332
333
|
describe "when creating an HTTP client" do
|
333
334
|
it "should use the class's server and port if the indirection request provides neither" do
|
334
|
-
@request =
|
335
|
-
|
336
|
-
|
337
|
-
|
335
|
+
@request = stub 'request', :key => "foo", :server => nil, :port => nil
|
336
|
+
terminus.class.expects(:port).returns 321
|
337
|
+
terminus.class.expects(:server).returns "myserver"
|
338
|
+
Puppet::Network::HttpPool.expects(:http_instance).with("myserver", 321).returns "myconn"
|
338
339
|
expect(terminus.network(@request)).to eq("myconn")
|
339
340
|
end
|
340
341
|
|
341
342
|
it "should use the server from the indirection request if one is present" do
|
342
|
-
@request =
|
343
|
-
|
344
|
-
|
343
|
+
@request = stub 'request', :key => "foo", :server => "myserver", :port => nil
|
344
|
+
terminus.class.stubs(:port).returns 321
|
345
|
+
Puppet::Network::HttpPool.expects(:http_instance).with("myserver", 321).returns "myconn"
|
345
346
|
expect(terminus.network(@request)).to eq("myconn")
|
346
347
|
end
|
347
348
|
|
348
349
|
it "should use the port from the indirection request if one is present" do
|
349
|
-
@request =
|
350
|
-
|
351
|
-
|
350
|
+
@request = stub 'request', :key => "foo", :server => nil, :port => 321
|
351
|
+
terminus.class.stubs(:server).returns "myserver"
|
352
|
+
Puppet::Network::HttpPool.expects(:http_instance).with("myserver", 321).returns "myconn"
|
352
353
|
expect(terminus.network(@request)).to eq("myconn")
|
353
354
|
end
|
354
355
|
end
|
@@ -356,11 +357,11 @@ describe Puppet::Indirector::REST do
|
|
356
357
|
describe "#find" do
|
357
358
|
let(:http_method) { :get }
|
358
359
|
let(:response) { mock_response(200, 'body') }
|
359
|
-
let(:connection) {
|
360
|
+
let(:connection) { stub('mock http connection', :get => response, :verify_callback= => nil) }
|
360
361
|
let(:request) { find_request('foo') }
|
361
362
|
|
362
363
|
before :each do
|
363
|
-
|
364
|
+
terminus.stubs(:network).returns(connection)
|
364
365
|
end
|
365
366
|
|
366
367
|
it_behaves_like 'a REST terminus method', :find
|
@@ -382,11 +383,9 @@ describe Puppet::Indirector::REST do
|
|
382
383
|
|
383
384
|
request = find_request('whoa', params)
|
384
385
|
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
mock_response(200, 'body')
|
389
|
-
end
|
386
|
+
connection.expects(:post).with do |uri, body|
|
387
|
+
body.split("&").sort == params.map {|key,value| "#{key}=#{value}"}.sort
|
388
|
+
end.returns(mock_response(200, 'body'))
|
390
389
|
|
391
390
|
terminus.find(request)
|
392
391
|
end
|
@@ -396,7 +395,7 @@ describe Puppet::Indirector::REST do
|
|
396
395
|
it "calls get on the connection" do
|
397
396
|
request = find_request('foo bar')
|
398
397
|
|
399
|
-
|
398
|
+
connection.expects(:get).with("#{url_prefix}/test_model/foo%20bar?environment=production&", anything).returns(mock_response('200', 'response body'))
|
400
399
|
|
401
400
|
expect(terminus.find(request)).to eq(model.new('foo bar', 'response body'))
|
402
401
|
end
|
@@ -405,14 +404,14 @@ describe Puppet::Indirector::REST do
|
|
405
404
|
it "returns nil on 404" do
|
406
405
|
response = mock_response('404', nil)
|
407
406
|
|
408
|
-
|
407
|
+
connection.expects(:get).returns(response)
|
409
408
|
|
410
409
|
expect(terminus.find(request)).to eq(nil)
|
411
410
|
end
|
412
411
|
|
413
412
|
it 'raises no warning for a 404 (when not asked to do so)' do
|
414
413
|
response = mock_response('404', 'this is the notfound you are looking for')
|
415
|
-
|
414
|
+
connection.expects(:get).returns(response)
|
416
415
|
expect{terminus.find(request)}.to_not raise_error()
|
417
416
|
end
|
418
417
|
|
@@ -420,7 +419,7 @@ describe Puppet::Indirector::REST do
|
|
420
419
|
it 'raises an error for a 404 when asked to do so' do
|
421
420
|
request = find_request('foo', :fail_on_404 => true)
|
422
421
|
response = mock_response('404', 'this is the notfound you are looking for')
|
423
|
-
|
422
|
+
connection.expects(:get).returns(response)
|
424
423
|
|
425
424
|
expect do
|
426
425
|
terminus.find(request)
|
@@ -432,7 +431,7 @@ describe Puppet::Indirector::REST do
|
|
432
431
|
it 'truncates the URI when it is very long' do
|
433
432
|
request = find_request('foo', :fail_on_404 => true, :long_param => ('A' * 100) + 'B')
|
434
433
|
response = mock_response('404', 'this is the notfound you are looking for')
|
435
|
-
|
434
|
+
connection.expects(:get).returns(response)
|
436
435
|
|
437
436
|
expect do
|
438
437
|
terminus.find(request)
|
@@ -445,7 +444,7 @@ describe Puppet::Indirector::REST do
|
|
445
444
|
Puppet.debug = true
|
446
445
|
request = find_request('foo', :fail_on_404 => true, :long_param => ('A' * 100) + 'B')
|
447
446
|
response = mock_response('404', 'this is the notfound you are looking for')
|
448
|
-
|
447
|
+
connection.expects(:get).returns(response)
|
449
448
|
|
450
449
|
expect do
|
451
450
|
terminus.find(request)
|
@@ -456,9 +455,9 @@ describe Puppet::Indirector::REST do
|
|
456
455
|
end
|
457
456
|
|
458
457
|
it "asks the model to deserialize the response body and sets the name on the resulting object to the find key" do
|
459
|
-
|
458
|
+
connection.expects(:get).returns response
|
460
459
|
|
461
|
-
|
460
|
+
model.expects(:convert_from).with(response['content-type'], response.body).returns(
|
462
461
|
model.new('overwritten', 'decoded body')
|
463
462
|
)
|
464
463
|
|
@@ -466,44 +465,42 @@ describe Puppet::Indirector::REST do
|
|
466
465
|
end
|
467
466
|
|
468
467
|
it "doesn't require the model to support name=" do
|
469
|
-
|
470
|
-
|
471
|
-
end
|
472
|
-
|
473
|
-
expect(connection).to receive(:get).and_return(response)
|
474
|
-
instance = Puppet::TestModel2.new('name', 'decoded body')
|
468
|
+
connection.expects(:get).returns response
|
469
|
+
instance = model.new('name', 'decoded body')
|
475
470
|
|
476
|
-
|
471
|
+
model.expects(:convert_from).with(response['content-type'], response.body).returns(instance)
|
472
|
+
instance.expects(:respond_to?).with(:name=).returns(false)
|
473
|
+
instance.expects(:name=).never
|
477
474
|
|
478
475
|
expect(terminus.find(request)).to eq(model.new('name', 'decoded body'))
|
479
476
|
end
|
480
477
|
|
481
478
|
it "provides an Accept header containing the list of supported mime types joined with commas" do
|
482
|
-
|
479
|
+
connection.expects(:get).with(anything, has_entry("Accept" => "application/json, text/pson")).returns(response)
|
483
480
|
|
484
|
-
|
481
|
+
terminus.model.expects(:supported_formats).returns [:json, :pson]
|
485
482
|
terminus.find(request)
|
486
483
|
end
|
487
484
|
|
488
485
|
it "provides a version header with the current puppet version" do
|
489
|
-
|
486
|
+
connection.expects(:get).with(anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(response)
|
490
487
|
|
491
488
|
terminus.find(request)
|
492
489
|
end
|
493
490
|
|
494
491
|
it "adds an Accept-Encoding header" do
|
495
|
-
|
492
|
+
terminus.expects(:add_accept_encoding).returns({"accept-encoding" => "gzip"})
|
496
493
|
|
497
|
-
|
494
|
+
connection.expects(:get).with(anything, has_entry("accept-encoding" => "gzip")).returns(response)
|
498
495
|
|
499
496
|
terminus.find(request)
|
500
497
|
end
|
501
498
|
|
502
499
|
it "uses only the mime-type from the content-type header when asking the model to deserialize" do
|
503
500
|
response = mock_response('200', 'mydata', "text/plain; charset=utf-8")
|
504
|
-
|
501
|
+
connection.expects(:get).returns(response)
|
505
502
|
|
506
|
-
|
503
|
+
model.expects(:convert_from).with("text/plain", "mydata").returns "myobject"
|
507
504
|
|
508
505
|
expect(terminus.find(request)).to eq("myobject")
|
509
506
|
end
|
@@ -513,9 +510,9 @@ describe Puppet::Indirector::REST do
|
|
513
510
|
compressed_body = Zlib::Deflate.deflate(uncompressed_body)
|
514
511
|
|
515
512
|
response = mock_response('200', compressed_body, 'text/plain', 'deflate')
|
516
|
-
|
513
|
+
connection.expects(:get).returns(response)
|
517
514
|
|
518
|
-
|
515
|
+
model.expects(:convert_from).with("text/plain", uncompressed_body).returns "myobject"
|
519
516
|
|
520
517
|
expect(terminus.find(request)).to eq("myobject")
|
521
518
|
end
|
@@ -524,29 +521,29 @@ describe Puppet::Indirector::REST do
|
|
524
521
|
describe "#head" do
|
525
522
|
let(:http_method) { :head }
|
526
523
|
let(:response) { mock_response(200, nil) }
|
527
|
-
let(:connection) {
|
524
|
+
let(:connection) { stub('mock http connection', :head => response, :verify_callback= => nil) }
|
528
525
|
let(:request) { head_request('foo') }
|
529
526
|
|
530
527
|
before :each do
|
531
|
-
|
528
|
+
terminus.stubs(:network).returns(connection)
|
532
529
|
end
|
533
530
|
|
534
531
|
it_behaves_like 'a REST terminus method', :head
|
535
532
|
|
536
533
|
it "returns true if there was a successful http response" do
|
537
|
-
|
534
|
+
connection.expects(:head).returns mock_response('200', nil)
|
538
535
|
|
539
536
|
expect(terminus.head(request)).to eq(true)
|
540
537
|
end
|
541
538
|
|
542
539
|
it "returns false on a 404 response" do
|
543
|
-
|
540
|
+
connection.expects(:head).returns mock_response('404', nil)
|
544
541
|
|
545
542
|
expect(terminus.head(request)).to eq(false)
|
546
543
|
end
|
547
544
|
|
548
545
|
it "provides a version header with the current puppet version" do
|
549
|
-
|
546
|
+
connection.expects(:head).with(anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(response)
|
550
547
|
|
551
548
|
terminus.head(request)
|
552
549
|
end
|
@@ -555,18 +552,18 @@ describe Puppet::Indirector::REST do
|
|
555
552
|
describe "#search" do
|
556
553
|
let(:http_method) { :get }
|
557
554
|
let(:response) { mock_response(200, 'data1,data2,data3') }
|
558
|
-
let(:connection) {
|
555
|
+
let(:connection) { stub('mock http connection', :get => response, :verify_callback= => nil) }
|
559
556
|
let(:request) { search_request('foo') }
|
560
557
|
|
561
558
|
before :each do
|
562
|
-
|
559
|
+
terminus.stubs(:network).returns(connection)
|
563
560
|
end
|
564
561
|
|
565
562
|
it_behaves_like 'a REST terminus method', :search
|
566
563
|
it_behaves_like 'a deserializing terminus method', :search
|
567
564
|
|
568
565
|
it "should call the GET http method on a network connection" do
|
569
|
-
|
566
|
+
connection.expects(:get).with("#{url_prefix}/test_models/foo?environment=production&", has_key('Accept')).returns mock_response(200, 'data3, data4')
|
570
567
|
|
571
568
|
terminus.search(request)
|
572
569
|
end
|
@@ -574,7 +571,7 @@ describe Puppet::Indirector::REST do
|
|
574
571
|
it "returns an empty list on 404" do
|
575
572
|
response = mock_response('404', nil)
|
576
573
|
|
577
|
-
|
574
|
+
connection.expects(:get).returns(response)
|
578
575
|
|
579
576
|
expect(terminus.search(request)).to eq([])
|
580
577
|
end
|
@@ -584,20 +581,20 @@ describe Puppet::Indirector::REST do
|
|
584
581
|
end
|
585
582
|
|
586
583
|
it "should provide an Accept header containing the list of supported formats joined with commas" do
|
587
|
-
|
584
|
+
connection.expects(:get).with(anything, has_entry("Accept" => "application/json, text/pson")).returns(mock_response(200, ''))
|
588
585
|
|
589
|
-
|
586
|
+
terminus.model.expects(:supported_formats).returns [:json, :pson]
|
590
587
|
terminus.search(request)
|
591
588
|
end
|
592
589
|
|
593
590
|
it "provides a version header with the current puppet version" do
|
594
|
-
|
591
|
+
connection.expects(:get).with(anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(mock_response(200, ''))
|
595
592
|
|
596
593
|
terminus.search(request)
|
597
594
|
end
|
598
595
|
|
599
596
|
it "should return an empty array if serialization returns nil" do
|
600
|
-
|
597
|
+
model.stubs(:convert_from_multiple).returns nil
|
601
598
|
|
602
599
|
expect(terminus.search(request)).to eq([])
|
603
600
|
end
|
@@ -606,18 +603,18 @@ describe Puppet::Indirector::REST do
|
|
606
603
|
describe "#destroy" do
|
607
604
|
let(:http_method) { :delete }
|
608
605
|
let(:response) { mock_response(200, 'body') }
|
609
|
-
let(:connection) {
|
606
|
+
let(:connection) { stub('mock http connection', :delete => response, :verify_callback= => nil) }
|
610
607
|
let(:request) { delete_request('foo') }
|
611
608
|
|
612
609
|
before :each do
|
613
|
-
|
610
|
+
terminus.stubs(:network).returns(connection)
|
614
611
|
end
|
615
612
|
|
616
613
|
it_behaves_like 'a REST terminus method', :destroy
|
617
614
|
it_behaves_like 'a deserializing terminus method', :destroy
|
618
615
|
|
619
616
|
it "should call the DELETE http method on a network connection" do
|
620
|
-
|
617
|
+
connection.expects(:delete).with("#{url_prefix}/test_model/foo?environment=production&", has_key('Accept')).returns(response)
|
621
618
|
|
622
619
|
terminus.destroy(request)
|
623
620
|
end
|
@@ -629,7 +626,7 @@ describe Puppet::Indirector::REST do
|
|
629
626
|
end
|
630
627
|
|
631
628
|
it "should deserialize and return the http response" do
|
632
|
-
|
629
|
+
connection.expects(:delete).returns response
|
633
630
|
|
634
631
|
expect(terminus.destroy(request)).to eq(model.new('', 'body'))
|
635
632
|
end
|
@@ -637,20 +634,20 @@ describe Puppet::Indirector::REST do
|
|
637
634
|
it "returns nil on 404" do
|
638
635
|
response = mock_response('404', nil)
|
639
636
|
|
640
|
-
|
637
|
+
connection.expects(:delete).returns(response)
|
641
638
|
|
642
639
|
expect(terminus.destroy(request)).to eq(nil)
|
643
640
|
end
|
644
641
|
|
645
642
|
it "should provide an Accept header containing the list of supported formats joined with commas" do
|
646
|
-
|
643
|
+
connection.expects(:delete).with(anything, has_entry("Accept" => "application/json, text/pson")).returns(response)
|
647
644
|
|
648
|
-
|
645
|
+
terminus.model.expects(:supported_formats).returns [:json, :pson]
|
649
646
|
terminus.destroy(request)
|
650
647
|
end
|
651
648
|
|
652
649
|
it "provides a version header with the current puppet version" do
|
653
|
-
|
650
|
+
connection.expects(:delete).with(anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(response)
|
654
651
|
|
655
652
|
terminus.destroy(request)
|
656
653
|
end
|
@@ -659,18 +656,18 @@ describe Puppet::Indirector::REST do
|
|
659
656
|
describe "#save" do
|
660
657
|
let(:http_method) { :put }
|
661
658
|
let(:response) { mock_response(200, 'body') }
|
662
|
-
let(:connection) {
|
659
|
+
let(:connection) { stub('mock http connection', :put => response, :verify_callback= => nil) }
|
663
660
|
let(:instance) { model.new('the thing', 'some contents') }
|
664
661
|
let(:request) { save_request(instance.name, instance) }
|
665
662
|
|
666
663
|
before :each do
|
667
|
-
|
664
|
+
terminus.stubs(:network).returns(connection)
|
668
665
|
end
|
669
666
|
|
670
667
|
it_behaves_like 'a REST terminus method', :save
|
671
668
|
|
672
669
|
it "should call the PUT http method on a network connection" do
|
673
|
-
|
670
|
+
connection.expects(:put).with("#{url_prefix}/test_model/the%20thing?environment=production&", anything, has_key("Content-Type")).returns response
|
674
671
|
|
675
672
|
terminus.save(request)
|
676
673
|
end
|
@@ -682,8 +679,8 @@ describe Puppet::Indirector::REST do
|
|
682
679
|
end
|
683
680
|
|
684
681
|
it "should serialize the instance using the default format and pass the result as the body of the request" do
|
685
|
-
|
686
|
-
|
682
|
+
instance.expects(:render).returns "serial_instance"
|
683
|
+
connection.expects(:put).with(anything, "serial_instance", anything).returns response
|
687
684
|
|
688
685
|
terminus.save(request)
|
689
686
|
end
|
@@ -691,36 +688,36 @@ describe Puppet::Indirector::REST do
|
|
691
688
|
it "returns nil on 404" do
|
692
689
|
response = mock_response('404', nil)
|
693
690
|
|
694
|
-
|
691
|
+
connection.expects(:put).returns(response)
|
695
692
|
|
696
693
|
expect(terminus.save(request)).to eq(nil)
|
697
694
|
end
|
698
695
|
|
699
696
|
it "returns nil" do
|
700
|
-
|
697
|
+
connection.expects(:put).returns response
|
701
698
|
|
702
699
|
expect(terminus.save(request)).to be_nil
|
703
700
|
end
|
704
701
|
|
705
702
|
it "should provide an Accept header containing the list of supported formats joined with commas" do
|
706
|
-
|
703
|
+
connection.expects(:put).with(anything, anything, has_entry("Accept" => "application/json, text/pson")).returns(response)
|
707
704
|
|
708
|
-
|
709
|
-
|
710
|
-
|
705
|
+
instance.expects(:render).returns('')
|
706
|
+
model.expects(:supported_formats).returns [:json, :pson]
|
707
|
+
instance.expects(:mime).returns "supported"
|
711
708
|
|
712
709
|
terminus.save(request)
|
713
710
|
end
|
714
711
|
|
715
712
|
it "provides a version header with the current puppet version" do
|
716
|
-
|
713
|
+
connection.expects(:put).with(anything, anything, has_entry(Puppet::Network::HTTP::HEADER_PUPPET_VERSION => Puppet.version)).returns(response)
|
717
714
|
|
718
715
|
terminus.save(request)
|
719
716
|
end
|
720
717
|
|
721
718
|
it "should provide a Content-Type header containing the mime-type of the sent object" do
|
722
|
-
|
723
|
-
|
719
|
+
instance.expects(:mime).returns "mime"
|
720
|
+
connection.expects(:put).with(anything, anything, has_entry('Content-Type' => "mime")).returns(response)
|
724
721
|
|
725
722
|
terminus.save(request)
|
726
723
|
end
|
@@ -729,31 +726,31 @@ describe Puppet::Indirector::REST do
|
|
729
726
|
describe '#handle_response' do
|
730
727
|
# There are multiple request types to choose from, this may not be the one I want for this situation
|
731
728
|
let(:response) { mock_response(200, 'body') }
|
732
|
-
let(:connection) {
|
729
|
+
let(:connection) { stub('mock http connection', :put => response, :verify_callback= => nil) }
|
733
730
|
let(:instance) { model.new('the thing', 'some contents') }
|
734
731
|
let(:request) { save_request(instance.name, instance) }
|
735
732
|
|
736
733
|
before :each do
|
737
|
-
|
734
|
+
terminus.stubs(:network).returns(connection)
|
738
735
|
end
|
739
736
|
|
740
737
|
it 'adds server_agent_version to the context if not already set' do
|
741
|
-
|
738
|
+
Puppet.expects(:push_context).with(:server_agent_version => Puppet.version)
|
742
739
|
terminus.handle_response(request, response)
|
743
740
|
end
|
744
741
|
|
745
742
|
it 'does not add server_agent_version to the context if it is already set' do
|
746
743
|
Puppet.override(:server_agent_version => "5.3.4") do
|
747
|
-
|
744
|
+
Puppet.expects(:push_context).never
|
748
745
|
terminus.handle_response(request, response)
|
749
746
|
end
|
750
747
|
end
|
751
748
|
|
752
749
|
it 'downgrades to pson and emits a warning' do
|
753
|
-
|
750
|
+
response.stubs(:[]).with(Puppet::Network::HTTP::HEADER_PUPPET_VERSION).returns('4.2.8')
|
754
751
|
Puppet[:preferred_serialization_format] = 'other'
|
755
752
|
|
756
|
-
|
753
|
+
Puppet.expects(:warning).with('Downgrading to PSON for future requests')
|
757
754
|
|
758
755
|
terminus.handle_response(request, response)
|
759
756
|
|
@@ -781,7 +778,7 @@ describe Puppet::Indirector::REST do
|
|
781
778
|
request = Puppet::Indirector::Request.new(:indirection, method, 'key', nil)
|
782
779
|
stub_response = mock_response('200', 'body')
|
783
780
|
|
784
|
-
|
781
|
+
request.expects(:do_request).with(terminus.class.srv_service, terminus.class.server, terminus.class.port).returns(stub_response)
|
785
782
|
|
786
783
|
terminus.send(method, request)
|
787
784
|
end
|