puppet 6.17.0-x64-mingw32 → 7.1.0-x64-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 +32 -30
- data/README.md +2 -3
- data/Rakefile +4 -12
- 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/agent/locker.rb +0 -7
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/agent.rb +8 -3
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +15 -11
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/application_support.rb +7 -0
- data/lib/puppet/configurer.rb +46 -19
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/confine.rb +1 -1
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/defaults.rb +116 -162
- data/lib/puppet/environments.rb +72 -62
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +56 -16
- 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/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +10 -2
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/feature/base.rb +1 -1
- 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_bucket/dipper.rb +1 -1
- 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/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +3 -3
- 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/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/rstrip.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/functions/strip.rb +4 -4
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/gettext/config.rb +5 -5
- data/lib/puppet/gettext/module_translations.rb +4 -4
- data/lib/puppet/http.rb +23 -13
- data/lib/puppet/http/client.rb +165 -115
- 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 +10 -23
- data/lib/puppet/http/resolver/server_list.rb +23 -45
- data/lib/puppet/http/resolver/settings.rb +7 -10
- data/lib/puppet/http/resolver/srv.rb +11 -15
- 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 +15 -27
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -70
- data/lib/puppet/http/service/file_server.rb +19 -28
- data/lib/puppet/http/service/puppetserver.rb +53 -0
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +16 -24
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +27 -6
- 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 +4 -59
- 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/http.rb +1 -0
- 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/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/msgpack.rb +1 -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/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +1 -102
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/module.rb +1 -2
- 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/format_support.rb +2 -2
- 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/api/master/v3/environments.rb +0 -1
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/node/environment.rb +12 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +93 -14
- data/lib/puppet/parameter.rb +1 -1
- 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/functions.rb +21 -17
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +2 -2
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- 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/loader/runtime3_type_loader.rb +4 -2
- data/lib/puppet/pops/loaders.rb +18 -11
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
- 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/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- 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 +28 -52
- 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/file/windows.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +34 -0
- data/lib/puppet/provider/package/dpkg.rb +1 -11
- data/lib/puppet/provider/package/gem.rb +27 -5
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pip2.rb +17 -0
- 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 +6 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +1 -0
- data/lib/puppet/provider/package/zypper.rb +3 -0
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/aix.rb +3 -3
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- 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 +5 -120
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +84 -35
- 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 +11 -6
- data/lib/puppet/transaction.rb +3 -9
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +10 -8
- data/lib/puppet/trusted_external.rb +2 -2
- data/lib/puppet/type.rb +4 -79
- data/lib/puppet/type/file.rb +7 -9
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +29 -9
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/type/service.rb +4 -0
- data/lib/puppet/type/user.rb +19 -4
- data/lib/puppet/util.rb +26 -12
- data/lib/puppet/util/autoload.rb +9 -7
- data/lib/puppet/util/character_encoding.rb +9 -5
- data/lib/puppet/util/execution.rb +2 -13
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/posix.rb +53 -4
- 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 +14 -2
- data/lib/puppet/util/windows.rb +3 -7
- 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/security.rb +4 -4
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +219 -0
- 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 +656 -1351
- data/man/man5/puppet.conf.5 +72 -97
- data/man/man8/puppet-agent.8 +6 -3
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- 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 +2 -2
- data/man/man8/puppet-module.8 +1 -58
- data/man/man8/puppet-node.8 +7 -4
- 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/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
- data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -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 +70 -61
- data/spec/integration/application/apply_spec.rb +150 -150
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +78 -29
- data/spec/integration/application/help_spec.rb +44 -0
- data/spec/integration/application/lookup_spec.rb +13 -0
- data/spec/integration/application/module_spec.rb +68 -0
- data/spec/integration/application/plugin_spec.rb +76 -4
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +32 -3
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/node/environment_spec.rb +1 -1
- 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/execution_spec.rb +22 -0
- data/spec/integration/util/windows/adsi_spec.rb +2 -2
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/process_spec.rb +26 -32
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/integration/util/windows/user_spec.rb +7 -0
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +9 -1
- data/spec/lib/puppet_spec/settings.rb +7 -1
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/agent_spec.rb +3 -4
- data/spec/unit/application/config_spec.rb +224 -4
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +6 -4
- data/spec/unit/application/facts_spec.rb +74 -8
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/resource_spec.rb +3 -1
- data/spec/unit/application/ssl_spec.rb +17 -4
- data/spec/unit/application_spec.rb +43 -4
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +14 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +96 -44
- data/spec/unit/confine_spec.rb +2 -1
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +26 -32
- data/spec/unit/environments_spec.rb +173 -32
- data/spec/unit/face/config_spec.rb +65 -12
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +16 -4
- 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/file_serving/mount/locales_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
- data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
- data/spec/unit/file_system/uniquefile_spec.rb +18 -0
- data/spec/unit/file_system_spec.rb +1 -2
- 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 -9
- 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 +34 -15
- data/spec/unit/http/service/ca_spec.rb +2 -3
- data/spec/unit/http/service/compiler_spec.rb +51 -65
- data/spec/unit/http/service/file_server_spec.rb +5 -6
- data/spec/unit/http/service/puppetserver_spec.rb +112 -0
- data/spec/unit/http/service/report_spec.rb +2 -3
- data/spec/unit/http/service_spec.rb +1 -3
- data/spec/unit/http/session_spec.rb +24 -35
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/facter_spec.rb +97 -0
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- 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/json_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- 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 +2 -266
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/authconfig_spec.rb +2 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/format_support_spec.rb +3 -2
- 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/environments_spec.rb +12 -23
- 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 +51 -22
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/templatewrapper_spec.rb +4 -3
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +76 -21
- data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
- 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/exec_spec.rb +4 -3
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- data/spec/unit/provider/package/apt_spec.rb +77 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dpkg_spec.rb +22 -55
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +6 -2
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/yum_spec.rb +31 -0
- data/spec/unit/provider/package/zypper_spec.rb +14 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +45 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +402 -166
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +3 -6
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/provider/service/windows_spec.rb +28 -1
- data/spec/unit/provider/user/aix_spec.rb +5 -0
- data/spec/unit/provider/user/pw_spec.rb +2 -0
- data/spec/unit/provider/user/useradd_spec.rb +1 -0
- data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
- data/spec/unit/provider_spec.rb +0 -12
- data/spec/unit/puppet_pal_2pec.rb +40 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- data/spec/unit/reports/store_spec.rb +17 -13
- 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 +586 -239
- 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/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +2 -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 +1 -2
- data/spec/unit/type/file_spec.rb +12 -6
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +35 -2
- data/spec/unit/type/user_spec.rb +31 -2
- data/spec/unit/type_spec.rb +20 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/character_encoding_spec.rb +4 -4
- data/spec/unit/util/command_line_spec.rb +11 -6
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +357 -15
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +27 -127
- data/spec/unit/util/storage_spec.rb +3 -1
- 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 +84 -261
- 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 -295
- 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/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- data/spec/integration/file_bucket/file_spec.rb +0 -50
- data/spec/integration/file_serving/content_spec.rb +0 -7
- data/spec/integration/file_serving/fileset_spec.rb +0 -12
- data/spec/integration/file_serving/metadata_spec.rb +0 -8
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
- data/spec/integration/file_system/uniquefile_spec.rb +0 -26
- data/spec/integration/module_tool/forge_spec.rb +0 -51
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/provider/service/init_spec.rb +0 -48
- data/spec/integration/provider/service/systemd_spec.rb +0 -25
- data/spec/integration/provider/service/windows_spec.rb +0 -50
- data/spec/integration/reference/providers_spec.rb +0 -21
- data/spec/integration/reports_spec.rb +0 -13
- data/spec/integration/ssl/certificate_request_spec.rb +0 -44
- data/spec/integration/ssl/host_spec.rb +0 -72
- data/spec/integration/ssl/key_spec.rb +0 -99
- data/spec/shared_behaviours/file_serving_model.rb +0 -51
- 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/man_spec.rb +0 -25
- 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/man_spec.rb +0 -31
- 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
@@ -15,15 +15,18 @@ describe Puppet::Network::HTTP::API::Master::V3 do
|
|
15
15
|
chain(Puppet::Network::HTTP::API::Master::V3.routes)
|
16
16
|
}
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
# simulate puppetserver registering its authconfigloader class
|
19
|
+
around :each do |example|
|
20
|
+
Puppet::Network::Authorization.authconfigloader_class = Object
|
21
|
+
begin
|
22
|
+
example.run
|
23
|
+
ensure
|
24
|
+
Puppet::Network::Authorization.authconfigloader_class = nil
|
25
|
+
end
|
23
26
|
end
|
24
27
|
|
25
|
-
it "mounts the
|
26
|
-
request = Puppet::Network::HTTP::Request.from_hash(:path => "#{master_url_prefix}/
|
28
|
+
it "mounts the environments endpoint" do
|
29
|
+
request = Puppet::Network::HTTP::Request.from_hash(:path => "#{master_url_prefix}/environments")
|
27
30
|
master_routes.process(request, response)
|
28
31
|
|
29
32
|
expect(response.code).to eq(200)
|
@@ -54,4 +57,22 @@ describe Puppet::Network::HTTP::API::Master::V3 do
|
|
54
57
|
master_routes.process(request, response)
|
55
58
|
}.to raise_error(not_found_error)
|
56
59
|
end
|
60
|
+
|
61
|
+
it "checks authorization for indirected routes" do
|
62
|
+
Puppet::Network::Authorization.authconfigloader_class = nil
|
63
|
+
|
64
|
+
request = Puppet::Network::HTTP::Request.from_hash(:path => "#{master_url_prefix}/catalog/foo")
|
65
|
+
expect {
|
66
|
+
master_routes.process(request, response)
|
67
|
+
}.to raise_error(Puppet::Network::HTTP::Error::HTTPNotAuthorizedError, %r{Not Authorized: Forbidden request: /puppet/v3/catalog/foo \(method GET\)})
|
68
|
+
end
|
69
|
+
|
70
|
+
it "checks authorization for environments" do
|
71
|
+
Puppet::Network::Authorization.authconfigloader_class = nil
|
72
|
+
|
73
|
+
request = Puppet::Network::HTTP::Request.from_hash(:path => "#{master_url_prefix}/environments")
|
74
|
+
expect {
|
75
|
+
master_routes.process(request, response)
|
76
|
+
}.to raise_error(Puppet::Network::HTTP::Error::HTTPNotAuthorizedError, %r{Not Authorized: Forbidden request: /puppet/v3/environments \(method GET\)})
|
77
|
+
end
|
57
78
|
end
|
@@ -70,6 +70,16 @@ describe Puppet::Network::HTTP::API do
|
|
70
70
|
end
|
71
71
|
|
72
72
|
describe "when processing master routes" do
|
73
|
+
# simulate puppetserver registering its authconfigloader class
|
74
|
+
around :each do |example|
|
75
|
+
Puppet::Network::Authorization.authconfigloader_class = Object
|
76
|
+
begin
|
77
|
+
example.run
|
78
|
+
ensure
|
79
|
+
Puppet::Network::Authorization.authconfigloader_class = nil
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
73
83
|
it "responds to v3 indirector requests" do
|
74
84
|
req = Puppet::Network::HTTP::Request.from_hash(:path => "#{master_prefix}/v3/node/foo",
|
75
85
|
:params => {:environment => "production"},
|
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'puppet/network/http/connection'
|
3
|
-
require 'puppet/network/http/connection_adapter'
|
4
3
|
require 'puppet/test_ca'
|
5
4
|
|
6
5
|
describe Puppet::Network::HTTP::Connection do
|
@@ -10,21 +9,23 @@ describe Puppet::Network::HTTP::Connection do
|
|
10
9
|
let(:url) { "https://#{host}:#{port}#{path}" }
|
11
10
|
let(:params) { { 'key' => 'a value' } }
|
12
11
|
let(:encoded_url_with_params) { "#{url}?%7B%22key%22:%22a%20value%22%7D" }
|
12
|
+
let(:ssl_context) { Puppet::SSL::SSLProvider.new.create_system_context(cacerts: []) }
|
13
|
+
let(:verifier) { Puppet::SSL::Verifier.new(host, ssl_context) }
|
13
14
|
|
14
|
-
shared_examples_for "an HTTP connection" do |klass
|
15
|
-
subject { klass.new(host, port, :
|
15
|
+
shared_examples_for "an HTTP connection" do |klass|
|
16
|
+
subject { klass.new(host, port, :verifier => verifier) }
|
16
17
|
|
17
18
|
context "when providing HTTP connections" do
|
18
19
|
context "when initializing http instances" do
|
19
20
|
it "should return an http instance created with the passed host and port" do
|
20
|
-
conn = klass.new(host, port, :
|
21
|
+
conn = klass.new(host, port, :verifier => verifier)
|
21
22
|
|
22
23
|
expect(conn.address).to eq(host)
|
23
24
|
expect(conn.port).to eq(port)
|
24
25
|
end
|
25
26
|
|
26
27
|
it "should enable ssl on the http instance by default" do
|
27
|
-
conn = klass.new(host, port, :
|
28
|
+
conn = klass.new(host, port, :verifier => verifier)
|
28
29
|
|
29
30
|
expect(conn).to be_use_ssl
|
30
31
|
end
|
@@ -36,21 +37,21 @@ describe Puppet::Network::HTTP::Connection do
|
|
36
37
|
end
|
37
38
|
|
38
39
|
it "can enable ssl using an option" do
|
39
|
-
conn = klass.new(host, port, :use_ssl => true, :
|
40
|
+
conn = klass.new(host, port, :use_ssl => true, :verifier => verifier)
|
40
41
|
|
41
42
|
expect(conn).to be_use_ssl
|
42
43
|
end
|
43
44
|
|
44
45
|
it "ignores the ':verify' option when ssl is disabled" do
|
45
|
-
conn = klass.new(host, port, :use_ssl => false, :
|
46
|
+
conn = klass.new(host, port, :use_ssl => false, :verifier => verifier)
|
46
47
|
|
47
48
|
expect(conn.verifier).to be_nil
|
48
49
|
end
|
49
50
|
|
50
51
|
it "wraps the validator in an adapter" do
|
51
|
-
conn = klass.new(host, port, :
|
52
|
+
conn = klass.new(host, port, :verifier => verifier)
|
52
53
|
|
53
|
-
expect(conn.verifier).to
|
54
|
+
expect(conn.verifier).to be_a(Puppet::SSL::Verifier)
|
54
55
|
end
|
55
56
|
|
56
57
|
it "should raise Puppet::Error when invalid options are specified" do
|
@@ -66,9 +67,9 @@ describe Puppet::Network::HTTP::Connection do
|
|
66
67
|
|
67
68
|
it "raises if the wrong verifier class is specified" do
|
68
69
|
expect {
|
69
|
-
klass.new(host, port, :verifier =>
|
70
|
+
klass.new(host, port, :verifier => Object.new)
|
70
71
|
}.to raise_error(ArgumentError,
|
71
|
-
"Expected an instance of Puppet::SSL::Verifier but was passed a
|
72
|
+
"Expected an instance of Puppet::SSL::Verifier but was passed a Object")
|
72
73
|
end
|
73
74
|
end
|
74
75
|
end
|
@@ -306,8 +307,6 @@ describe Puppet::Network::HTTP::Connection do
|
|
306
307
|
end
|
307
308
|
|
308
309
|
it 'defaults content-type to application/x-www-form-urlencoded' do
|
309
|
-
skip("Net::HTTP sends a default content-type header, but it's not visible to webmock") if legacy_api
|
310
|
-
|
311
310
|
stub_request(:put, url).with(headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
|
312
311
|
|
313
312
|
subject.put(path, '')
|
@@ -362,8 +361,6 @@ describe Puppet::Network::HTTP::Connection do
|
|
362
361
|
end
|
363
362
|
|
364
363
|
it 'defaults content-type to application/x-www-form-urlencoded' do
|
365
|
-
skip("Net::HTTP sends a default content-type header, but it's not visible to webmock") if legacy_api
|
366
|
-
|
367
364
|
stub_request(:post, url).with(headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
|
368
365
|
|
369
366
|
subject.post(path, "")
|
@@ -425,7 +422,7 @@ describe Puppet::Network::HTTP::Connection do
|
|
425
422
|
|
426
423
|
def create_connection(options = {})
|
427
424
|
options[:use_ssl] = false
|
428
|
-
options[:
|
425
|
+
options[:verifier] = verifier
|
429
426
|
subject.new(host, port, options)
|
430
427
|
end
|
431
428
|
|
@@ -474,15 +471,9 @@ describe Puppet::Network::HTTP::Connection do
|
|
474
471
|
it 'raises an exception when the location header is missing' do
|
475
472
|
stub_request(:get, "http://me.example.com:8140/").to_return(status: 302)
|
476
473
|
|
477
|
-
|
478
|
-
expect {
|
479
|
-
create_connection.get('/')
|
480
|
-
}.to raise_error(URI::InvalidURIError, /bad URI/)
|
481
|
-
else
|
482
|
-
expect {
|
474
|
+
expect {
|
483
475
|
create_connection.get('/')
|
484
476
|
}.to raise_error(Puppet::HTTP::ProtocolError, /Location response header is missing/)
|
485
|
-
end
|
486
477
|
end
|
487
478
|
end
|
488
479
|
|
@@ -503,14 +494,9 @@ describe Puppet::Network::HTTP::Connection do
|
|
503
494
|
it "should return a 503 response if Retry-After is not convertible to an Integer or RFC 2822 Date" do
|
504
495
|
retry_after('foo')
|
505
496
|
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
else
|
510
|
-
expect {
|
511
|
-
subject.get('/foo')
|
512
|
-
}.to raise_error(Puppet::HTTP::ProtocolError, /Failed to parse Retry-After header 'foo'/)
|
513
|
-
end
|
497
|
+
expect {
|
498
|
+
subject.get('/foo')
|
499
|
+
}.to raise_error(Puppet::HTTP::ProtocolError, /Failed to parse Retry-After header 'foo'/)
|
514
500
|
end
|
515
501
|
|
516
502
|
it "should close the connection before sleeping" do
|
@@ -525,11 +511,7 @@ describe Puppet::Network::HTTP::Connection do
|
|
525
511
|
allow(http1).to receive(:started?).and_return(true)
|
526
512
|
|
527
513
|
# The "with_connection" method is required to yield started connections
|
528
|
-
pool =
|
529
|
-
Puppet.lookup(:http_pool)
|
530
|
-
else
|
531
|
-
Puppet.runtime[:http].pool
|
532
|
-
end
|
514
|
+
pool = Puppet.runtime[:http].pool
|
533
515
|
|
534
516
|
allow(pool).to receive(:with_connection).and_yield(http1).and_yield(http2)
|
535
517
|
|
@@ -649,10 +631,6 @@ describe Puppet::Network::HTTP::Connection do
|
|
649
631
|
end
|
650
632
|
|
651
633
|
describe Puppet::Network::HTTP::Connection do
|
652
|
-
it_behaves_like "an HTTP connection", described_class
|
653
|
-
end
|
654
|
-
|
655
|
-
describe Puppet::Network::HTTP::ConnectionAdapter do
|
656
|
-
it_behaves_like "an HTTP connection", described_class, false
|
634
|
+
it_behaves_like "an HTTP connection", described_class
|
657
635
|
end
|
658
636
|
end
|
@@ -2,7 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
require 'puppet_spec/handler'
|
4
4
|
require 'puppet/indirector_testing'
|
5
|
-
require 'puppet/network/authorization'
|
6
5
|
require 'puppet/network/http'
|
7
6
|
|
8
7
|
describe Puppet::Network::HTTP::Handler do
|
@@ -102,11 +101,6 @@ describe Puppet::Network::HTTP::Handler do
|
|
102
101
|
{ :status => 200 }
|
103
102
|
end
|
104
103
|
|
105
|
-
before do
|
106
|
-
allow(handler).to receive(:check_authorization)
|
107
|
-
allow(handler).to receive(:warn_if_near_expiration)
|
108
|
-
end
|
109
|
-
|
110
104
|
it "should setup a profiler when the puppet-profiling header exists" do
|
111
105
|
request = a_request
|
112
106
|
request[:headers][Puppet::Network::HTTP::HEADER_ENABLE_PROFILING.downcase] = "true"
|
@@ -69,10 +69,6 @@ describe Puppet::Network::HttpPool do
|
|
69
69
|
expect(Puppet::Network::HttpPool.http_instance("me", 54321, true)).to be_use_ssl
|
70
70
|
end
|
71
71
|
|
72
|
-
it 'has an http_ssl_instance method' do
|
73
|
-
expect(Puppet::Network::HttpPool.http_ssl_instance("me", 54321)).to be_use_ssl
|
74
|
-
end
|
75
|
-
|
76
72
|
context "when calling 'connection'" do
|
77
73
|
it 'requires an ssl_context' do
|
78
74
|
expect {
|
@@ -426,7 +426,7 @@ describe Puppet::Node::Environment do
|
|
426
426
|
it "includes the Bolt project in modules if it's defined" do
|
427
427
|
path = tmpdir('project')
|
428
428
|
PuppetSpec::Modules.generate_files('bolt_project', path)
|
429
|
-
project = Struct.new("Project", :name, :path).new('bolt_project', path)
|
429
|
+
project = Struct.new("Project", :name, :path, :load_as_module?).new('bolt_project', path, true)
|
430
430
|
|
431
431
|
Puppet.override(bolt_project: project) do
|
432
432
|
%w{foo bar}.each do |mod_name|
|
@@ -438,6 +438,23 @@ describe Puppet::Node::Environment do
|
|
438
438
|
expect(env.modules.collect{|mod| mod.name}.sort).to eq(%w{bolt_project foo bar bee baz}.sort)
|
439
439
|
end
|
440
440
|
end
|
441
|
+
|
442
|
+
it "does not include the Bolt project in modules if load_as_module? is false" do
|
443
|
+
path = tmpdir('project')
|
444
|
+
PuppetSpec::Modules.generate_files('bolt_project', path)
|
445
|
+
project = Struct.new("Project", :name, :path, :load_as_module?).new('bolt_project', path, false)
|
446
|
+
|
447
|
+
Puppet.override(bolt_project: project) do
|
448
|
+
%w{foo bar}.each do |mod_name|
|
449
|
+
PuppetSpec::Modules.generate_files(mod_name, first_modulepath)
|
450
|
+
end
|
451
|
+
%w{bee baz}.each do |mod_name|
|
452
|
+
PuppetSpec::Modules.generate_files(mod_name, second_modulepath)
|
453
|
+
end
|
454
|
+
expect(env.modules.collect{|mod| mod.name}.sort).to eq(%w{foo bar bee baz}.sort)
|
455
|
+
end
|
456
|
+
|
457
|
+
end
|
441
458
|
end
|
442
459
|
end
|
443
460
|
end
|
@@ -509,34 +526,46 @@ describe Puppet::Node::Environment do
|
|
509
526
|
end
|
510
527
|
|
511
528
|
describe "managing module translations" do
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
529
|
+
context "when i18n is enabled" do
|
530
|
+
before(:each) do
|
531
|
+
Puppet[:disable_i18n] = false
|
532
|
+
end
|
516
533
|
|
517
|
-
|
518
|
-
|
534
|
+
it "yields block results" do
|
535
|
+
ran = false
|
536
|
+
expect(env.with_text_domain { ran = true; :result }).to eq(:result)
|
537
|
+
expect(ran).to eq(true)
|
538
|
+
end
|
519
539
|
|
520
|
-
|
521
|
-
|
540
|
+
it "creates a new text domain the first time we try to use the text domain" do
|
541
|
+
expect(Puppet::GettextConfig).to receive(:reset_text_domain).with(env.name)
|
542
|
+
expect(Puppet::ModuleTranslations).to receive(:load_from_modulepath)
|
543
|
+
expect(Puppet::GettextConfig).to receive(:clear_text_domain)
|
522
544
|
|
523
|
-
|
524
|
-
|
525
|
-
end
|
545
|
+
env.with_text_domain do; end
|
546
|
+
end
|
526
547
|
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
548
|
+
it "uses the existing text domain once it has been created" do
|
549
|
+
env.with_text_domain do; end
|
550
|
+
|
551
|
+
expect(Puppet::GettextConfig).to receive(:use_text_domain).with(env.name)
|
552
|
+
env.with_text_domain do; end
|
553
|
+
end
|
531
554
|
end
|
532
555
|
|
533
|
-
|
534
|
-
|
556
|
+
context "when i18n is disabled" do
|
557
|
+
it "yields block results" do
|
558
|
+
ran = false
|
559
|
+
expect(env.with_text_domain { ran = true; :result }).to eq(:result)
|
560
|
+
expect(ran).to eq(true)
|
561
|
+
end
|
562
|
+
|
563
|
+
it "does not create a new text domain the first time we try to use the text domain" do
|
564
|
+
expect(Puppet::GettextConfig).not_to receive(:reset_text_domain)
|
565
|
+
expect(Puppet::ModuleTranslations).not_to receive(:load_from_modulepath)
|
535
566
|
|
536
|
-
|
537
|
-
|
538
|
-
expect(ran).to eq(true)
|
567
|
+
env.with_text_domain do; end
|
568
|
+
end
|
539
569
|
end
|
540
570
|
end
|
541
|
-
|
542
571
|
end
|
data/spec/unit/node_spec.rb
CHANGED
@@ -417,64 +417,12 @@ end
|
|
417
417
|
|
418
418
|
describe Puppet::Node, "when generating the list of names to search through" do
|
419
419
|
before do
|
420
|
-
Puppet[:strict_hostname_checking] = false
|
421
420
|
@node = Puppet::Node.new("foo.domain.com",
|
422
421
|
:parameters => {"hostname" => "yay", "domain" => "domain.com"})
|
423
422
|
end
|
424
423
|
|
425
|
-
it "returns an array of
|
424
|
+
it "returns an array of one name" do
|
426
425
|
expect(@node.names).to be_instance_of(Array)
|
427
|
-
|
428
|
-
|
429
|
-
describe "and the node name is fully qualified" do
|
430
|
-
it "contains an entry for each part of the node name" do
|
431
|
-
expect(@node.names).to include("foo.domain.com")
|
432
|
-
expect(@node.names).to include("foo.domain")
|
433
|
-
expect(@node.names).to include("foo")
|
434
|
-
end
|
435
|
-
end
|
436
|
-
|
437
|
-
it "includes the node's fqdn" do
|
438
|
-
expect(@node.names).to include("yay.domain.com")
|
439
|
-
end
|
440
|
-
|
441
|
-
it "combines and include the node's hostname and domain if no fqdn is available" do
|
442
|
-
expect(@node.names).to include("yay.domain.com")
|
443
|
-
end
|
444
|
-
|
445
|
-
it "contains an entry for each name available by stripping a segment of the fqdn" do
|
446
|
-
@node.parameters["fqdn"] = "foo.deep.sub.domain.com"
|
447
|
-
expect(@node.names).to include("foo.deep.sub.domain")
|
448
|
-
expect(@node.names).to include("foo.deep.sub")
|
449
|
-
end
|
450
|
-
|
451
|
-
describe "and :node_name is set to 'cert'" do
|
452
|
-
before do
|
453
|
-
Puppet[:node_name] = "cert"
|
454
|
-
end
|
455
|
-
|
456
|
-
it "uses the passed-in key as the first value" do
|
457
|
-
expect(@node.names[0]).to eq("foo.domain.com")
|
458
|
-
end
|
459
|
-
|
460
|
-
describe "and strict hostname checking is enabled" do
|
461
|
-
before do
|
462
|
-
Puppet[:strict_hostname_checking] = true
|
463
|
-
end
|
464
|
-
|
465
|
-
it "only uses the passed-in key" do
|
466
|
-
expect(@node.names).to eq(["foo.domain.com"])
|
467
|
-
end
|
468
|
-
end
|
469
|
-
end
|
470
|
-
|
471
|
-
describe "and :node_name is set to 'facter'" do
|
472
|
-
before do
|
473
|
-
Puppet[:node_name] = "facter"
|
474
|
-
end
|
475
|
-
|
476
|
-
it "uses the node's 'hostname' fact as the first value" do
|
477
|
-
expect(@node.names[0]).to eq("yay")
|
478
|
-
end
|
426
|
+
expect(@node.names).to eq ["foo.domain.com"]
|
479
427
|
end
|
480
428
|
end
|
@@ -257,31 +257,13 @@ describe 'function for dynamically creating resources' do
|
|
257
257
|
expect(catalog.resource(:class, "bar")).not_to be_nil
|
258
258
|
end
|
259
259
|
|
260
|
-
|
261
|
-
it "should warn if strict = #{strictness} and class is exported" do
|
262
|
-
Puppet[:strict] = strictness
|
263
|
-
collect_notices('class test{} create_resources("@@class", {test => {}})')
|
264
|
-
expect(warnings).to include(/Classes are not virtualizable/)
|
265
|
-
end
|
266
|
-
end
|
267
|
-
|
268
|
-
it 'should error if strict = error and class is exported' do
|
269
|
-
Puppet[:strict] = :error
|
260
|
+
it 'should error if class is exported' do
|
270
261
|
expect{
|
271
262
|
compile_to_catalog('class test{} create_resources("@@class", {test => {}})')
|
272
263
|
}.to raise_error(/Classes are not virtualizable/)
|
273
264
|
end
|
274
265
|
|
275
|
-
|
276
|
-
it "should warn if strict = #{strictness} and class is virtual" do
|
277
|
-
Puppet[:strict] = strictness
|
278
|
-
collect_notices('class test{} create_resources("@class", {test => {}})')
|
279
|
-
expect(warnings).to include(/Classes are not virtualizable/)
|
280
|
-
end
|
281
|
-
end
|
282
|
-
|
283
|
-
it 'should error if strict = error and class is virtual' do
|
284
|
-
Puppet[:strict] = :error
|
266
|
+
it 'should error if class is virtual' do
|
285
267
|
expect{
|
286
268
|
compile_to_catalog('class test{} create_resources("@class", {test => {}})')
|
287
269
|
}.to raise_error(/Classes are not virtualizable/)
|