puppet 6.25.1-universal-darwin → 7.0.0-universal-darwin
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 +16 -2
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +3 -5
- data/Gemfile.lock +39 -51
- data/README.md +5 -5
- data/conf/fileserver.conf +5 -10
- data/ext/README.environment +8 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/dbfix.sql +132 -0
- data/ext/debian/README.Debian +8 -0
- data/ext/debian/README.source +2 -0
- data/ext/debian/TODO.Debian +1 -0
- data/ext/debian/changelog.erb +1122 -0
- data/ext/debian/compat +1 -0
- data/ext/debian/control +144 -0
- data/ext/debian/copyright +339 -0
- data/ext/debian/docs +1 -0
- data/ext/debian/fileserver.conf +41 -0
- data/ext/debian/puppet-common.dirs +13 -0
- data/ext/debian/puppet-common.install +3 -0
- data/ext/debian/puppet-common.lintian-overrides +5 -0
- data/ext/debian/puppet-common.manpages +28 -0
- data/ext/debian/puppet-common.postinst +35 -0
- data/ext/debian/puppet-common.postrm +33 -0
- data/ext/debian/puppet-el.dirs +1 -0
- data/ext/debian/puppet-el.emacsen-install +25 -0
- data/ext/debian/puppet-el.emacsen-remove +11 -0
- data/ext/debian/puppet-el.emacsen-startup +9 -0
- data/ext/debian/puppet-el.install +1 -0
- data/ext/debian/puppet-testsuite.install +2 -0
- data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
- data/ext/debian/puppet.lintian-overrides +3 -0
- data/ext/debian/puppet.logrotate +20 -0
- data/ext/debian/puppet.postinst +20 -0
- data/ext/debian/puppet.postrm +20 -0
- data/ext/debian/puppet.preinst +20 -0
- data/ext/debian/puppetmaster-common.install +2 -0
- data/ext/debian/puppetmaster-common.manpages +2 -0
- data/ext/debian/puppetmaster-common.postinst +6 -0
- data/ext/debian/puppetmaster-passenger.dirs +4 -0
- data/ext/debian/puppetmaster-passenger.postinst +162 -0
- data/ext/debian/puppetmaster-passenger.postrm +61 -0
- data/ext/debian/puppetmaster.README.debian +17 -0
- data/ext/debian/puppetmaster.default +14 -0
- data/ext/debian/puppetmaster.init +137 -0
- data/ext/debian/puppetmaster.lintian-overrides +3 -0
- data/ext/debian/puppetmaster.postinst +20 -0
- data/ext/debian/puppetmaster.postrm +5 -0
- data/ext/debian/puppetmaster.preinst +22 -0
- data/ext/debian/rules +132 -0
- data/ext/debian/source/format +1 -0
- data/ext/debian/source/options +1 -0
- data/ext/debian/vim-puppet.README.Debian +13 -0
- data/ext/debian/vim-puppet.dirs +5 -0
- data/ext/debian/vim-puppet.yaml +7 -0
- data/ext/debian/watch +2 -0
- data/ext/freebsd/puppetd +26 -0
- data/ext/freebsd/puppetmasterd +26 -0
- data/ext/gentoo/conf.d/puppet +5 -0
- data/ext/gentoo/conf.d/puppetmaster +12 -0
- data/ext/gentoo/init.d/puppet +38 -0
- data/ext/gentoo/init.d/puppetmaster +51 -0
- data/ext/gentoo/puppet/fileserver.conf +41 -0
- data/ext/ips/puppet-agent +44 -0
- data/ext/ips/puppet-master +44 -0
- data/ext/ips/puppet.p5m.erb +12 -0
- data/ext/ips/puppetagent.xml +42 -0
- data/ext/ips/puppetmaster.xml +42 -0
- data/ext/ips/rules +19 -0
- data/ext/ips/transforms +34 -0
- data/ext/ldap/puppet.schema +24 -0
- data/ext/logcheck/puppet +23 -0
- data/{examples → ext}/nagios/check_puppet.rb +2 -2
- data/ext/osx/file_mapping.yaml +28 -0
- data/ext/osx/postflight.erb +109 -0
- data/ext/osx/preflight.erb +52 -0
- data/ext/osx/prototype.plist.erb +38 -0
- data/ext/osx/puppet.plist +0 -2
- data/ext/project_data.yaml +1 -15
- data/ext/redhat/fileserver.conf +41 -0
- data/ext/redhat/logrotate +21 -0
- data/ext/redhat/puppet.spec.erb +841 -0
- data/ext/redhat/server.init +128 -0
- data/ext/redhat/server.sysconfig +13 -0
- data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
- data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
- data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
- data/ext/solaris/pkginfo +6 -0
- data/ext/solaris/smf/puppetd.xml +77 -0
- data/ext/solaris/smf/puppetmasterd.xml +77 -0
- data/ext/solaris/smf/svc-puppetd +71 -0
- data/ext/solaris/smf/svc-puppetmasterd +67 -0
- data/ext/suse/puppet.spec +310 -0
- data/ext/suse/server.init +173 -0
- data/ext/windows/service/daemon.rb +6 -5
- data/ext/yaml_nodes.rb +105 -0
- data/install.rb +21 -17
- data/lib/puppet/application/agent.rb +4 -16
- data/lib/puppet/application/apply.rb +4 -24
- data/lib/puppet/application/device.rb +100 -106
- data/lib/puppet/application/filebucket.rb +13 -10
- data/lib/puppet/application/resource.rb +16 -32
- data/lib/puppet/application/script.rb +0 -2
- data/lib/puppet/application/ssl.rb +1 -13
- data/lib/puppet/application.rb +178 -108
- data/lib/puppet/application_support.rb +0 -7
- data/lib/puppet/concurrent/thread_local_singleton.rb +0 -1
- data/lib/puppet/configurer/downloader.rb +1 -2
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/configurer.rb +86 -189
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +128 -232
- data/lib/puppet/environments.rb +82 -146
- data/lib/puppet/face/facts.rb +5 -103
- data/lib/puppet/face/help/action.erb +0 -1
- data/lib/puppet/face/help/face.erb +0 -1
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +0 -11
- data/lib/puppet/face/plugin.rb +5 -8
- 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/ffi/windows.rb +12 -0
- data/lib/puppet/file_serving/configuration/parser.rb +3 -34
- data/lib/puppet/file_serving/configuration.rb +0 -8
- data/lib/puppet/file_serving/fileset.rb +2 -14
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount/file.rb +4 -4
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +1 -3
- data/lib/puppet/file_system/memory_file.rb +1 -8
- data/lib/puppet/file_system/windows.rb +2 -4
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/forge.rb +4 -4
- data/lib/puppet/functions/all.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +2 -2
- data/lib/puppet/functions/downcase.rb +2 -2
- data/lib/puppet/functions/empty.rb +0 -8
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/functions/get.rb +5 -5
- data/lib/puppet/functions/group_by.rb +5 -13
- data/lib/puppet/functions/lest.rb +1 -1
- data/lib/puppet/functions/new.rb +100 -100
- data/lib/puppet/functions/partition.rb +4 -12
- data/lib/puppet/functions/require.rb +5 -5
- data/lib/puppet/functions/sort.rb +3 -3
- data/lib/puppet/functions/strftime.rb +0 -1
- data/lib/puppet/functions/tree_each.rb +9 -7
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/unwrap.rb +2 -17
- data/lib/puppet/functions/upcase.rb +2 -2
- data/lib/puppet/generate/models/type/type.rb +4 -1
- 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 -15
- 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 -17
- data/lib/puppet/http/resolver/server_list.rb +10 -25
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- data/lib/puppet/http/resolver.rb +5 -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/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -144
- data/lib/puppet/http/service/file_server.rb +19 -29
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/service.rb +12 -26
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/indirector/catalog/compiler.rb +6 -25
- data/lib/puppet/indirector/catalog/rest.rb +2 -5
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- 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 -10
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +0 -101
- data/lib/puppet/indirector/resource/ral.rb +1 -6
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/terminus.rb +0 -4
- data/lib/puppet/interface/documentation.rb +0 -1
- data/lib/puppet/module/plan.rb +1 -0
- data/lib/puppet/module/task.rb +1 -1
- data/lib/puppet/module.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +2 -56
- data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/errors/shared.rb +2 -34
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +0 -67
- data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
- 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.rb +3 -3
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node/environment.rb +11 -10
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +4 -2
- data/lib/puppet/parser/ast/leaf.rb +2 -3
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
- data/lib/puppet/parser/resource.rb +1 -70
- data/lib/puppet/parser/scope.rb +0 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -2
- data/lib/puppet/pops/evaluator/closure.rb +5 -7
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
- 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/lookup/lookup_adapter.rb +2 -3
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -291
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +1 -47
- 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 +1691 -1883
- data/lib/puppet/pops/parser/lexer2.rb +91 -92
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/parser/slurp_support.rb +0 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/serialization/to_data_converter.rb +6 -18
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
- data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_formatter.rb +3 -4
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +1 -2
- 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/property/list.rb +1 -1
- data/lib/puppet/provider/aix_object.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +4 -16
- data/lib/puppet/provider/group/groupadd.rb +10 -18
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +2 -34
- data/lib/puppet/provider/package/aptitude.rb +0 -6
- data/lib/puppet/provider/package/dnfmodule.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/nim.rb +6 -11
- data/lib/puppet/provider/package/pip.rb +3 -16
- data/lib/puppet/provider/package/pkg.rb +2 -23
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +0 -3
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/debian.rb +0 -2
- data/lib/puppet/provider/service/init.rb +5 -5
- data/lib/puppet/provider/service/launchd.rb +2 -2
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +194 -76
- data/lib/puppet/provider/service/systemd.rb +6 -16
- data/lib/puppet/provider/service/upstart.rb +5 -5
- data/lib/puppet/provider/service/windows.rb +0 -38
- data/lib/puppet/provider/user/aix.rb +3 -46
- data/lib/puppet/provider/user/directoryservice.rb +11 -34
- data/lib/puppet/provider/user/useradd.rb +24 -134
- data/lib/puppet/provider.rb +1 -14
- data/lib/puppet/reference/configuration.rb +8 -7
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/providers.rb +2 -2
- data/lib/puppet/resource/catalog.rb +2 -15
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -49
- data/lib/puppet/resource.rb +6 -127
- data/lib/puppet/runtime.rb +2 -13
- data/lib/puppet/settings/environment_conf.rb +0 -1
- 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/settings.rb +82 -98
- 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/ssl.rb +10 -6
- data/lib/puppet/test/test_helper.rb +2 -7
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +1 -11
- data/lib/puppet/transaction/report.rb +3 -19
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/type/exec.rb +5 -35
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/mode.rb +0 -6
- data/lib/puppet/type/file/selcontext.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/file.rb +12 -32
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/group.rb +1 -0
- data/lib/puppet/type/package.rb +8 -16
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/service.rb +41 -26
- data/lib/puppet/type/tidy.rb +3 -22
- data/lib/puppet/type/user.rb +21 -38
- data/lib/puppet/type.rb +1 -77
- data/lib/puppet/util/autoload.rb +8 -1
- data/lib/puppet/util/command_line.rb +1 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/filetype.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/json.rb +0 -3
- data/lib/puppet/util/log.rb +2 -1
- data/lib/puppet/util/logging.rb +25 -1
- data/lib/puppet/util/monkey_patches.rb +0 -53
- data/lib/puppet/util/pidlock.rb +1 -1
- data/lib/puppet/util/posix.rb +5 -54
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/run_mode.rb +9 -1
- data/lib/puppet/util/selinux.rb +4 -30
- data/lib/puppet/util/suidmanager.rb +2 -1
- data/lib/puppet/util/symbolic_file_mode.rb +17 -29
- data/lib/puppet/util/tagging.rb +0 -1
- data/lib/puppet/util/windows/adsi.rb +0 -46
- 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/principal.rb +2 -9
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +11 -457
- data/lib/puppet/util/windows/sid.rb +2 -6
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +2 -0
- data/lib/puppet/util/windows.rb +3 -11
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/util.rb +3 -4
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet.rb +20 -25
- data/locales/puppet.pot +816 -1637
- data/man/man5/puppet.conf.5 +286 -382
- data/man/man8/puppet-agent.8 +2 -5
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-catalog.8 +9 -9
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +8 -51
- data/man/man8/puppet-filebucket.8 +4 -4
- 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 +3 -60
- data/man/man8/puppet-node.8 +5 -5
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +5 -5
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +2 -2
- data/man/man8/puppet-ssl.8 +1 -5
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
- data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/ca.pem +35 -57
- data/spec/fixtures/ssl/crl.pem +18 -28
- data/spec/fixtures/ssl/ec-key.pem +11 -11
- data/spec/fixtures/ssl/ec.pem +24 -33
- data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
- data/spec/fixtures/ssl/encrypted-key.pem +58 -108
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
- data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
- data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
- data/spec/fixtures/ssl/intermediate.pem +36 -57
- data/spec/fixtures/ssl/pluto-key.pem +57 -107
- data/spec/fixtures/ssl/pluto.pem +30 -52
- data/spec/fixtures/ssl/request-key.pem +57 -107
- data/spec/fixtures/ssl/request.pem +26 -47
- data/spec/fixtures/ssl/revoked-key.pem +57 -107
- data/spec/fixtures/ssl/revoked.pem +30 -52
- data/spec/fixtures/ssl/signed-key.pem +57 -107
- data/spec/fixtures/ssl/signed.pem +30 -52
- data/spec/fixtures/ssl/tampered-cert.pem +30 -52
- data/spec/fixtures/ssl/tampered-csr.pem +26 -47
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
- data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-ca.pem +33 -55
- 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 +0 -4
- data/spec/integration/application/agent_spec.rb +51 -299
- data/spec/integration/application/apply_spec.rb +1 -20
- data/spec/integration/application/filebucket_spec.rb +16 -32
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/module_spec.rb +0 -21
- data/spec/integration/application/plugin_spec.rb +24 -2
- data/spec/integration/configurer_spec.rb +2 -18
- data/spec/integration/defaults_spec.rb +14 -3
- data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
- data/spec/integration/http/client_spec.rb +0 -12
- data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
- data/spec/integration/indirector/facts/facter_spec.rb +39 -93
- 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 -47
- data/spec/integration/resource/type_collection_spec.rb +6 -2
- data/spec/integration/transaction/report_spec.rb +1 -1
- data/spec/integration/transaction_spec.rb +9 -4
- data/spec/integration/type/exec_spec.rb +45 -70
- data/spec/integration/type/file_spec.rb +7 -6
- data/spec/integration/type/package_spec.rb +6 -6
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/windows/adsi_spec.rb +1 -21
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/principal_spec.rb +0 -21
- data/spec/integration/util/windows/process_spec.rb +9 -1
- data/spec/integration/util/windows/registry_spec.rb +10 -6
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/matchers/include.rb +27 -0
- data/spec/lib/matchers/include_spec.rb +32 -0
- data/spec/lib/puppet/test_ca.rb +2 -7
- data/spec/lib/puppet_spec/modules.rb +2 -13
- data/spec/lib/puppet_spec/puppetserver.rb +1 -16
- data/spec/lib/puppet_spec/settings.rb +1 -1
- data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
- data/spec/spec_helper.rb +17 -13
- data/spec/unit/agent_spec.rb +6 -10
- data/spec/unit/application/agent_spec.rb +3 -7
- data/spec/unit/application/apply_spec.rb +56 -76
- data/spec/unit/application/facts_spec.rb +12 -456
- data/spec/unit/application/filebucket_spec.rb +43 -39
- data/spec/unit/application/resource_spec.rb +0 -29
- data/spec/unit/application/ssl_spec.rb +2 -25
- data/spec/unit/application_spec.rb +9 -51
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -8
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +68 -264
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +2 -8
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +68 -55
- data/spec/unit/environments_spec.rb +68 -408
- data/spec/unit/face/node_spec.rb +11 -0
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
- data/spec/unit/file_serving/configuration_spec.rb +10 -26
- data/spec/unit/file_serving/fileset_spec.rb +0 -60
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
- data/spec/unit/file_system_spec.rb +0 -22
- data/spec/unit/forge/module_release_spec.rb +7 -2
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- 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/empty_spec.rb +0 -10
- data/spec/unit/functions/logging_spec.rb +0 -1
- data/spec/unit/functions/lookup_spec.rb +0 -64
- data/spec/unit/functions/unwrap_spec.rb +0 -8
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/functions4_spec.rb +2 -2
- data/spec/unit/gettext/config_spec.rb +0 -12
- data/spec/unit/http/client_spec.rb +8 -66
- 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 -30
- 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 +0 -193
- 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 +0 -1
- data/spec/unit/http/session_spec.rb +16 -14
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
- data/spec/unit/indirector/face_spec.rb +1 -0
- data/spec/unit/indirector/facts/facter_spec.rb +3 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/indirection_spec.rb +15 -18
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/resource/ral_spec.rb +75 -40
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/store_configs_spec.rb +7 -0
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/interface/action_spec.rb +9 -0
- data/spec/unit/module_spec.rb +1 -15
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
- data/spec/unit/network/authconfig_spec.rb +2 -129
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +4 -51
- data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
- 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 -1
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +33 -21
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/compiler_spec.rb +19 -3
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
- data/spec/unit/parser/resource_spec.rb +8 -14
- data/spec/unit/parser/templatewrapper_spec.rb +5 -16
- 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_containers_spec.rb +11 -0
- 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 -59
- data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property_spec.rb +0 -1
- data/spec/unit/provider/group/groupadd_spec.rb +2 -5
- data/spec/unit/provider/nameservice_spec.rb +64 -122
- data/spec/unit/provider/package/apt_spec.rb +23 -28
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/base_spec.rb +5 -6
- data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +33 -1
- data/spec/unit/provider/package/nim_spec.rb +0 -42
- data/spec/unit/provider/package/pacman_spec.rb +12 -18
- data/spec/unit/provider/package/pip2_spec.rb +1 -1
- data/spec/unit/provider/package/pip3_spec.rb +1 -1
- data/spec/unit/provider/package/pip_spec.rb +12 -44
- data/spec/unit/provider/package/pkg_spec.rb +4 -29
- data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
- data/spec/unit/provider/parsedfile_spec.rb +0 -10
- data/spec/unit/provider/service/init_spec.rb +0 -1
- data/spec/unit/provider/service/launchd_spec.rb +0 -11
- data/spec/unit/provider/service/openwrt_spec.rb +1 -3
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/systemd_spec.rb +9 -54
- data/spec/unit/provider/service/windows_spec.rb +0 -203
- data/spec/unit/provider/user/aix_spec.rb +0 -105
- data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/pw_spec.rb +0 -2
- data/spec/unit/provider/user/useradd_spec.rb +5 -114
- data/spec/unit/provider_spec.rb +12 -22
- data/spec/unit/puppet_spec.rb +4 -12
- data/spec/unit/resource/catalog_spec.rb +2 -15
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +12 -125
- 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 +79 -110
- data/spec/unit/ssl/base_spec.rb +37 -3
- data/spec/unit/ssl/certificate_request_spec.rb +21 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
- data/spec/unit/ssl/state_machine_spec.rb +5 -20
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
- data/spec/unit/transaction/event_manager_spec.rb +11 -14
- 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 +55 -96
- data/spec/unit/type/exec_spec.rb +29 -76
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +2 -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/selinux_spec.rb +5 -3
- data/spec/unit/type/file/source_spec.rb +4 -5
- data/spec/unit/type/file_spec.rb +18 -6
- data/spec/unit/type/group_spec.rb +6 -13
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/resources_spec.rb +7 -7
- data/spec/unit/type/service_spec.rb +189 -87
- data/spec/unit/type/tidy_spec.rb +8 -24
- data/spec/unit/type/user_spec.rb +0 -45
- data/spec/unit/type_spec.rb +24 -4
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +1 -5
- data/spec/unit/util/backups_spec.rb +2 -3
- data/spec/unit/util/execution_spec.rb +11 -44
- data/spec/unit/util/inifile_spec.rb +14 -6
- data/spec/unit/util/log_spec.rb +7 -8
- data/spec/unit/util/logging_spec.rb +3 -5
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +15 -363
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/selinux_spec.rb +68 -163
- data/spec/unit/util/storage_spec.rb +1 -3
- data/spec/unit/util/suidmanager_spec.rb +41 -44
- data/spec/unit/util/windows/sid_spec.rb +0 -41
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +6 -31
- data/tasks/generate_cert_fixtures.rake +3 -12
- data/tasks/parallel.rake +3 -3
- metadata +137 -226
- data/conf/auth.conf +0 -150
- data/ext/README.md +0 -13
- 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/facter_impl.rb +0 -96
- data/lib/puppet/ffi/posix/constants.rb +0 -14
- data/lib/puppet/ffi/posix/functions.rb +0 -24
- data/lib/puppet/ffi/posix.rb +0 -10
- data/lib/puppet/file_serving/mount/scripts.rb +0 -24
- 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/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/indirector/status.rb +0 -3
- 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/settings/alias_setting.rb +0 -37
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.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/validator.rb +0 -61
- 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/fact_dif.rb +0 -81
- 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/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/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- 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/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
- data/spec/fixtures/ssl/oid-key.pem +0 -117
- data/spec/fixtures/ssl/oid.pem +0 -69
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
- data/spec/integration/application/resource_spec.rb +0 -64
- data/spec/integration/application/ssl_spec.rb +0 -20
- data/spec/integration/l10n/compiler_spec.rb +0 -37
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/shared_contexts/l10n.rb +0 -27
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/facter_impl_spec.rb +0 -31
- data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
- 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 -78
- 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 -407
- 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/evaluator/deferred_resolver_spec.rb +0 -20
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -148
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -645
- 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
@@ -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
|
@@ -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 {
|
@@ -526,34 +526,46 @@ describe Puppet::Node::Environment do
|
|
526
526
|
end
|
527
527
|
|
528
528
|
describe "managing module translations" do
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
529
|
+
context "when i18n is enabled" do
|
530
|
+
before(:each) do
|
531
|
+
Puppet[:disable_i18n] = false
|
532
|
+
end
|
533
533
|
|
534
|
-
|
535
|
-
|
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
|
536
539
|
|
537
|
-
|
538
|
-
|
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)
|
539
544
|
|
540
|
-
|
541
|
-
|
542
|
-
end
|
545
|
+
env.with_text_domain do; end
|
546
|
+
end
|
543
547
|
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
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
|
548
554
|
end
|
549
555
|
|
550
|
-
|
551
|
-
|
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)
|
552
566
|
|
553
|
-
|
554
|
-
|
555
|
-
expect(ran).to eq(true)
|
567
|
+
env.with_text_domain do; end
|
568
|
+
end
|
556
569
|
end
|
557
570
|
end
|
558
|
-
|
559
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
|
@@ -240,9 +240,20 @@ describe Puppet::Parser::Compiler do
|
|
240
240
|
end
|
241
241
|
|
242
242
|
describe "when compiling" do
|
243
|
+
def compile_methods
|
244
|
+
[:set_node_parameters, :evaluate_main, :evaluate_ast_node, :evaluate_node_classes, :evaluate_generators, :fail_on_unevaluated,
|
245
|
+
:finish, :store, :extract, :evaluate_relationships]
|
246
|
+
end
|
247
|
+
|
248
|
+
# Stub all of the main compile methods except the ones we're specifically interested in.
|
249
|
+
def compile_stub(*except)
|
250
|
+
(compile_methods - except).each { |m| allow(@compiler).to receive(m) }
|
251
|
+
end
|
252
|
+
|
243
253
|
it "should set node parameters as variables in the top scope" do
|
244
254
|
params = {"a" => "b", "c" => "d"}
|
245
255
|
allow(@node).to receive(:parameters).and_return(params)
|
256
|
+
compile_stub(:set_node_parameters)
|
246
257
|
@compiler.compile
|
247
258
|
expect(@compiler.topscope['a']).to eq("b")
|
248
259
|
expect(@compiler.topscope['c']).to eq("d")
|
@@ -251,11 +262,13 @@ describe Puppet::Parser::Compiler do
|
|
251
262
|
it "should set node parameters that are of Symbol type as String variables in the top scope" do
|
252
263
|
params = {"a" => :b}
|
253
264
|
allow(@node).to receive(:parameters).and_return(params)
|
265
|
+
compile_stub(:set_node_parameters)
|
254
266
|
@compiler.compile
|
255
267
|
expect(@compiler.topscope['a']).to eq("b")
|
256
268
|
end
|
257
269
|
|
258
270
|
it "should set the node's environment as a string variable in top scope" do
|
271
|
+
compile_stub(:set_node_parameters)
|
259
272
|
@node.merge({'wat' => 'this is how the sausage is made'})
|
260
273
|
@compiler.compile
|
261
274
|
expect(@compiler.topscope['environment']).to eq("testing")
|
@@ -263,6 +276,7 @@ describe Puppet::Parser::Compiler do
|
|
263
276
|
end
|
264
277
|
|
265
278
|
it "sets the environment based on node.environment instead of the parameters" do
|
279
|
+
compile_stub(:set_node_parameters)
|
266
280
|
@node.parameters['environment'] = "Not actually #{@node.environment.name}"
|
267
281
|
|
268
282
|
@compiler.compile
|
@@ -272,21 +286,23 @@ describe Puppet::Parser::Compiler do
|
|
272
286
|
it "should set the client and server versions on the catalog" do
|
273
287
|
params = {"clientversion" => "2", "serverversion" => "3"}
|
274
288
|
allow(@node).to receive(:parameters).and_return(params)
|
289
|
+
compile_stub(:set_node_parameters)
|
275
290
|
@compiler.compile
|
276
291
|
expect(@compiler.catalog.client_version).to eq("2")
|
277
292
|
expect(@compiler.catalog.server_version).to eq("3")
|
278
293
|
end
|
279
294
|
|
280
295
|
it "should evaluate the main class if it exists" do
|
296
|
+
compile_stub(:evaluate_main)
|
281
297
|
main_class = @known_resource_types.add Puppet::Resource::Type.new(:hostclass, "")
|
282
|
-
@compiler.topscope.source = main_class
|
283
|
-
|
284
298
|
expect(main_class).to receive(:evaluate_code).with(be_a(Puppet::Parser::Resource))
|
299
|
+
expect(@compiler.topscope).to receive(:source=).with(main_class)
|
285
300
|
|
286
301
|
@compiler.compile
|
287
302
|
end
|
288
303
|
|
289
304
|
it "should create a new, empty 'main' if no main class exists" do
|
305
|
+
compile_stub(:evaluate_main)
|
290
306
|
@compiler.compile
|
291
307
|
expect(@known_resource_types.find_hostclass("")).to be_instance_of(Puppet::Resource::Type)
|
292
308
|
end
|
@@ -309,7 +325,7 @@ describe Puppet::Parser::Compiler do
|
|
309
325
|
@compiler.add_collection(colls[0])
|
310
326
|
@compiler.add_collection(colls[1])
|
311
327
|
|
312
|
-
|
328
|
+
compile_stub(:evaluate_generators)
|
313
329
|
@compiler.compile
|
314
330
|
end
|
315
331
|
|
@@ -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/)
|
@@ -61,26 +61,12 @@ describe "the fqdn_rand function" do
|
|
61
61
|
expect(fqdn_rand(5000, :extra_identifier => ['expensive job 33'])).to eql(2389)
|
62
62
|
end
|
63
63
|
|
64
|
-
it "returns the same value if only host differs by case" do
|
65
|
-
val1 = fqdn_rand(1000000000, :host => "host.example.com", :extra_identifier => [nil, true])
|
66
|
-
val2 = fqdn_rand(1000000000, :host => "HOST.example.com", :extra_identifier => [nil, true])
|
67
|
-
|
68
|
-
expect(val1).to eql(val2)
|
69
|
-
end
|
70
|
-
|
71
|
-
it "returns the same value if only host differs by case and an initial seed is given" do
|
72
|
-
val1 = fqdn_rand(1000000000, :host => "host.example.com", :extra_identifier => ['a seed', true])
|
73
|
-
val2 = fqdn_rand(1000000000, :host => "HOST.example.com", :extra_identifier => ['a seed', true])
|
74
|
-
|
75
|
-
expect(val1).to eql(val2)
|
76
|
-
end
|
77
|
-
|
78
64
|
def fqdn_rand(max, args = {})
|
79
65
|
host = args[:host] || '127.0.0.1'
|
80
66
|
extra = args[:extra_identifier] || []
|
81
67
|
|
82
68
|
scope = create_test_scope_for_node('localhost')
|
83
|
-
scope.
|
69
|
+
allow(scope).to receive(:[]).with("::fqdn").and_return(host)
|
84
70
|
|
85
71
|
scope.function_fqdn_rand([max] + extra)
|
86
72
|
end
|
@@ -418,27 +418,22 @@ describe Puppet::Parser::Resource do
|
|
418
418
|
end
|
419
419
|
|
420
420
|
describe "when merging overrides" do
|
421
|
-
def resource_type(name)
|
422
|
-
double(name, :child_of? => false)
|
423
|
-
end
|
424
|
-
|
425
421
|
before do
|
426
|
-
@source =
|
422
|
+
@source = "source1"
|
427
423
|
@resource = mkresource :source => @source
|
428
424
|
@override = mkresource :source => @source
|
429
425
|
end
|
430
426
|
|
431
427
|
it "should fail when the override was not created by a parent class" do
|
432
|
-
@override.source =
|
433
|
-
expect(@override.source).to receive(:child_of?).with(
|
428
|
+
@override.source = "source2"
|
429
|
+
expect(@override.source).to receive(:child_of?).with("source1").and_return(false)
|
434
430
|
expect { @resource.merge(@override) }.to raise_error(Puppet::ParseError)
|
435
431
|
end
|
436
432
|
|
437
433
|
it "should succeed when the override was created in the current scope" do
|
438
|
-
@
|
439
|
-
@resource.source = @source3
|
434
|
+
@resource.source = "source3"
|
440
435
|
@override.source = @resource.source
|
441
|
-
expect(@override.source).not_to receive(:child_of?).with(
|
436
|
+
expect(@override.source).not_to receive(:child_of?).with("source3")
|
442
437
|
params = {:a => :b, :c => :d}
|
443
438
|
expect(@override).to receive(:parameters).and_return(params)
|
444
439
|
expect(@resource).to receive(:override_parameter).with(:b)
|
@@ -447,10 +442,9 @@ describe Puppet::Parser::Resource do
|
|
447
442
|
end
|
448
443
|
|
449
444
|
it "should succeed when a parent class created the override" do
|
450
|
-
@
|
451
|
-
@
|
452
|
-
@override.source
|
453
|
-
expect(@override.source).to receive(:child_of?).with(@source3).and_return(true)
|
445
|
+
@resource.source = "source3"
|
446
|
+
@override.source = "source4"
|
447
|
+
expect(@override.source).to receive(:child_of?).with("source3").and_return(true)
|
454
448
|
params = {:a => :b, :c => :d}
|
455
449
|
expect(@override).to receive(:parameters).and_return(params)
|
456
450
|
expect(@resource).to receive(:override_parameter).with(:b)
|
@@ -2,8 +2,6 @@ require 'spec_helper'
|
|
2
2
|
require 'puppet/parser/templatewrapper'
|
3
3
|
|
4
4
|
describe Puppet::Parser::TemplateWrapper do
|
5
|
-
include PuppetSpec::Files
|
6
|
-
|
7
5
|
let(:known_resource_types) { Puppet::Resource::TypeCollection.new("env") }
|
8
6
|
let(:scope) do
|
9
7
|
compiler = Puppet::Parser::Compiler.new(Puppet::Node.new("mynode"))
|
@@ -43,13 +41,6 @@ describe Puppet::Parser::TemplateWrapper do
|
|
43
41
|
expect(tw.result).to eq(full_file_name)
|
44
42
|
end
|
45
43
|
|
46
|
-
it "ignores a leading BOM" do
|
47
|
-
full_file_name = given_a_template_file("bom_template", "\uFEFF<%= file %>")
|
48
|
-
|
49
|
-
tw.file = "bom_template"
|
50
|
-
expect(tw.result).to eq(full_file_name)
|
51
|
-
end
|
52
|
-
|
53
44
|
it "evaluates a given string as a template" do
|
54
45
|
expect(tw.result("template contents")).to eql("template contents")
|
55
46
|
end
|
@@ -66,10 +57,9 @@ describe Puppet::Parser::TemplateWrapper do
|
|
66
57
|
expect(tw.all_tags).to eq(["tag1","tag2"])
|
67
58
|
end
|
68
59
|
|
69
|
-
it "
|
70
|
-
expect
|
71
|
-
|
72
|
-
}.to raise_error(NotImplementedError, /Call 'all_tags' instead/)
|
60
|
+
it "provides the tags defined in the current scope with #tags" do
|
61
|
+
expect(scope).to receive(:tags).and_return(["tag1", "tag2"])
|
62
|
+
expect(tw.tags).to eq(["tag1","tag2"])
|
73
63
|
end
|
74
64
|
|
75
65
|
it "raises error on access to removed in-scope variables via method calls" do
|
@@ -99,12 +89,11 @@ describe Puppet::Parser::TemplateWrapper do
|
|
99
89
|
end
|
100
90
|
|
101
91
|
def given_a_template_file(name, contents)
|
102
|
-
full_name =
|
103
|
-
File.binwrite(full_name, contents)
|
104
|
-
|
92
|
+
full_name = "/full/path/to/#{name}"
|
105
93
|
allow(Puppet::Parser::Files).to receive(:find_template).
|
106
94
|
with(name, anything()).
|
107
95
|
and_return(full_name)
|
96
|
+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).with(full_name).and_return(contents)
|
108
97
|
|
109
98
|
full_name
|
110
99
|
end
|
@@ -818,14 +818,11 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
818
818
|
end
|
819
819
|
end
|
820
820
|
|
821
|
-
# Integer for >= 2.4.0, otherwise Fixnum
|
822
|
-
int_class_name = 0.class.name
|
823
|
-
|
824
821
|
# Errors when wrong number/type of keys are used
|
825
822
|
{
|
826
|
-
"Array[0]" => "Array-Type[] arguments must be types. Got
|
827
|
-
"Hash[0]" => "Hash-Type[] arguments must be types. Got
|
828
|
-
"Hash[Integer, 0]" => "Hash-Type[] arguments must be types. Got
|
823
|
+
"Array[0]" => "Array-Type[] arguments must be types. Got Integer",
|
824
|
+
"Hash[0]" => "Hash-Type[] arguments must be types. Got Integer",
|
825
|
+
"Hash[Integer, 0]" => "Hash-Type[] arguments must be types. Got Integer",
|
829
826
|
"Array[Integer,1,2,3]" => 'Array-Type[] accepts 1 to 3 arguments. Got 4',
|
830
827
|
"Array[Integer,String]" => "A Type's size constraint arguments must be a single Integer type, or 1-2 integers (or default). Got a String-Type",
|
831
828
|
"Hash[Integer,String, 1,2,3]" => 'Hash-Type[] accepts 2 to 4 arguments. Got 5',
|
@@ -833,7 +830,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
833
830
|
"'abc'[1.0]" => "A substring operation does not accept a Float as a character index. Expected an Integer",
|
834
831
|
"'abc'[1, x]" => "A substring operation does not accept a String as a character index. Expected an Integer",
|
835
832
|
"'abc'[1,2,3]" => "String supports [] with one or two arguments. Got 3",
|
836
|
-
"NotUndef[0]" => "NotUndef-Type[] argument must be a Type or a String. Got
|
833
|
+
"NotUndef[0]" => "NotUndef-Type[] argument must be a Type or a String. Got Integer",
|
837
834
|
"NotUndef[a,b]" => 'NotUndef-Type[] accepts 0 to 1 arguments. Got 2',
|
838
835
|
"Resource[0]" => 'First argument to Resource[] must be a resource type or a String. Got Integer',
|
839
836
|
"Resource[a, 0]" => 'Error creating type specialization of a Resource-Type, Cannot use Integer where a resource title String is expected',
|
@@ -575,27 +575,6 @@ describe 'loaders' do
|
|
575
575
|
end
|
576
576
|
end
|
577
577
|
|
578
|
-
context 'when a 3x load has illegal construct and --func3x_check is false' do
|
579
|
-
let(:env) { environment_for(mix_4x_and_3x_functions) }
|
580
|
-
let(:compiler) { Puppet::Parser::Compiler.new(Puppet::Node.new("test", :environment => env)) }
|
581
|
-
let(:scope) { compiler.topscope }
|
582
|
-
let(:loader) { compiler.loaders.private_loader_for_module('user') }
|
583
|
-
|
584
|
-
before(:each) do
|
585
|
-
Puppet.push_context(:current_environment => scope.environment, :global_scope => scope, :loaders => compiler.loaders)
|
586
|
-
Puppet[:func3x_check] = false
|
587
|
-
end
|
588
|
-
after(:each) do
|
589
|
-
Puppet.pop_context
|
590
|
-
Puppet[:func3x_check] = true
|
591
|
-
end
|
592
|
-
|
593
|
-
it "an illegal function is loaded" do
|
594
|
-
f = loader.load_typed(typed_name(:function, 'bad_func_load3')).value
|
595
|
-
expect(f.call(scope)).to eql("some return value")
|
596
|
-
end
|
597
|
-
end
|
598
|
-
|
599
578
|
context 'when causing a 3x load followed by a 4x load' do
|
600
579
|
let(:env) { environment_for(mix_4x_and_3x_functions) }
|
601
580
|
let(:compiler) { Puppet::Parser::Compiler.new(Puppet::Node.new("test", :environment => env)) }
|
@@ -623,6 +602,12 @@ end
|
|
623
602
|
function = loader.load_typed(typed_name(:function, 'callee_ws')).value
|
624
603
|
expect(function.call(scope, 'passed in scope')).to eql("usee::callee_ws() got 'value'")
|
625
604
|
end
|
605
|
+
|
606
|
+
it "an illegal function is loaded" do
|
607
|
+
expect {
|
608
|
+
loader.load_typed(typed_name(:function, 'bad_func_load3')).value
|
609
|
+
}.to raise_error(SecurityError, /Illegal method definition of method 'bad_func_load3_illegal_method' on line 8 in legacy function/)
|
610
|
+
end
|
626
611
|
end
|
627
612
|
|
628
613
|
context 'loading' do
|