puppet 6.19.0-x86-mingw32 → 7.3.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/CODEOWNERS +2 -16
- data/Gemfile +3 -4
- data/Gemfile.lock +33 -28
- data/README.md +1 -1
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +2 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/application.rb +182 -104
- data/lib/puppet/application/agent.rb +1 -0
- data/lib/puppet/application/apply.rb +3 -2
- data/lib/puppet/application/device.rb +101 -104
- data/lib/puppet/application/filebucket.rb +15 -11
- data/lib/puppet/application/script.rb +1 -0
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/application_support.rb +7 -0
- data/lib/puppet/configurer.rb +44 -36
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +71 -170
- data/lib/puppet/environments.rb +44 -75
- data/lib/puppet/face/config.rb +10 -0
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +80 -6
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +8 -0
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/posix.rb +10 -0
- data/lib/puppet/ffi/posix/constants.rb +14 -0
- data/lib/puppet/ffi/posix/functions.rb +24 -0
- data/lib/puppet/ffi/windows.rb +12 -0
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +6 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/http/client.rb +164 -114
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -11
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -12
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/resolver/server_list.rb +6 -10
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- data/lib/puppet/http/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service.rb +12 -26
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +22 -69
- data/lib/puppet/http/service/file_server.rb +18 -27
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +24 -3
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/facts/yaml.rb +3 -58
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +2 -6
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +0 -101
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +48 -2
- data/lib/puppet/module_tool/errors/shared.rb +17 -2
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +69 -1
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +73 -18
- data/lib/puppet/parser/ast/leaf.rb +3 -2
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +5 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +0 -45
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- data/lib/puppet/pops/validation/checker4_0.rb +9 -37
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/provider.rb +0 -13
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +4 -0
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pkg.rb +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/reference/configuration.rb +8 -5
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +88 -48
- data/lib/puppet/settings/alias_setting.rb +37 -0
- data/lib/puppet/settings/base_setting.rb +26 -2
- data/lib/puppet/settings/integer_setting.rb +17 -0
- data/lib/puppet/settings/port_setting.rb +15 -0
- data/lib/puppet/settings/priority_setting.rb +5 -4
- data/lib/puppet/ssl.rb +10 -6
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +1 -3
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/transaction/report.rb +2 -4
- data/lib/puppet/type.rb +0 -76
- data/lib/puppet/type/file.rb +5 -7
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/util/autoload.rb +1 -8
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/posix.rb +54 -5
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/run_mode.rb +9 -1
- data/lib/puppet/util/windows.rb +3 -8
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +629 -1314
- data/man/man5/puppet.conf.5 +39 -99
- data/man/man8/puppet-agent.8 +2 -2
- data/man/man8/puppet-apply.8 +2 -2
- 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 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +58 -9
- data/man/man8/puppet-filebucket.8 +6 -6
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +1 -58
- data/man/man8/puppet-node.8 +4 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +4 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +2 -2
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +91 -0
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
- data/spec/integration/application/agent_spec.rb +151 -14
- data/spec/integration/application/apply_spec.rb +20 -1
- data/spec/integration/application/filebucket_spec.rb +16 -16
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/plugin_spec.rb +23 -1
- data/spec/integration/defaults_spec.rb +7 -10
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -37
- data/spec/integration/resource/type_collection_spec.rb +2 -6
- data/spec/integration/transaction_spec.rb +4 -9
- data/spec/integration/type/file_spec.rb +5 -4
- data/spec/integration/util/windows/adsi_spec.rb +3 -1
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/registry_spec.rb +0 -10
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/puppet_spec/puppetserver.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +7 -1
- data/spec/spec_helper.rb +3 -4
- data/spec/unit/agent_spec.rb +8 -8
- data/spec/unit/application/agent_spec.rb +0 -1
- data/spec/unit/application/config_spec.rb +224 -4
- data/spec/unit/application/facts_spec.rb +35 -0
- data/spec/unit/application/filebucket_spec.rb +41 -41
- data/spec/unit/application/ssl_spec.rb +2 -2
- data/spec/unit/application_spec.rb +51 -9
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +12 -9
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +8 -2
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +26 -32
- data/spec/unit/environments_spec.rb +96 -22
- data/spec/unit/face/config_spec.rb +27 -32
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +14 -13
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +22 -19
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- data/spec/unit/file_serving/terminus_helper_spec.rb +11 -4
- data/spec/unit/forge/module_release_spec.rb +2 -7
- data/spec/unit/functions/camelcase_spec.rb +1 -1
- data/spec/unit/functions/capitalize_spec.rb +1 -1
- data/spec/unit/functions/downcase_spec.rb +1 -1
- data/spec/unit/functions/inline_epp_spec.rb +26 -1
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +7 -8
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +13 -13
- data/spec/unit/http/service/compiler_spec.rb +49 -62
- data/spec/unit/http/service/file_server_spec.rb +3 -3
- data/spec/unit/http/service/puppetserver_spec.rb +34 -4
- data/spec/unit/http/service_spec.rb +1 -2
- data/spec/unit/http/session_spec.rb +16 -14
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/face_spec.rb +0 -1
- data/spec/unit/indirector/facts/facter_spec.rb +104 -1
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +26 -8
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/indirection_spec.rb +8 -12
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +66 -0
- data/spec/unit/network/authconfig_spec.rb +2 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +45 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -101
- data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
- data/spec/unit/network/http/api_spec.rb +10 -0
- data/spec/unit/network/http/connection_spec.rb +19 -41
- data/spec/unit/network/http/handler_spec.rb +0 -6
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +33 -21
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/compiler_spec.rb +3 -19
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/resource_spec.rb +14 -8
- data/spec/unit/parser/templatewrapper_spec.rb +4 -3
- data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +20 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
- data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
- data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property_spec.rb +1 -0
- data/spec/unit/provider/nameservice_spec.rb +66 -122
- data/spec/unit/provider/package/apt_spec.rb +4 -8
- data/spec/unit/provider/package/base_spec.rb +6 -5
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/pacman_spec.rb +18 -12
- data/spec/unit/provider/package/pip_spec.rb +6 -11
- data/spec/unit/provider/package/pkgdmg_spec.rb +0 -4
- data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/windows_spec.rb +0 -1
- data/spec/unit/provider/user/aix_spec.rb +5 -0
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/pw_spec.rb +2 -0
- data/spec/unit/provider/user/useradd_spec.rb +1 -0
- data/spec/unit/provider_spec.rb +6 -20
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +11 -66
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +560 -228
- data/spec/unit/ssl/base_spec.rb +36 -4
- data/spec/unit/ssl/certificate_request_spec.rb +15 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +14 -8
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -7
- data/spec/unit/transaction/event_manager_spec.rb +14 -11
- data/spec/unit/transaction/report_spec.rb +0 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +57 -82
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -2
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/selinux_spec.rb +0 -2
- data/spec/unit/type/file/source_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +12 -12
- data/spec/unit/type/group_spec.rb +13 -6
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/resources_spec.rb +7 -7
- data/spec/unit/type/service_spec.rb +1 -1
- data/spec/unit/type/tidy_spec.rb +0 -1
- data/spec/unit/type_spec.rb +22 -2
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +5 -1
- data/spec/unit/util/backups_spec.rb +1 -4
- data/spec/unit/util/execution_spec.rb +15 -40
- data/spec/unit/util/inifile_spec.rb +6 -14
- data/spec/unit/util/log_spec.rb +8 -7
- data/spec/unit/util/logging_spec.rb +3 -3
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +363 -15
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/selinux_spec.rb +76 -52
- data/spec/unit/util/storage_spec.rb +3 -1
- data/spec/unit/util/suidmanager_spec.rb +44 -41
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +13 -24
- metadata +66 -226
- data/conf/auth.conf +0 -150
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -309
- data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
- data/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
- data/lib/puppet/vendor/pathspec/LICENSE +0 -201
- data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/pathspec/README.md +0 -53
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/integration/application/config_spec.rb +0 -74
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/catalog_spec.rb +0 -6
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/module_spec.rb +0 -3
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/indirector/certificate/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
- data/spec/unit/indirector/key/file_spec.rb +0 -79
- data/spec/unit/indirector/ssl_file_spec.rb +0 -305
- data/spec/unit/indirector/status/local_spec.rb +0 -10
- data/spec/unit/indirector/status/rest_spec.rb +0 -50
- data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
- data/spec/unit/network/auth_config_parser_spec.rb +0 -115
- data/spec/unit/network/authstore_spec.rb +0 -422
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -143
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -650
- data/spec/unit/ssl/key_spec.rb +0 -173
- data/spec/unit/ssl/validator_spec.rb +0 -278
- data/spec/unit/status_spec.rb +0 -45
- data/spec/unit/util/ssl_spec.rb +0 -91
@@ -50,4 +50,39 @@ describe Puppet::Application::Facts do
|
|
50
50
|
}.to exit_with(0)
|
51
51
|
.and output(expected).to_stdout
|
52
52
|
end
|
53
|
+
|
54
|
+
context 'when show action is called' do
|
55
|
+
let(:expected) { "{\n \"filesystems\": \"apfs,autofs,devfs\",\n \"macaddress\": \"64:52:11:22:03:25\"\n}\n" }
|
56
|
+
|
57
|
+
before :each do
|
58
|
+
Puppet::Node::Facts.indirection.terminus_class = :facter
|
59
|
+
allow(Facter).to receive(:resolve).and_return(values)
|
60
|
+
app.command_line.args = %w{show}
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'correctly displays facts with default formatting' do
|
64
|
+
expect {
|
65
|
+
app.run
|
66
|
+
}.to exit_with(0)
|
67
|
+
.and output(expected).to_stdout
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
context 'when default action is called' do
|
72
|
+
let(:expected) { "---\nfilesystems: apfs,autofs,devfs\nmacaddress: 64:52:11:22:03:25\n" }
|
73
|
+
|
74
|
+
before :each do
|
75
|
+
Puppet::Node::Facts.indirection.terminus_class = :facter
|
76
|
+
allow(Facter).to receive(:resolve).and_return(values)
|
77
|
+
app.command_line.args = %w{--render-as yaml}
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'calls show action' do
|
81
|
+
expect {
|
82
|
+
app.run
|
83
|
+
}.to exit_with(0)
|
84
|
+
.and output(expected).to_stdout
|
85
|
+
expect(app.action.name).to eq(:show)
|
86
|
+
end
|
87
|
+
end
|
53
88
|
end
|
@@ -42,7 +42,6 @@ describe Puppet::Application::Filebucket do
|
|
42
42
|
describe "during setup" do
|
43
43
|
before :each do
|
44
44
|
allow(Puppet::Log).to receive(:newdestination)
|
45
|
-
allow(Puppet).to receive(:settraps)
|
46
45
|
allow(Puppet::FileBucket::Dipper).to receive(:new)
|
47
46
|
allow(@filebucket.options).to receive(:[])
|
48
47
|
end
|
@@ -115,15 +114,15 @@ describe Puppet::Application::Filebucket do
|
|
115
114
|
end
|
116
115
|
|
117
116
|
it "should default to the first good server_list entry if server_list is set" do
|
118
|
-
stub_request(:get, "https://foo:8140/status/v1/simple/
|
117
|
+
stub_request(:get, "https://foo:8140/status/v1/simple/server").to_return(status: 200)
|
119
118
|
Puppet[:server_list] = "foo,bar,baz"
|
120
119
|
expect(Puppet::FileBucket::Dipper).to receive(:new).with(hash_including(Server: "foo"))
|
121
120
|
@filebucket.setup
|
122
121
|
end
|
123
122
|
|
124
123
|
it "should walk server_list until it finds a good entry" do
|
125
|
-
stub_request(:get, "https://foo:8140/status/v1/simple/
|
126
|
-
stub_request(:get, "https://bar:8140/status/v1/simple/
|
124
|
+
stub_request(:get, "https://foo:8140/status/v1/simple/server").to_return(status: 502)
|
125
|
+
stub_request(:get, "https://bar:8140/status/v1/simple/server").to_return(status: 200)
|
127
126
|
Puppet[:server_list] = "foo,bar,baz"
|
128
127
|
expect(Puppet::FileBucket::Dipper).to receive(:new).with(hash_including(Server: "bar"))
|
129
128
|
@filebucket.setup
|
@@ -131,6 +130,8 @@ describe Puppet::Application::Filebucket do
|
|
131
130
|
|
132
131
|
# FileBucket catches any exceptions raised, logs them, then just exits
|
133
132
|
it "raises an error if there are no functional servers in server_list" do
|
133
|
+
stub_request(:get, "https://foo:8140/status/v1/simple/server").to_return(status: 404)
|
134
|
+
stub_request(:get, "https://bar:8140/status/v1/simple/server").to_return(status: 404)
|
134
135
|
stub_request(:get, "https://foo:8140/status/v1/simple/master").to_return(status: 404)
|
135
136
|
stub_request(:get, "https://bar:8140/status/v1/simple/master").to_return(status: 404)
|
136
137
|
Puppet[:server] = 'horacio'
|
@@ -146,7 +147,7 @@ describe Puppet::Application::Filebucket do
|
|
146
147
|
end
|
147
148
|
|
148
149
|
it "should take both the server and port specified in server_list" do
|
149
|
-
stub_request(:get, "https://foo:632/status/v1/simple/
|
150
|
+
stub_request(:get, "https://foo:632/status/v1/simple/server").to_return(status: 200)
|
150
151
|
Puppet[:server_list] = "foo:632,bar:6215,baz:351"
|
151
152
|
expect(Puppet::FileBucket::Dipper).to receive(:new).with({ :Server => "foo", :Port => 632 })
|
152
153
|
@filebucket.setup
|
@@ -157,7 +158,6 @@ describe Puppet::Application::Filebucket do
|
|
157
158
|
describe "when running" do
|
158
159
|
before :each do
|
159
160
|
allow(Puppet::Log).to receive(:newdestination)
|
160
|
-
allow(Puppet).to receive(:settraps)
|
161
161
|
allow(Puppet::FileBucket::Dipper).to receive(:new)
|
162
162
|
allow(@filebucket.options).to receive(:[])
|
163
163
|
|
@@ -187,11 +187,11 @@ describe Puppet::Application::Filebucket do
|
|
187
187
|
@filebucket.get
|
188
188
|
end
|
189
189
|
|
190
|
-
it "should call the client getfile method with the given
|
191
|
-
|
192
|
-
allow(@filebucket).to receive(:args).and_return([
|
190
|
+
it "should call the client getfile method with the given digest" do
|
191
|
+
digest = 'DEADBEEF'
|
192
|
+
allow(@filebucket).to receive(:args).and_return([digest])
|
193
193
|
|
194
|
-
expect(@client).to receive(:getfile).with(
|
194
|
+
expect(@client).to receive(:getfile).with(digest)
|
195
195
|
|
196
196
|
@filebucket.get
|
197
197
|
end
|
@@ -225,12 +225,12 @@ describe Puppet::Application::Filebucket do
|
|
225
225
|
end
|
226
226
|
|
227
227
|
describe "the command restore" do
|
228
|
-
it "should call the client getfile method with the given
|
229
|
-
|
230
|
-
file=
|
231
|
-
allow(@filebucket).to receive(:args).and_return([file,
|
228
|
+
it "should call the client getfile method with the given digest" do
|
229
|
+
digest = 'DEADBEEF'
|
230
|
+
file = 'testfile'
|
231
|
+
allow(@filebucket).to receive(:args).and_return([file, digest])
|
232
232
|
|
233
|
-
expect(@client).to receive(:restore).with(file,
|
233
|
+
expect(@client).to receive(:restore).with(file, digest)
|
234
234
|
|
235
235
|
@filebucket.restore
|
236
236
|
end
|
@@ -238,55 +238,55 @@ describe Puppet::Application::Filebucket do
|
|
238
238
|
|
239
239
|
describe "the command diff" do
|
240
240
|
it "should call the client diff method with 2 given checksums" do
|
241
|
-
|
242
|
-
|
241
|
+
digest_a = 'DEADBEEF'
|
242
|
+
digest_b = 'BEEF'
|
243
243
|
allow(Puppet::FileSystem).to receive(:exist?).and_return(false)
|
244
|
-
allow(@filebucket).to receive(:args).and_return([
|
244
|
+
allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
|
245
245
|
|
246
|
-
expect(@client).to receive(:diff).with(
|
246
|
+
expect(@client).to receive(:diff).with(digest_a, digest_b, nil, nil)
|
247
247
|
|
248
248
|
@filebucket.diff
|
249
249
|
end
|
250
250
|
|
251
|
-
it "should call the
|
252
|
-
|
253
|
-
|
254
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
255
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
256
|
-
allow(@filebucket).to receive(:args).and_return([
|
251
|
+
it "should call the client diff with a path if the second argument is a file" do
|
252
|
+
digest_a = 'DEADBEEF'
|
253
|
+
digest_b = 'BEEF'
|
254
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_a).and_return(false)
|
255
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_b).and_return(true)
|
256
|
+
allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
|
257
257
|
|
258
|
-
expect(@client).to receive(:diff).with(
|
258
|
+
expect(@client).to receive(:diff).with(digest_a, nil, nil, digest_b)
|
259
259
|
|
260
260
|
@filebucket.diff
|
261
261
|
end
|
262
262
|
|
263
|
-
it "should call the
|
264
|
-
|
265
|
-
|
266
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
267
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
268
|
-
allow(@filebucket).to receive(:args).and_return([
|
263
|
+
it "should call the client diff with a path if the first argument is a file" do
|
264
|
+
digest_a = 'DEADBEEF'
|
265
|
+
digest_b = 'BEEF'
|
266
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_a).and_return(true)
|
267
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_b).and_return(false)
|
268
|
+
allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
|
269
269
|
|
270
|
-
expect(@client).to receive(:diff).with(nil,
|
270
|
+
expect(@client).to receive(:diff).with(nil, digest_b, digest_a, nil)
|
271
271
|
|
272
272
|
@filebucket.diff
|
273
273
|
end
|
274
274
|
|
275
275
|
it "should call the clien diff with paths if the both arguments are files" do
|
276
|
-
|
277
|
-
|
278
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
279
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
280
|
-
allow(@filebucket).to receive(:args).and_return([
|
276
|
+
digest_a = 'DEADBEEF'
|
277
|
+
digest_b = 'BEEF'
|
278
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_a).and_return(true)
|
279
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_b).and_return(true)
|
280
|
+
allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
|
281
281
|
|
282
|
-
expect(@client).to receive(:diff).with(nil, nil,
|
282
|
+
expect(@client).to receive(:diff).with(nil, nil, digest_a, digest_b)
|
283
283
|
|
284
284
|
@filebucket.diff
|
285
285
|
end
|
286
286
|
|
287
287
|
it "should fail if only one checksum is given" do
|
288
|
-
|
289
|
-
allow(@filebucket).to receive(:args).and_return([
|
288
|
+
digest_a = 'DEADBEEF'
|
289
|
+
allow(@filebucket).to receive(:args).and_return([digest_a])
|
290
290
|
|
291
291
|
expect { @filebucket.diff }.to raise_error Puppet::Error
|
292
292
|
end
|
@@ -92,7 +92,7 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
|
|
92
92
|
end
|
93
93
|
|
94
94
|
context 'when submitting a CSR' do
|
95
|
-
let(:csr_path) {
|
95
|
+
let(:csr_path) { Puppet[:hostcsr] }
|
96
96
|
|
97
97
|
before do
|
98
98
|
ssl.command_line.args << 'submit_request'
|
@@ -318,7 +318,7 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
|
|
318
318
|
end
|
319
319
|
|
320
320
|
it 'deletes the request' do
|
321
|
-
path =
|
321
|
+
path = Puppet[:hostcsr]
|
322
322
|
File.write(path, @host[:csr].to_pem)
|
323
323
|
|
324
324
|
expects_command_to_pass(%r{Removed certificate request #{path}})
|
@@ -7,8 +7,10 @@ require 'timeout'
|
|
7
7
|
|
8
8
|
describe Puppet::Application do
|
9
9
|
before(:each) do
|
10
|
-
@
|
11
|
-
|
10
|
+
@appclass = Class.new(Puppet::Application) do
|
11
|
+
def handle_unknown(opt, arg); end
|
12
|
+
end
|
13
|
+
@app = @appclass.new
|
12
14
|
|
13
15
|
allow(@app).to receive(:name).and_return("test_app")
|
14
16
|
end
|
@@ -511,6 +513,40 @@ describe Puppet::Application do
|
|
511
513
|
|
512
514
|
expect { @app.configure_indirector_routes }.to raise_error(Puppet::Error, /mapping values are not allowed/)
|
513
515
|
end
|
516
|
+
|
517
|
+
it "should treat master routes on server application" do
|
518
|
+
allow(@app).to receive(:name).and_return("server")
|
519
|
+
|
520
|
+
Puppet[:route_file] = tmpfile('routes')
|
521
|
+
File.open(Puppet[:route_file], 'w') do |f|
|
522
|
+
f.print <<-ROUTES
|
523
|
+
master:
|
524
|
+
node:
|
525
|
+
terminus: exec
|
526
|
+
ROUTES
|
527
|
+
end
|
528
|
+
|
529
|
+
@app.configure_indirector_routes
|
530
|
+
|
531
|
+
expect(Puppet::Node.indirection.terminus_class).to eq('exec')
|
532
|
+
end
|
533
|
+
|
534
|
+
it "should treat server routes on master application" do
|
535
|
+
allow(@app).to receive(:name).and_return("master")
|
536
|
+
|
537
|
+
Puppet[:route_file] = tmpfile('routes')
|
538
|
+
File.open(Puppet[:route_file], 'w') do |f|
|
539
|
+
f.print <<-ROUTES
|
540
|
+
server:
|
541
|
+
node:
|
542
|
+
terminus: exec
|
543
|
+
ROUTES
|
544
|
+
end
|
545
|
+
|
546
|
+
@app.configure_indirector_routes
|
547
|
+
|
548
|
+
expect(Puppet::Node.indirection.terminus_class).to eq('exec')
|
549
|
+
end
|
514
550
|
end
|
515
551
|
|
516
552
|
describe "when running" do
|
@@ -560,13 +596,6 @@ describe Puppet::Application do
|
|
560
596
|
end
|
561
597
|
|
562
598
|
it "should raise an error if dispatch returns no command" do
|
563
|
-
allow(@app).to receive(:get_command).and_return(nil)
|
564
|
-
expect(Puppet).to receive(:send_log).with(:err, "Could not run: No valid command or main")
|
565
|
-
expect { @app.run }.to exit_with 1
|
566
|
-
end
|
567
|
-
|
568
|
-
it "should raise an error if dispatch returns an invalid command" do
|
569
|
-
allow(@app).to receive(:get_command).and_return(:this_function_doesnt_exist)
|
570
599
|
expect(Puppet).to receive(:send_log).with(:err, "Could not run: No valid command or main")
|
571
600
|
expect { @app.run }.to exit_with 1
|
572
601
|
end
|
@@ -684,5 +713,18 @@ describe Puppet::Application do
|
|
684
713
|
|
685
714
|
@app.handle_logdest_arg(nil)
|
686
715
|
end
|
716
|
+
|
717
|
+
it "accepts multiple destinations as a comma sepparated list" do
|
718
|
+
dest1 = '/tmp/path1'
|
719
|
+
dest2 = 'console'
|
720
|
+
dest3 = '/tmp/path2'
|
721
|
+
dest_args = [dest1, dest2, dest3].join(' , ')
|
722
|
+
|
723
|
+
[dest1, dest2, dest3].each do |dest|
|
724
|
+
expect(Puppet::Util::Log).to receive(:newdestination).with(dest)
|
725
|
+
end
|
726
|
+
|
727
|
+
@app.handle_logdest_arg(dest_args)
|
728
|
+
end
|
687
729
|
end
|
688
730
|
end
|
@@ -7,7 +7,7 @@ describe Puppet::CertificateFactory, :unless => RUBY_PLATFORM == 'java' do
|
|
7
7
|
let :serial do OpenSSL::BN.new('12') end
|
8
8
|
let :name do "example.local" end
|
9
9
|
let :x509_name do OpenSSL::X509::Name.new([['CN', name]]) end
|
10
|
-
let :key do
|
10
|
+
let :key do OpenSSL::PKey::RSA.new(Puppet[:keylength]) end
|
11
11
|
let :csr do
|
12
12
|
csr = Puppet::SSL::CertificateRequest.new(name)
|
13
13
|
csr.generate(key)
|
@@ -189,6 +189,8 @@ describe Puppet::Configurer::Downloader do
|
|
189
189
|
end
|
190
190
|
|
191
191
|
it "should return all changed file paths" do
|
192
|
+
Puppet[:ignore_plugin_errors] = true
|
193
|
+
|
192
194
|
trans = double('transaction')
|
193
195
|
|
194
196
|
catalog = double('catalog')
|
@@ -204,6 +206,8 @@ describe Puppet::Configurer::Downloader do
|
|
204
206
|
end
|
205
207
|
|
206
208
|
it "should yield the resources if a block is given" do
|
209
|
+
Puppet[:ignore_plugin_errors] = true
|
210
|
+
|
207
211
|
trans = double('transaction')
|
208
212
|
|
209
213
|
catalog = double('catalog')
|
@@ -221,6 +225,8 @@ describe Puppet::Configurer::Downloader do
|
|
221
225
|
end
|
222
226
|
|
223
227
|
it "should catch and log exceptions" do
|
228
|
+
Puppet[:ignore_plugin_errors] = true
|
229
|
+
|
224
230
|
expect(Puppet).to receive(:log_exception)
|
225
231
|
# The downloader creates a new catalog for each apply, and really the only object
|
226
232
|
# that it is possible to stub for the purpose of generating a puppet error
|
@@ -230,8 +236,6 @@ describe Puppet::Configurer::Downloader do
|
|
230
236
|
end
|
231
237
|
|
232
238
|
it "raises an exception if catalog application fails" do
|
233
|
-
Puppet[:ignore_plugin_errors] = false
|
234
|
-
|
235
239
|
expect(@dler.file).to receive(:retrieve).and_raise(Puppet::Error, "testing")
|
236
240
|
|
237
241
|
expect {
|
@@ -19,30 +19,68 @@ describe Puppet::Configurer::PluginHandler do
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
context "when i18n is enabled" do
|
23
|
+
before :each do
|
24
|
+
Puppet[:disable_i18n] = false
|
25
|
+
end
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
it "downloads plugins, facts, and locales" do
|
28
|
+
times_called = 0
|
29
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { times_called += 1 }.and_return([])
|
29
30
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
times_called += 1
|
31
|
+
pluginhandler.download_plugins(environment)
|
32
|
+
expect(times_called).to eq(3)
|
33
|
+
end
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
35
|
+
it "returns downloaded plugin, fact, and locale filenames" do
|
36
|
+
times_called = 0
|
37
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
|
38
|
+
times_called += 1
|
39
|
+
|
40
|
+
if times_called == 1
|
41
|
+
%w[/a]
|
42
|
+
elsif times_called == 2
|
43
|
+
%w[/b]
|
44
|
+
else
|
45
|
+
%w[/c]
|
46
|
+
end
|
41
47
|
end
|
48
|
+
|
49
|
+
expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b /c])
|
50
|
+
expect(times_called).to eq(3)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context "when i18n is disabled" do
|
55
|
+
before :each do
|
56
|
+
Puppet[:disable_i18n] = true
|
57
|
+
end
|
58
|
+
|
59
|
+
it "downloads plugins, facts, but no locales" do
|
60
|
+
times_called = 0
|
61
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { times_called += 1 }.and_return([])
|
62
|
+
|
63
|
+
pluginhandler.download_plugins(environment)
|
64
|
+
expect(times_called).to eq(2)
|
42
65
|
end
|
43
66
|
|
44
|
-
|
45
|
-
|
67
|
+
it "returns downloaded plugin, fact, and locale filenames" do
|
68
|
+
times_called = 0
|
69
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
|
70
|
+
times_called += 1
|
71
|
+
|
72
|
+
if times_called == 1
|
73
|
+
%w[/a]
|
74
|
+
elsif times_called == 2
|
75
|
+
%w[/b]
|
76
|
+
else
|
77
|
+
%w[/c]
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b])
|
82
|
+
expect(times_called).to eq(2)
|
83
|
+
end
|
46
84
|
end
|
47
85
|
end
|
48
86
|
|
@@ -384,7 +384,7 @@ describe Puppet::Configurer do
|
|
384
384
|
|
385
385
|
it "sets the checksum_type query param to the default supported_checksum_types in a catalog request" do
|
386
386
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything,
|
387
|
-
hash_including(checksum_type: '
|
387
|
+
hash_including(checksum_type: 'sha256.sha384.sha512.sha224.md5'))
|
388
388
|
configurer.run
|
389
389
|
end
|
390
390
|
|
@@ -657,6 +657,8 @@ describe Puppet::Configurer do
|
|
657
657
|
end
|
658
658
|
|
659
659
|
it "should pluginsync and compile a new catalog if none is found in the cache" do
|
660
|
+
Puppet[:ignore_plugin_errors] = true
|
661
|
+
|
660
662
|
expects_fallback_to_new_catalog(catalog)
|
661
663
|
stub_request(:get, %r{/puppet/v3/file_metadatas?/plugins}).to_return(:status => 404)
|
662
664
|
stub_request(:get, %r{/puppet/v3/file_metadatas?/pluginfacts}).to_return(:status => 404)
|
@@ -668,6 +670,8 @@ describe Puppet::Configurer do
|
|
668
670
|
end
|
669
671
|
|
670
672
|
it "should not attempt to retrieve a cached catalog again if the first attempt failed" do
|
673
|
+
Puppet[:ignore_plugin_errors] = true
|
674
|
+
|
671
675
|
expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
|
672
676
|
expects_neither_new_or_cached_catalog
|
673
677
|
expects_pluginsync
|
@@ -1039,11 +1043,10 @@ describe Puppet::Configurer do
|
|
1039
1043
|
it "should select a server when it receives 200 OK response" do
|
1040
1044
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1041
1045
|
|
1042
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1046
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 200)
|
1043
1047
|
|
1044
1048
|
options = {}
|
1045
1049
|
configurer.run(options)
|
1046
|
-
expect(options[:report].master_used).to eq('myserver:123')
|
1047
1050
|
expect(options[:report].server_used).to eq('myserver:123')
|
1048
1051
|
end
|
1049
1052
|
|
@@ -1051,7 +1054,7 @@ describe Puppet::Configurer do
|
|
1051
1054
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1052
1055
|
Puppet[:usecacheonfailure] = false
|
1053
1056
|
|
1054
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1057
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: [500, "Internal Server Error"])
|
1055
1058
|
|
1056
1059
|
expect {
|
1057
1060
|
configurer.run
|
@@ -1064,8 +1067,8 @@ describe Puppet::Configurer do
|
|
1064
1067
|
Puppet.settings[:server_list] = "myserver:123,someotherservername"
|
1065
1068
|
Puppet[:usecacheonfailure] = false
|
1066
1069
|
|
1067
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1068
|
-
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/
|
1070
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 400)
|
1071
|
+
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/server').to_return(status: 400)
|
1069
1072
|
|
1070
1073
|
expect{
|
1071
1074
|
configurer.run
|
@@ -1076,8 +1079,8 @@ describe Puppet::Configurer do
|
|
1076
1079
|
Puppet.settings[:server_list] = "myserver:123,someotherservername"
|
1077
1080
|
Puppet[:usecacheonfailure] = true
|
1078
1081
|
|
1079
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1080
|
-
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/
|
1082
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 400)
|
1083
|
+
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/server').to_return(status: 400)
|
1081
1084
|
|
1082
1085
|
options = {}
|
1083
1086
|
|
@@ -1091,7 +1094,7 @@ describe Puppet::Configurer do
|
|
1091
1094
|
Puppet::Node.indirection.terminus_class = :rest
|
1092
1095
|
Puppet::Resource::Catalog.indirection.terminus_class = :rest
|
1093
1096
|
|
1094
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1097
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 200)
|
1095
1098
|
stub_request(:post, %r{https://myserver:123/puppet/v3/catalog}).to_return(status: 200)
|
1096
1099
|
node_request = stub_request(:get, %r{https://myserver:123/puppet/v3/node/}).to_return(status: 200)
|
1097
1100
|
|