puppet 6.19.1-x86-mingw32 → 7.0.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +19 -20
- 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 +1 -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 +172 -98
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/filebucket.rb +15 -11
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +28 -33
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +95 -159
- data/lib/puppet/environments.rb +10 -25
- data/lib/puppet/face/config.rb +10 -0
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +66 -6
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/plugin.rb +5 -8
- 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 +3 -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/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +2 -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/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/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/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/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/directoryservice.rb +0 -10
- data/lib/puppet/reference/configuration.rb +2 -0
- 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 +45 -33
- 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/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/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 +531 -1232
- data/man/man5/puppet.conf.5 +37 -97
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +55 -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 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/integration/application/agent_spec.rb +24 -11
- data/spec/integration/application/apply_spec.rb +1 -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 -3
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- 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/type/file_spec.rb +5 -4
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- 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 +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- 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 -39
- data/spec/unit/application/ssl_spec.rb +2 -2
- 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/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +77 -28
- data/spec/unit/environments_spec.rb +0 -3
- data/spec/unit/face/config_spec.rb +27 -32
- data/spec/unit/face/facts_spec.rb +4 -0
- 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 +14 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- 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/facts/facter_spec.rb +97 -0
- 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_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/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/network/authconfig_spec.rb +2 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +4 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
- 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/functions/create_resources_spec.rb +2 -20
- 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/provider/nameservice_spec.rb +0 -57
- 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/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_spec.rb +0 -12
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +0 -56
- 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 +423 -236
- data/spec/unit/ssl/base_spec.rb +36 -3
- 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 +11 -8
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- 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 +45 -79
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -1
- 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/source_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +12 -6
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type_spec.rb +20 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +21 -121
- 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 +0 -18
- metadata +50 -232
- 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
@@ -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,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
|
|
@@ -4,11 +4,7 @@ require 'puppet/certificate_factory'
|
|
4
4
|
require 'puppet/context/trusted_information'
|
5
5
|
|
6
6
|
describe Puppet::Context::TrustedInformation, :unless => RUBY_PLATFORM == 'java' do
|
7
|
-
let(:key)
|
8
|
-
key = Puppet::SSL::Key.new("myname")
|
9
|
-
key.generate
|
10
|
-
key
|
11
|
-
end
|
7
|
+
let(:key) { OpenSSL::PKey::RSA.new(Puppet[:keylength]) }
|
12
8
|
|
13
9
|
let(:csr) do
|
14
10
|
csr = Puppet::SSL::CertificateRequest.new("csr")
|
@@ -26,7 +22,7 @@ describe Puppet::Context::TrustedInformation, :unless => RUBY_PLATFORM == 'java'
|
|
26
22
|
|
27
23
|
# The cert must be signed so that it can be successfully be DER-decoded later
|
28
24
|
signer = Puppet::SSL::CertificateSigner.new
|
29
|
-
signer.sign(cert.content, key
|
25
|
+
signer.sign(cert.content, key)
|
30
26
|
cert
|
31
27
|
end
|
32
28
|
|
data/spec/unit/defaults_spec.rb
CHANGED
@@ -65,9 +65,9 @@ describe "Defaults" do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
describe '.default_digest_algorithm' do
|
68
|
-
it 'defaults to
|
68
|
+
it 'defaults to sha256 when FIPS is not enabled' do
|
69
69
|
allow(Puppet::Util::Platform).to receive(:fips_enabled?).and_return(false)
|
70
|
-
expect(Puppet.default_digest_algorithm).to eq('
|
70
|
+
expect(Puppet.default_digest_algorithm).to eq('sha256')
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'defaults to sha256 when FIPS is enabled' do
|
@@ -77,9 +77,9 @@ describe "Defaults" do
|
|
77
77
|
end
|
78
78
|
|
79
79
|
describe '.supported_checksum_types' do
|
80
|
-
it 'defaults to
|
80
|
+
it 'defaults to sha256, sha384, sha512, sha224, md5 when FIPS is not enabled' do
|
81
81
|
allow(Puppet::Util::Platform).to receive(:fips_enabled?).and_return(false)
|
82
|
-
expect(Puppet.default_file_checksum_types).to eq(%w[
|
82
|
+
expect(Puppet.default_file_checksum_types).to eq(%w[sha256 sha384 sha512 sha224 md5])
|
83
83
|
end
|
84
84
|
|
85
85
|
it 'defaults to sha256, sha384, sha512, sha224 when FIPS is enabled' do
|
@@ -89,8 +89,8 @@ describe "Defaults" do
|
|
89
89
|
end
|
90
90
|
|
91
91
|
describe 'Puppet[:supported_checksum_types]' do
|
92
|
-
it 'defaults to
|
93
|
-
expect(Puppet.settings[:supported_checksum_types]).to eq(%w[
|
92
|
+
it 'defaults to sha256, sha512, sha384, sha224, md5' do
|
93
|
+
expect(Puppet.settings[:supported_checksum_types]).to eq(%w[sha256 sha384 sha512 sha224 md5])
|
94
94
|
end
|
95
95
|
|
96
96
|
it 'should raise an error on an unsupported checksum type' do
|
@@ -182,37 +182,86 @@ describe "Defaults" do
|
|
182
182
|
end
|
183
183
|
end
|
184
184
|
|
185
|
-
describe "
|
186
|
-
it
|
187
|
-
expect(Puppet
|
185
|
+
describe "deprecated settings" do
|
186
|
+
it 'does not issue a deprecation warning by default' do
|
187
|
+
expect(Puppet).to receive(:deprecation_warning).never
|
188
|
+
|
189
|
+
Puppet.initialize_settings
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
describe "the call hook for the cadir setting", unless: Puppet::Util::Platform.windows? do
|
194
|
+
it 'does not warn when the cadir is outside the puppet ssldir' do
|
195
|
+
FileUtils.mkdir_p(Puppet[:confdir])
|
196
|
+
# This is fun; in order to get the confdir setting from the spec_helper to
|
197
|
+
# not be deleted by the #unsafe_clear in Puppet::Settings#parse_config,
|
198
|
+
# we can code it into the confdir itself, and thus we can avoid getting
|
199
|
+
# that setting wiped out during Puppet.initialize_settings.
|
200
|
+
File.write(File.join(Puppet[:confdir], 'puppet.conf'),
|
201
|
+
"cadir = /my/cool/path/for/my/cadir\n
|
202
|
+
confdir = #{Puppet[:confdir]}")
|
203
|
+
expect(Puppet).to_not receive(:log_ca_migration_warning)
|
204
|
+
Puppet.initialize_settings
|
205
|
+
expect(Puppet[:cadir]).to eq("/my/cool/path/for/my/cadir")
|
188
206
|
end
|
189
207
|
|
190
|
-
it
|
191
|
-
|
208
|
+
it 'does warn when the cadir is inside the puppet ssldir' do
|
209
|
+
FileUtils.mkdir_p(Puppet[:confdir])
|
210
|
+
cadir_location = File.join(Puppet[:ssldir], 'still_inside_ssldir')
|
211
|
+
# This is fun; in order to get the confdir setting from the spec_helper to
|
212
|
+
# not be deleted by the #unsafe_clear in Puppet::Settings#parse_config,
|
213
|
+
# we can code it into the confdir itself, and thus we can avoid getting
|
214
|
+
# that setting wiped out during Puppet.initialize_settings.
|
215
|
+
File.write(File.join(Puppet[:confdir], 'puppet.conf'),
|
216
|
+
"cadir = #{cadir_location}\n
|
217
|
+
confdir = #{Puppet[:confdir]}")
|
218
|
+
expect(Puppet).to receive(:log_ca_migration_warning).twice
|
219
|
+
Puppet.initialize_settings
|
220
|
+
expect(Puppet[:cadir]).to eq(cadir_location)
|
221
|
+
end
|
222
|
+
end
|
192
223
|
|
193
|
-
|
224
|
+
describe "the default cadir", :unless => Puppet::Util::Platform.windows? do
|
225
|
+
it 'defaults to the puppetserver confdir' do
|
226
|
+
Puppet.initialize_settings
|
227
|
+
expect(Puppet[:cadir]).to eq('/etc/puppetlabs/puppetserver/ca')
|
194
228
|
end
|
195
229
|
|
196
|
-
|
197
|
-
|
198
|
-
|
230
|
+
it 'returns an empty string for Windows platforms', :if => Puppet::Util::Platform.windows? do
|
231
|
+
Puppet.initialize_settings
|
232
|
+
expect(Puppet[:cadir]).to eq("")
|
233
|
+
end
|
234
|
+
end
|
199
235
|
|
200
|
-
|
201
|
-
|
236
|
+
describe '#default_cadir', :unless => Puppet::Util::Platform.windows? do
|
237
|
+
it 'returns the new puppetserver directory when no ca dir is present' do
|
238
|
+
expect(Puppet).to_not receive(:log_ca_migration_warning)
|
239
|
+
expect(Puppet.default_cadir).to eq('/etc/puppetlabs/puppetserver/ca')
|
240
|
+
end
|
202
241
|
|
203
|
-
|
204
|
-
|
205
|
-
|
242
|
+
it 'warns when a CA dir exists in the current ssldir' do
|
243
|
+
cadir = File.join(Puppet[:ssldir], 'ca')
|
244
|
+
FileUtils.mkdir_p(cadir)
|
245
|
+
expect(Puppet).to receive(:log_ca_migration_warning)
|
246
|
+
expect(Puppet.default_cadir).to eq(cadir)
|
247
|
+
end
|
206
248
|
|
207
|
-
|
208
|
-
|
209
|
-
|
249
|
+
it 'warns when the cadir is a symlink still inside the ssldir' do
|
250
|
+
another_dir = File.join(Puppet[:ssldir], 'another_dir')
|
251
|
+
cadir = File.join(Puppet[:ssldir], 'ca')
|
252
|
+
FileUtils.mkdir_p(another_dir)
|
253
|
+
File.symlink(another_dir, cadir)
|
254
|
+
expect(Puppet).to receive(:log_ca_migration_warning)
|
255
|
+
expect(Puppet.default_cadir).to eq(another_dir)
|
256
|
+
end
|
210
257
|
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
258
|
+
it 'does not warn when the cadir is a symlink targeted outside the ssldir' do
|
259
|
+
another_dir = Dir.mktmpdir
|
260
|
+
cadir = File.join(Puppet[:ssldir], 'ca')
|
261
|
+
FileUtils.mkdir_p(Puppet[:ssldir])
|
262
|
+
File.symlink(another_dir, cadir)
|
263
|
+
expect(Puppet).to_not receive(:log_ca_migration_warning)
|
264
|
+
expect(Puppet.default_cadir).to eq(another_dir)
|
216
265
|
end
|
217
266
|
end
|
218
267
|
end
|
@@ -677,7 +677,6 @@ config_version=$vardir/random/scripts
|
|
677
677
|
|
678
678
|
it "evicts an environment that hasn't been recently touched" do
|
679
679
|
Puppet[:environment_timeout] = 1
|
680
|
-
Puppet[:environment_timeout_mode] = :from_last_used
|
681
680
|
|
682
681
|
with_environment_loaded(service) do |cached|
|
683
682
|
future = Time.now + 60
|
@@ -694,7 +693,6 @@ config_version=$vardir/random/scripts
|
|
694
693
|
|
695
694
|
it "reuses an environment that was recently touched" do
|
696
695
|
Puppet[:environment_timeout] = 60
|
697
|
-
Puppet[:environment_timeout_mode] = :from_last_used
|
698
696
|
|
699
697
|
with_environment_loaded(service) do |cached|
|
700
698
|
# reuse the already cached environment
|
@@ -707,7 +705,6 @@ config_version=$vardir/random/scripts
|
|
707
705
|
|
708
706
|
it "evicts a recently touched environment" do
|
709
707
|
Puppet[:environment_timeout] = 60
|
710
|
-
Puppet[:environment_timeout_mode] = :from_last_used
|
711
708
|
|
712
709
|
# see note above about "twice"
|
713
710
|
expect(service).to receive(:expired?).twice.and_return(true)
|
@@ -138,7 +138,7 @@ trace = true
|
|
138
138
|
Puppet[:log_level] = 'info'
|
139
139
|
allow(Puppet::FileSystem).to receive(:open).with(path, anything, anything).and_yield(StringIO.new)
|
140
140
|
expect {
|
141
|
-
subject.set('
|
141
|
+
subject.set('certname', 'bar')
|
142
142
|
}.to output("\e[1;33mResolving settings from section 'main' in environment 'production'\e[0m\n").to_stderr
|
143
143
|
end
|
144
144
|
|
@@ -146,19 +146,19 @@ trace = true
|
|
146
146
|
Puppet[:log_level] = 'info'
|
147
147
|
allow(Puppet::FileSystem).to receive(:open).with(path, anything, anything).and_yield(StringIO.new)
|
148
148
|
expect {
|
149
|
-
subject.set('
|
149
|
+
subject.set('certname', 'bar', {:section => "baz"})
|
150
150
|
}.to output("\e[1;33mResolving settings from section 'baz' in environment 'production'\e[0m\n").to_stderr
|
151
151
|
end
|
152
152
|
|
153
153
|
it "writes to the correct puppet config file" do
|
154
154
|
expect(Puppet::FileSystem).to receive(:open).with(path, anything, anything)
|
155
|
-
subject.set('
|
155
|
+
subject.set('certname', 'bar')
|
156
156
|
end
|
157
157
|
|
158
158
|
it "creates a config file if one does not exist" do
|
159
159
|
allow(Puppet::FileSystem).to receive(:open).with(path, anything, anything).and_yield(StringIO.new)
|
160
160
|
expect(Puppet::FileSystem).to receive(:touch).with(path)
|
161
|
-
subject.set('
|
161
|
+
subject.set('certname', 'bar')
|
162
162
|
end
|
163
163
|
|
164
164
|
it "sets the supplied config/value in the default section (main)" do
|
@@ -167,8 +167,8 @@ trace = true
|
|
167
167
|
manipulator = Puppet::Settings::IniFile::Manipulator.new(config)
|
168
168
|
allow(Puppet::Settings::IniFile::Manipulator).to receive(:new).and_return(manipulator)
|
169
169
|
|
170
|
-
expect(manipulator).to receive(:set).with("main", "
|
171
|
-
subject.set('
|
170
|
+
expect(manipulator).to receive(:set).with("main", "certname", "bar")
|
171
|
+
subject.set('certname', 'bar')
|
172
172
|
end
|
173
173
|
|
174
174
|
it "sets the value in the supplied section" do
|
@@ -177,8 +177,8 @@ trace = true
|
|
177
177
|
manipulator = Puppet::Settings::IniFile::Manipulator.new(config)
|
178
178
|
allow(Puppet::Settings::IniFile::Manipulator).to receive(:new).and_return(manipulator)
|
179
179
|
|
180
|
-
expect(manipulator).to receive(:set).with("baz", "
|
181
|
-
subject.set('
|
180
|
+
expect(manipulator).to receive(:set).with("baz", "certname", "bar")
|
181
|
+
subject.set('certname', 'bar', {:section => "baz"})
|
182
182
|
end
|
183
183
|
|
184
184
|
it "does not duplicate an existing default section when a section is not specified" do
|
@@ -190,53 +190,48 @@ trace = true
|
|
190
190
|
myfile = StringIO.new(contents)
|
191
191
|
allow(Puppet::FileSystem).to receive(:open).with(path, anything, anything).and_yield(myfile)
|
192
192
|
|
193
|
-
subject.set('
|
193
|
+
subject.set('certname', 'bar')
|
194
194
|
|
195
|
-
expect(myfile.string).to match(/
|
195
|
+
expect(myfile.string).to match(/certname = bar/)
|
196
196
|
expect(myfile.string).not_to match(/main.*main/)
|
197
197
|
end
|
198
198
|
|
199
199
|
it "opens the file with UTF-8 encoding" do
|
200
200
|
expect(Puppet::FileSystem).to receive(:open).with(path, nil, 'r+:UTF-8')
|
201
|
-
subject.set('
|
201
|
+
subject.set('certname', 'bar')
|
202
202
|
end
|
203
203
|
|
204
204
|
it "sets settings into the [server] section when setting [master] section settings" do
|
205
|
-
initial_contents =
|
206
|
-
[master]
|
207
|
-
|
208
|
-
|
205
|
+
initial_contents = <<~CONFIG
|
206
|
+
[master]
|
207
|
+
node_terminus = none
|
208
|
+
reports = log
|
209
209
|
CONFIG
|
210
210
|
|
211
211
|
myinitialfile = StringIO.new(initial_contents)
|
212
212
|
allow(Puppet::FileSystem).to receive(:open).with(path, anything, anything).and_yield(myinitialfile)
|
213
213
|
|
214
214
|
expect {
|
215
|
-
subject.set('
|
216
|
-
}.to output("Deleted setting from 'master': '
|
217
|
-
modified_content = <<-CONFIG
|
218
|
-
[master]
|
219
|
-
untouched_setting = value
|
220
|
-
[server]
|
221
|
-
setting = new_setting_value
|
222
|
-
CONFIG
|
215
|
+
subject.set('node_terminus', 'exec', {:section => 'master'})
|
216
|
+
}.to output("Deleted setting from 'master': 'node_terminus = none', and adding it to 'server' section\n").to_stdout
|
223
217
|
|
224
|
-
|
225
|
-
|
218
|
+
expect(myinitialfile.string).to match(<<~CONFIG)
|
219
|
+
[master]
|
220
|
+
reports = log
|
221
|
+
[server]
|
222
|
+
node_terminus = exec
|
223
|
+
CONFIG
|
226
224
|
end
|
227
225
|
|
228
226
|
it "setting [master] section settings, sets settings into [server] section instead" do
|
229
227
|
myinitialfile = StringIO.new("")
|
230
228
|
allow(Puppet::FileSystem).to receive(:open).with(path, anything, anything).and_yield(myinitialfile)
|
231
|
-
subject.set('
|
229
|
+
subject.set('node_terminus', 'exec', {:section => 'master'})
|
232
230
|
|
233
|
-
|
234
|
-
[server]
|
235
|
-
|
231
|
+
expect(myinitialfile.string).to match(<<~CONFIG)
|
232
|
+
[server]
|
233
|
+
node_terminus = exec
|
236
234
|
CONFIG
|
237
|
-
|
238
|
-
myexpectedfile = StringIO.new(expected_content)
|
239
|
-
expect(myinitialfile.string).to match(myexpectedfile.string)
|
240
235
|
end
|
241
236
|
end
|
242
237
|
|