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
@@ -532,7 +532,7 @@ class amod::bad_type {
|
|
532
532
|
).and matching(
|
533
533
|
/dir1\/dir2\]\/ensure: created/
|
534
534
|
).and matching(
|
535
|
-
/dir1\/dir2\/file\]\/ensure: defined content as '{
|
535
|
+
/dir1\/dir2\/file\]\/ensure: defined content as '{sha256}b37c1d77e09471b3139b2cdfee449fd8ba72ebf7634d52023aff0c0cd088cf1b'/
|
536
536
|
)).to_stdout
|
537
537
|
|
538
538
|
dest_file = File.join(base_dir, 'dir1', 'dir2', 'file')
|
@@ -663,4 +663,23 @@ class amod::bad_type {
|
|
663
663
|
end
|
664
664
|
end
|
665
665
|
end
|
666
|
+
|
667
|
+
context 'rich data' do
|
668
|
+
it "calls a deferred 4x function" do
|
669
|
+
apply.command_line.args = ['-e', 'notify { "deferred3x": message => Deferred("join", [[1,2,3], ":"]) }']
|
670
|
+
|
671
|
+
expect {
|
672
|
+
apply.run
|
673
|
+
}.to exit_with(0) # for some reason apply returns 0 instead of 2
|
674
|
+
.and output(%r{Notice: /Stage\[main\]/Main/Notify\[deferred3x\]/message: defined 'message' as '1:2:3'}).to_stdout
|
675
|
+
end
|
676
|
+
|
677
|
+
it "calls a deferred 3x function" do
|
678
|
+
apply.command_line.args = ['-e', 'notify { "deferred4x": message => Deferred("sprintf", ["%s", "I am deferred"]) }']
|
679
|
+
expect {
|
680
|
+
apply.run
|
681
|
+
}.to exit_with(0) # for some reason apply returns 0 instead of 2
|
682
|
+
.and output(%r{Notice: /Stage\[main\]/Main/Notify\[deferred4x\]/message: defined 'message' as 'I am deferred'}).to_stdout
|
683
|
+
end
|
684
|
+
end
|
666
685
|
end
|
@@ -11,7 +11,7 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
|
|
11
11
|
let(:filebucket) { Puppet::Application[:filebucket] }
|
12
12
|
let(:backup_file) { tmpfile('backup_file') }
|
13
13
|
let(:text) { 'some random text' }
|
14
|
-
let(:
|
14
|
+
let(:sha256) { Digest::SHA256.file(backup_file).to_s }
|
15
15
|
|
16
16
|
before :each do
|
17
17
|
Puppet[:log_level] = 'debug'
|
@@ -22,13 +22,13 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
|
|
22
22
|
filebucket.command_line.args = ['backup', backup_file, '--local']
|
23
23
|
expect {
|
24
24
|
filebucket.run
|
25
|
-
}.to output(/: #{
|
25
|
+
}.to output(/: #{sha256}/).to_stdout
|
26
26
|
|
27
27
|
dest = tmpfile('file_bucket_restore')
|
28
|
-
filebucket.command_line.args = ['restore', dest,
|
28
|
+
filebucket.command_line.args = ['restore', dest, sha256, '--local']
|
29
29
|
expect {
|
30
30
|
filebucket.run
|
31
|
-
}.to output(/FileBucket read #{
|
31
|
+
}.to output(/FileBucket read #{sha256}/).to_stdout
|
32
32
|
|
33
33
|
expect(FileUtils.compare_file(backup_file, dest)).to eq(true)
|
34
34
|
end
|
@@ -40,11 +40,11 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
|
|
40
40
|
filebucket.command_line.args = ['backup', backup_file]
|
41
41
|
filebucket.run
|
42
42
|
}.to output(a_string_matching(
|
43
|
-
%r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/
|
43
|
+
%r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/sha256\/#{sha256}\/#{File.realpath(backup_file)}\?environment\=production returned 404 Not Found}
|
44
44
|
).and matching(
|
45
|
-
%r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/
|
45
|
+
%r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/sha256\/#{sha256}\/#{File.realpath(backup_file)}\?environment\=production returned 200 OK}
|
46
46
|
).and matching(
|
47
|
-
%r{#{backup_file}: #{
|
47
|
+
%r{#{backup_file}: #{sha256}}
|
48
48
|
)).to_stdout
|
49
49
|
|
50
50
|
expect(File.binread(File.join(server.upload_directory, 'filebucket'))).to eq(text)
|
@@ -61,9 +61,9 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
|
|
61
61
|
filebucket.command_line.args = ['backup', backup_file]
|
62
62
|
filebucket.run
|
63
63
|
}.to output(a_string_matching(
|
64
|
-
%r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/
|
64
|
+
%r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/sha256/f3aee54d781e413862eb068d89661f930385cc81bbafffc68477ff82eb9bea43/}
|
65
65
|
).and matching(
|
66
|
-
%r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/
|
66
|
+
%r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/sha256/f3aee54d781e413862eb068d89661f930385cc81bbafffc68477ff82eb9bea43/}
|
67
67
|
)).to_stdout
|
68
68
|
|
69
69
|
expect(File.binread(File.join(server.upload_directory, 'filebucket'))).to eq(binary)
|
@@ -80,9 +80,9 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
|
|
80
80
|
filebucket.command_line.args = ['backup', backup_file]
|
81
81
|
filebucket.run
|
82
82
|
}.to output(a_string_matching(
|
83
|
-
%r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/
|
83
|
+
%r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/sha256/51643361c79ecaef25a8de802de24f570ba25d9c2df1d22d94fade11b4f466cc/}
|
84
84
|
).and matching(
|
85
|
-
%r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/
|
85
|
+
%r{Debug: HTTP PUT https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file/sha256/51643361c79ecaef25a8de802de24f570ba25d9c2df1d22d94fade11b4f466cc/}
|
86
86
|
)).to_stdout
|
87
87
|
|
88
88
|
expect(File.read(File.join(server.upload_directory, 'filebucket'), encoding: 'utf-8')).to eq(utf8)
|
@@ -100,9 +100,9 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
|
|
100
100
|
filebucket.command_line.args = ['backup', backup_file]
|
101
101
|
filebucket.run
|
102
102
|
}.to output(a_string_matching(
|
103
|
-
%r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/
|
103
|
+
%r{Debug: HTTP HEAD https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/sha256\/#{sha256}\/#{File.realpath(backup_file)}\?environment\=production returned 200 OK}
|
104
104
|
).and matching(
|
105
|
-
%r{#{backup_file}: #{
|
105
|
+
%r{#{backup_file}: #{sha256}}
|
106
106
|
)).to_stdout
|
107
107
|
end
|
108
108
|
end
|
@@ -119,7 +119,7 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
|
|
119
119
|
filebucket.command_line.args = ['get', 'fac251367c9e083c6b1f0f3181']
|
120
120
|
filebucket.run
|
121
121
|
}.to output(a_string_matching(
|
122
|
-
%r{Debug: HTTP GET https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/
|
122
|
+
%r{Debug: HTTP GET https:\/\/127.0.0.1:#{port}\/puppet\/v3\/file_bucket_file\/sha256\/fac251367c9e083c6b1f0f3181\?environment\=production returned 200 OK}
|
123
123
|
).and matching(
|
124
124
|
%r{something to store}
|
125
125
|
)).to_stdout
|
@@ -191,8 +191,8 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
|
|
191
191
|
File.binwrite(f, "bar\nbaz")
|
192
192
|
f
|
193
193
|
}
|
194
|
-
let(:checksuma) { Digest::
|
195
|
-
let(:checksumb) { Digest::
|
194
|
+
let(:checksuma) { Digest::SHA256.file(filea).to_s }
|
195
|
+
let(:checksumb) { Digest::SHA256.file(fileb).to_s }
|
196
196
|
|
197
197
|
it 'compares to files stored in a local bucket' do
|
198
198
|
expect {
|
@@ -9,7 +9,8 @@ describe "puppet plugin" do
|
|
9
9
|
let(:plugin) { Puppet::Application[:plugin] }
|
10
10
|
let(:response_body) { "[{\"path\":\"/etc/puppetlabs/code/environments/production/modules\",\"relative_path\":\".\",\"links\":\"follow\",\"owner\":0,\"group\":0,\"mode\":493,\"checksum\":{\"type\":\"ctime\",\"value\":\"{ctime}2020-03-06 20:14:25 UTC\"},\"type\":\"directory\",\"destination\":null}]" }
|
11
11
|
|
12
|
-
it "downloads from plugins, pluginsfacts and locales mounts" do
|
12
|
+
it "downloads from plugins, pluginsfacts and locales mounts when i18n is enabled" do
|
13
|
+
Puppet[:disable_i18n] = false
|
13
14
|
current_version_handler = -> (req, res) {
|
14
15
|
res['X-Puppet-Version'] = Puppet.version
|
15
16
|
res['Content-Type'] = 'application/json'
|
@@ -28,6 +29,27 @@ describe "puppet plugin" do
|
|
28
29
|
end
|
29
30
|
end
|
30
31
|
|
32
|
+
it "downloads from plugins, pluginsfacts but no locales mounts when i18n is disabled" do
|
33
|
+
Puppet[:disable_i18n] = true
|
34
|
+
|
35
|
+
current_version_handler = -> (req, res) {
|
36
|
+
res['X-Puppet-Version'] = Puppet.version
|
37
|
+
res['Content-Type'] = 'application/json'
|
38
|
+
res.body = response_body
|
39
|
+
}
|
40
|
+
|
41
|
+
server.start_server(mounts: {file_metadatas: current_version_handler}) do |port|
|
42
|
+
Puppet[:serverport] = port
|
43
|
+
expect {
|
44
|
+
plugin.command_line.args << 'download'
|
45
|
+
plugin.run
|
46
|
+
}.to exit_with(0)
|
47
|
+
.and output(matching(
|
48
|
+
"Downloaded these plugins: #{Regexp.escape(Puppet[:pluginfactdest])}, #{Regexp.escape(Puppet[:plugindest])}"
|
49
|
+
)).to_stdout
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
31
53
|
it "downloads from plugins and pluginsfacts from older puppetservers" do
|
32
54
|
no_locales_handler = -> (req, res) {
|
33
55
|
res['X-Puppet-Version'] = '5.3.3' # locales mount was added in 5.3.4
|
@@ -36,13 +36,6 @@ describe "Puppet defaults" do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
describe "when setting the :serverport" do
|
40
|
-
it "should also set the :masterport to the same value" do
|
41
|
-
Puppet.settings[:serverport] = 9000
|
42
|
-
expect(Puppet.settings[:masterport]).to eq(9000)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
39
|
describe "when setting the :factpath" do
|
47
40
|
it "should add the :factpath to Facter's search paths" do
|
48
41
|
expect(Facter).to receive(:search).with("/my/fact/path")
|
@@ -159,6 +152,10 @@ describe "Puppet defaults" do
|
|
159
152
|
expect(Puppet.settings.value(:preferred_serialization_format)).to eq("json")
|
160
153
|
end
|
161
154
|
|
155
|
+
it "should default to true the disable_i18n setting" do
|
156
|
+
expect(Puppet.settings.value(:disable_i18n)).to eq(true)
|
157
|
+
end
|
158
|
+
|
162
159
|
it "should have a setting for determining the configuration version and should default to an empty string" do
|
163
160
|
expect(Puppet.settings[:config_version]).to eq("")
|
164
161
|
end
|
@@ -171,18 +168,18 @@ describe "Puppet defaults" do
|
|
171
168
|
|
172
169
|
it "should use the default serverport value when report port is unspecified" do
|
173
170
|
Puppet.settings[:serverport] = "1234"
|
174
|
-
expect(Puppet.settings[:report_port]).to eq(
|
171
|
+
expect(Puppet.settings[:report_port]).to eq(1234)
|
175
172
|
end
|
176
173
|
|
177
174
|
it "should use the default masterport value when report port is unspecified" do
|
178
175
|
Puppet.settings[:masterport] = "1234"
|
179
|
-
expect(Puppet.settings[:report_port]).to eq(
|
176
|
+
expect(Puppet.settings[:report_port]).to eq(1234)
|
180
177
|
end
|
181
178
|
|
182
179
|
it "should use report_port when set" do
|
183
180
|
Puppet.settings[:serverport] = "1234"
|
184
181
|
Puppet.settings[:report_port] = "5678"
|
185
|
-
expect(Puppet.settings[:report_port]).to eq(
|
182
|
+
expect(Puppet.settings[:report_port]).to eq(5678)
|
186
183
|
end
|
187
184
|
end
|
188
185
|
|
@@ -12,7 +12,7 @@ describe "setting hooks" do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
it "accesses correct directory environment settings after initializing a setting with an on_write hook" do
|
15
|
-
expect(Puppet.settings.setting(:
|
15
|
+
expect(Puppet.settings.setting(:strict).call_hook).to eq(:on_write_only)
|
16
16
|
|
17
17
|
File.open(File.join(confdir, "puppet.conf"), "w:UTF-8") do |f|
|
18
18
|
f.puts("environmentpath=#{environmentpath}")
|
@@ -86,8 +86,6 @@ describe Puppet::Indirector::FileContent::FileServer, " when finding files" do
|
|
86
86
|
|
87
87
|
# Use a real mount, so the integration is a bit deeper.
|
88
88
|
mount1 = Puppet::FileServing::Configuration::Mount::File.new("one")
|
89
|
-
allow(mount1).to receive(:globalallow?).and_return(true)
|
90
|
-
allow(mount1).to receive(:allowed?).and_return(true)
|
91
89
|
mount1.path = File.join(path, "%h")
|
92
90
|
|
93
91
|
parser = double('parser', :changed? => false)
|
@@ -59,8 +59,6 @@ describe Puppet::Indirector::FileMetadata::FileServer, " when finding files" do
|
|
59
59
|
|
60
60
|
# Use a real mount, so the integration is a bit deeper.
|
61
61
|
mount1 = Puppet::FileServing::Configuration::Mount::File.new("one")
|
62
|
-
allow(mount1).to receive(:globalallow?).and_return(true)
|
63
|
-
allow(mount1).to receive(:allowed?).and_return(true)
|
64
62
|
mount1.path = File.join(env_path, "%h")
|
65
63
|
|
66
64
|
parser = double('parser', :changed? => false)
|
@@ -81,16 +81,6 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
it "doesn't generate a Puppet::SSL::Host deprecation warning" do
|
85
|
-
server.start_server do |port|
|
86
|
-
http = connection(hostname, port)
|
87
|
-
res = http.get('/')
|
88
|
-
expect(res.code).to eq('200')
|
89
|
-
end
|
90
|
-
|
91
|
-
expect(@logs).to eq([])
|
92
|
-
end
|
93
|
-
|
94
84
|
it "detects when the server has closed the connection and reconnects" do
|
95
85
|
server.start_server do |port|
|
96
86
|
http = connection(hostname, port)
|
@@ -101,17 +91,13 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
|
|
101
91
|
end
|
102
92
|
end
|
103
93
|
|
104
|
-
context "when using single use HTTPS connections" do
|
105
|
-
include_examples 'HTTPS client'
|
106
|
-
end
|
107
|
-
|
108
94
|
context "when using persistent HTTPS connections" do
|
109
95
|
around :each do |example|
|
110
|
-
|
111
|
-
Puppet.override(:http_pool => pool) do
|
96
|
+
begin
|
112
97
|
example.run
|
98
|
+
ensure
|
99
|
+
Puppet.runtime[:http].close
|
113
100
|
end
|
114
|
-
pool.close
|
115
101
|
end
|
116
102
|
|
117
103
|
include_examples 'HTTPS client'
|
@@ -183,10 +169,6 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
|
|
183
169
|
end
|
184
170
|
|
185
171
|
describe Puppet::Network::HTTP::Connection do
|
186
|
-
it_behaves_like "an HttpPool connection", described_class, true
|
187
|
-
end
|
188
|
-
|
189
|
-
describe Puppet::Network::HTTP::ConnectionAdapter do
|
190
172
|
it_behaves_like "an HttpPool connection", described_class, false
|
191
173
|
end
|
192
174
|
end
|
@@ -48,44 +48,6 @@ describe "A catalog" do
|
|
48
48
|
expect(resources_in(agent_catalog)).
|
49
49
|
to include_in_order(*resources_in_declaration_order)
|
50
50
|
end
|
51
|
-
|
52
|
-
it "does not contain unrealized, virtual resources" do
|
53
|
-
virtual_resources = ["Unrealized[unreal]", "Class[Unreal]"]
|
54
|
-
|
55
|
-
master_catalog, agent_catalog = master_and_agent_catalogs_for(<<-EOM)
|
56
|
-
class unreal { }
|
57
|
-
define unrealized() { }
|
58
|
-
|
59
|
-
class real {
|
60
|
-
@unrealized { "unreal": }
|
61
|
-
@class { "unreal": }
|
62
|
-
}
|
63
|
-
|
64
|
-
include real
|
65
|
-
EOM
|
66
|
-
|
67
|
-
expect(resources_in(master_catalog)).to_not include(*virtual_resources)
|
68
|
-
expect(resources_in(agent_catalog)).to_not include(*virtual_resources)
|
69
|
-
end
|
70
|
-
|
71
|
-
it "does not contain unrealized, exported resources" do
|
72
|
-
exported_resources = ["Unrealized[unreal]", "Class[Unreal]"]
|
73
|
-
|
74
|
-
master_catalog, agent_catalog = master_and_agent_catalogs_for(<<-EOM)
|
75
|
-
class unreal { }
|
76
|
-
define unrealized() { }
|
77
|
-
|
78
|
-
class real {
|
79
|
-
@@unrealized { "unreal": }
|
80
|
-
@@class { "unreal": }
|
81
|
-
}
|
82
|
-
|
83
|
-
include real
|
84
|
-
EOM
|
85
|
-
|
86
|
-
expect(resources_in(master_catalog)).to_not include(*exported_resources)
|
87
|
-
expect(resources_in(agent_catalog)).to_not include(*exported_resources)
|
88
|
-
end
|
89
51
|
end
|
90
52
|
end
|
91
53
|
|
@@ -117,15 +117,6 @@ describe 'node statements' do
|
|
117
117
|
expect(catalog).to have_resource('Notify[matched]')
|
118
118
|
end
|
119
119
|
|
120
|
-
it 'selects a node that is a prefix of the agent name' do
|
121
|
-
Puppet[:strict_hostname_checking] = false
|
122
|
-
catalog = compile_to_catalog(<<-MANIFEST, Puppet::Node.new("node.name.com"))
|
123
|
-
node 'node.name' { notify { matched: } }
|
124
|
-
MANIFEST
|
125
|
-
|
126
|
-
expect(catalog).to have_resource('Notify[matched]')
|
127
|
-
end
|
128
|
-
|
129
120
|
it 'does not treat regex symbols as a regex inside a string literal' do
|
130
121
|
catalog = compile_to_catalog(<<-MANIFEST, Puppet::Node.new("nodexname"))
|
131
122
|
node 'node.name' { notify { 'not matched': } }
|
@@ -68,16 +68,6 @@ describe 'when pcore described resources types are in use' do
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
RUBY
|
71
|
-
'cap.rb' => <<-EOF
|
72
|
-
module Puppet
|
73
|
-
Type.newtype(:cap, :is_capability => true) do
|
74
|
-
@doc = "Docs for capability"
|
75
|
-
@isomorphic = false
|
76
|
-
newproperty(:message) do
|
77
|
-
desc "Docs for 'message' property"
|
78
|
-
end
|
79
|
-
end;end
|
80
|
-
EOF
|
81
71
|
} } },
|
82
72
|
}
|
83
73
|
}}})
|
@@ -126,14 +116,10 @@ describe 'when pcore described resources types are in use' do
|
|
126
116
|
test3 { 'x/y':
|
127
117
|
message => 'x/y works'
|
128
118
|
}
|
129
|
-
cap { 'c':
|
130
|
-
message => 'c works'
|
131
|
-
}
|
132
119
|
MANIFEST
|
133
120
|
expect(catalog.resource(:test1, "a")['message']).to eq('a works')
|
134
121
|
expect(catalog.resource(:test2, "b")['message']).to eq('b works')
|
135
122
|
expect(catalog.resource(:test3, "x/y")['message']).to eq('x/y works')
|
136
|
-
expect(catalog.resource(:cap, "c")['message']).to eq('c works')
|
137
123
|
end
|
138
124
|
|
139
125
|
it 'the validity of attribute names are checked' do
|
@@ -158,20 +144,6 @@ describe 'when pcore described resources types are in use' do
|
|
158
144
|
expect(catalog.resource(:test1, "a")['noop']).to eq(true)
|
159
145
|
end
|
160
146
|
|
161
|
-
it 'capability is propagated to the catalog' do
|
162
|
-
genface.types
|
163
|
-
catalog = compile_to_catalog(<<-MANIFEST)
|
164
|
-
test2 { 'r':
|
165
|
-
message => 'a resource'
|
166
|
-
}
|
167
|
-
cap { 'c':
|
168
|
-
message => 'a cap'
|
169
|
-
}
|
170
|
-
MANIFEST
|
171
|
-
expect(catalog.resource(:test2, "r").is_capability?).to eq(false)
|
172
|
-
expect(catalog.resource(:cap, "c").is_capability?).to eq(true)
|
173
|
-
end
|
174
|
-
|
175
147
|
it 'a generated type describes if it is isomorphic' do
|
176
148
|
generate_and_in_a_compilers_context do |compiler|
|
177
149
|
t1 = find_resource_type(compiler.topscope, 'test1')
|
@@ -181,15 +153,6 @@ describe 'when pcore described resources types are in use' do
|
|
181
153
|
end
|
182
154
|
end
|
183
155
|
|
184
|
-
it 'a generated type describes if it is a capability' do
|
185
|
-
generate_and_in_a_compilers_context do |compiler|
|
186
|
-
t1 = find_resource_type(compiler.topscope, 'test1')
|
187
|
-
expect(t1.is_capability?).to be(false)
|
188
|
-
t2 = find_resource_type(compiler.topscope, 'cap')
|
189
|
-
expect(t2.is_capability?).to be(true)
|
190
|
-
end
|
191
|
-
end
|
192
|
-
|
193
156
|
it 'a generated type returns parameters defined in pcore' do
|
194
157
|
generate_and_in_a_compilers_context do |compiler|
|
195
158
|
t1 = find_resource_type(compiler.topscope, 'test1')
|
@@ -11,12 +11,8 @@ describe Puppet::Resource::TypeCollection do
|
|
11
11
|
@dir = tmpfile("autoload_testing")
|
12
12
|
FileUtils.mkdir_p @dir
|
13
13
|
|
14
|
-
loader =
|
15
|
-
|
16
|
-
allow(loader).to receive(:set_entry)
|
17
|
-
|
18
|
-
loaders = Object.new
|
19
|
-
expect(loaders).to receive(:runtime3_type_loader).at_most(:once).and_return(loader)
|
14
|
+
loader = double('loader', load: nil, set_entry: nil)
|
15
|
+
loaders = double('loaders', runtime3_type_loader: loader)
|
20
16
|
expect(Puppet::Pops::Loaders).to receive(:loaders).at_most(:once).and_return(loaders)
|
21
17
|
|
22
18
|
environment = Puppet::Node::Environment.create(:env, [@dir])
|
@@ -61,7 +61,7 @@ describe Puppet::Transaction do
|
|
61
61
|
|
62
62
|
transaction = Puppet::Transaction.new(catalog, nil, Puppet::Graph::SequentialPrioritizer.new)
|
63
63
|
|
64
|
-
expect(resource).not_to receive(:
|
64
|
+
expect(resource).not_to receive(:retrieve)
|
65
65
|
|
66
66
|
transaction.evaluate
|
67
67
|
end
|
@@ -86,7 +86,7 @@ describe Puppet::Transaction do
|
|
86
86
|
|
87
87
|
transaction = Puppet::Transaction.new(catalog, nil, Puppet::Graph::SequentialPrioritizer.new)
|
88
88
|
|
89
|
-
expect(resource).not_to receive(:
|
89
|
+
expect(resource).not_to receive(:retrieve)
|
90
90
|
|
91
91
|
transaction.evaluate
|
92
92
|
end
|
@@ -315,16 +315,14 @@ describe Puppet::Transaction do
|
|
315
315
|
file1 = tmpfile("file1")
|
316
316
|
file2 = tmpfile("file2")
|
317
317
|
|
318
|
+
expect(Puppet::FileSystem).to_not be_exist(file2)
|
319
|
+
|
318
320
|
exec1 = Puppet::Type.type(:exec).new(
|
319
321
|
:name => "exec1",
|
320
322
|
:path => ENV["PATH"],
|
321
323
|
:command => touch(file1),
|
322
324
|
)
|
323
325
|
|
324
|
-
allow(exec1).to receive(:eval_generate).and_return(
|
325
|
-
[ Puppet::Type.type(:notify).new(:name => "eval1_notify") ]
|
326
|
-
)
|
327
|
-
|
328
326
|
exec2 = Puppet::Type.type(:exec).new(
|
329
327
|
:name => "exec2",
|
330
328
|
:path => ENV["PATH"],
|
@@ -332,9 +330,6 @@ describe Puppet::Transaction do
|
|
332
330
|
:refreshonly => true,
|
333
331
|
:subscribe => exec1,
|
334
332
|
)
|
335
|
-
allow(exec2).to receive(:eval_generate).and_return(
|
336
|
-
[ Puppet::Type.type(:notify).new(:name => "eval2_notify") ]
|
337
|
-
)
|
338
333
|
|
339
334
|
Puppet[:tags] = "exec"
|
340
335
|
catalog = mk_catalog(exec1, exec2)
|