puppet 6.26.0-x64-mingw32 → 7.0.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 +16 -2
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +5 -7
- data/Gemfile.lock +43 -62
- 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/lookup.rb +24 -78
- 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 +3 -6
- data/lib/puppet/configurer/downloader.rb +1 -2
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/configurer.rb +86 -179
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +130 -245
- data/lib/puppet/environments.rb +82 -146
- data/lib/puppet/face/facts.rb +5 -103
- data/lib/puppet/face/generate.rb +0 -2
- 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/metadata.rb +0 -3
- 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 +8 -10
- data/lib/puppet/file_system/jruby.rb +1 -1
- data/lib/puppet/file_system/memory_file.rb +1 -8
- data/lib/puppet/file_system/windows.rb +6 -8
- data/lib/puppet/file_system.rb +1 -1
- 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/functions/versioncmp.rb +2 -6
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/generate/type.rb +0 -9
- 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 +2 -31
- 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/code_merger.rb +4 -4
- data/lib/puppet/pops/parser/egrammar.ra +0 -58
- data/lib/puppet/pops/parser/eparser.rb +1685 -1896
- 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_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 +9 -10
- 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 -6
- 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 -21
- 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/data_sync.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 +13 -32
- 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 -20
- data/lib/puppet/util/log.rb +4 -8
- data/lib/puppet/util/logging.rb +25 -1
- data/lib/puppet/util/monkey_patches.rb +0 -59
- data/lib/puppet/util/package.rb +16 -25
- 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 +1 -42
- 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 -26
- data/locales/puppet.pot +9633 -5
- data/man/man5/puppet.conf.5 +286 -401
- 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 +6 -9
- 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/forge/bacula.json +1 -1
- 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/lookup_spec.rb +6 -32
- 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/lookup_spec.rb +10 -131
- 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 -296
- 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/generate_spec.rb +0 -64
- 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 +4 -56
- data/spec/unit/forge/module_release_spec.rb +10 -5
- 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/functions/versioncmp_spec.rb +4 -40
- 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 -60
- 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 +13 -2
- 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/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 -51
- 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/gentoo_spec.rb +5 -6
- data/spec/unit/provider/service/init_spec.rb +9 -16
- data/spec/unit/provider/service/launchd_spec.rb +0 -11
- data/spec/unit/provider/service/openwrt_spec.rb +29 -23
- data/spec/unit/provider/service/redhat_spec.rb +2 -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/persistence_spec.rb +0 -51
- 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_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 +13 -92
- data/spec/unit/util_spec.rb +6 -31
- data/tasks/generate_cert_fixtures.rake +3 -12
- data/tasks/parallel.rake +3 -3
- metadata +138 -293
- 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 -32
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
- 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/json_spec.rb +0 -126
- data/spec/unit/util/ssl_spec.rb +0 -91
@@ -0,0 +1,27 @@
|
|
1
|
+
module Matchers; module Include
|
2
|
+
extend RSpec::Matchers::DSL
|
3
|
+
|
4
|
+
matcher :include_in_any_order do |*matchers|
|
5
|
+
match do |enumerable|
|
6
|
+
@not_matched = []
|
7
|
+
expected_as_array.each do |matcher|
|
8
|
+
if enumerable.empty?
|
9
|
+
break
|
10
|
+
end
|
11
|
+
|
12
|
+
if found = enumerable.find { |elem| matcher.matches?(elem) }
|
13
|
+
enumerable = enumerable.reject { |elem| elem == found }
|
14
|
+
else
|
15
|
+
@not_matched << matcher
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
@not_matched.empty? && enumerable.empty?
|
21
|
+
end
|
22
|
+
|
23
|
+
failure_message do |enumerable|
|
24
|
+
"did not match #{@not_matched.collect(&:description).join(', ')} in #{enumerable.inspect}: <#{@not_matched.collect(&:failure_message).join('>, <')}>"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end; end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'matchers/include'
|
3
|
+
|
4
|
+
describe "include matchers" do
|
5
|
+
include Matchers::Include
|
6
|
+
|
7
|
+
context :include_in_any_order do
|
8
|
+
it "matches an empty list" do
|
9
|
+
expect([]).to include_in_any_order()
|
10
|
+
end
|
11
|
+
|
12
|
+
it "matches a list with a single element" do
|
13
|
+
expect([1]).to include_in_any_order(eq(1))
|
14
|
+
end
|
15
|
+
|
16
|
+
it "does not match when an expected element is missing" do
|
17
|
+
expect([1]).to_not include_in_any_order(eq(2))
|
18
|
+
end
|
19
|
+
|
20
|
+
it "matches a list with 2 elements in a different order from the expectation" do
|
21
|
+
expect([1, 2]).to include_in_any_order(eq(2), eq(1))
|
22
|
+
end
|
23
|
+
|
24
|
+
it "does not match when there are more than just the expected elements" do
|
25
|
+
expect([1, 2]).to_not include_in_any_order(eq(1))
|
26
|
+
end
|
27
|
+
|
28
|
+
it "matches multiple, equal elements when there are multiple, equal exepectations" do
|
29
|
+
expect([1, 1]).to include_in_any_order(eq(1), eq(1))
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/spec/lib/puppet/test_ca.rb
CHANGED
@@ -30,7 +30,7 @@ module Puppet
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def create_request(name)
|
33
|
-
key = OpenSSL::PKey::RSA.new(
|
33
|
+
key = OpenSSL::PKey::RSA.new(1024)
|
34
34
|
csr = OpenSSL::X509::Request.new
|
35
35
|
csr.public_key = key.public_key
|
36
36
|
csr.subject = OpenSSL::X509::Name.new([["CN", name]])
|
@@ -46,11 +46,6 @@ module Puppet
|
|
46
46
|
ext = ef.create_extension(["subjectAltName", opts[:subject_alt_names], false])
|
47
47
|
cert.add_extension(ext)
|
48
48
|
end
|
49
|
-
if exts = opts[:extensions]
|
50
|
-
exts.each do |e|
|
51
|
-
cert.add_extension(OpenSSL::X509::Extension.new(*e))
|
52
|
-
end
|
53
|
-
end
|
54
49
|
cert.sign(issuer_key, @digest)
|
55
50
|
{ private_key: key, cert: cert }
|
56
51
|
end
|
@@ -132,7 +127,7 @@ module Puppet
|
|
132
127
|
key = if opts[:key_type] == :ec
|
133
128
|
key = OpenSSL::PKey::EC.generate('prime256v1')
|
134
129
|
else
|
135
|
-
key = OpenSSL::PKey::RSA.new(
|
130
|
+
key = OpenSSL::PKey::RSA.new(1024)
|
136
131
|
end
|
137
132
|
cert = OpenSSL::X509::Certificate.new
|
138
133
|
cert.public_key = if key.is_a?(OpenSSL::PKey::EC)
|
@@ -36,7 +36,7 @@ module PuppetSpec::Modules
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
if
|
39
|
+
if plans = options[:plans]
|
40
40
|
plans_dir = File.join(module_dir, 'plans')
|
41
41
|
FileUtils.mkdir_p(plans_dir)
|
42
42
|
plans.each do |plan_file|
|
@@ -48,17 +48,6 @@ module PuppetSpec::Modules
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
if (scripts = options[:scripts])
|
52
|
-
scripts_dir = File.join(module_dir, 'scripts')
|
53
|
-
FileUtils.mkdir_p(scripts_dir)
|
54
|
-
scripts.each do |script_file|
|
55
|
-
if script_file.is_a?(String)
|
56
|
-
script_file = { :name => script_file, :content => "" }
|
57
|
-
end
|
58
|
-
File.write(File.join(scripts_dir, script_file[:name]), script_file[:content])
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
51
|
(options[:files] || {}).each do |fname, content|
|
63
52
|
path = File.join(module_dir, fname)
|
64
53
|
FileUtils.mkdir_p(File.dirname(path))
|
@@ -72,7 +61,7 @@ module PuppetSpec::Modules
|
|
72
61
|
module_dir = File.join(dir, name)
|
73
62
|
FileUtils.mkdir_p(module_dir)
|
74
63
|
|
75
|
-
if
|
64
|
+
if metadata = options[:metadata]
|
76
65
|
File.open(File.join(module_dir, 'metadata.json'), 'w') do |f|
|
77
66
|
f.write(metadata.to_json)
|
78
67
|
end
|
@@ -31,19 +31,6 @@ class PuppetSpec::Puppetserver
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
class FileMetadataServlet < WEBrick::HTTPServlet::AbstractServlet
|
35
|
-
def do_GET request, response
|
36
|
-
response['Content-Type'] = 'application/json'
|
37
|
-
response.body = "{\"path\":\"/etc/puppetlabs/code/environments/production/modules\",\"relative_path\":\".\",\"links\":\"follow\",\"owner\":0,\"group\":0,\"mode\":493,\"checksum\":{\"type\":\"ctime\",\"value\":\"{ctime}2020-03-06 20:14:25 UTC\"},\"type\":\"directory\",\"destination\":null}"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
class FileContentServlet < WEBrick::HTTPServlet::AbstractServlet
|
42
|
-
def do_GET request, response
|
43
|
-
response.status = 404
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
34
|
class ReportServlet < WEBrick::HTTPServlet::AbstractServlet
|
48
35
|
def do_PUT request, response
|
49
36
|
response['Content-Type'] = 'application/json'
|
@@ -116,12 +103,10 @@ class PuppetSpec::Puppetserver
|
|
116
103
|
end
|
117
104
|
|
118
105
|
def register_mounts(mounts: {})
|
119
|
-
register_mount('/status/v1/simple/
|
106
|
+
register_mount('/status/v1/simple/server', proc { |req, res| }, nil)
|
120
107
|
register_mount('/puppet/v3/node', mounts[:node], NodeServlet)
|
121
108
|
register_mount('/puppet/v3/catalog', mounts[:catalog], CatalogServlet)
|
122
|
-
register_mount('/puppet/v3/file_metadata', mounts[:file_metadata], FileMetadataServlet)
|
123
109
|
register_mount('/puppet/v3/file_metadatas', mounts[:file_metadatas], FileMetadatasServlet)
|
124
|
-
register_mount('/puppet/v3/file_content', mounts[:file_content], FileContentServlet)
|
125
110
|
register_mount('/puppet/v3/static_file_content', mounts[:static_file_content], StaticFileContentServlet)
|
126
111
|
register_mount('/puppet/v3/report', mounts[:report], ReportServlet)
|
127
112
|
register_mount('/puppet/v3/file_bucket_file', mounts[:filebucket], FilebucketServlet)
|
@@ -11,6 +11,7 @@ module PuppetSpec::Settings
|
|
11
11
|
:confdir => { :type => :directory, :default => "test", :desc => "confdir" },
|
12
12
|
:codedir => { :type => :directory, :default => "test", :desc => "codedir" },
|
13
13
|
:vardir => { :type => :directory, :default => "test", :desc => "vardir" },
|
14
|
+
:publicdir => { :type => :directory, :default => "test", :desc => "publicdir" },
|
14
15
|
:rundir => { :type => :directory, :default => "test", :desc => "rundir" },
|
15
16
|
}.freeze
|
16
17
|
|
@@ -20,7 +21,6 @@ module PuppetSpec::Settings
|
|
20
21
|
end.freeze
|
21
22
|
|
22
23
|
def set_puppet_conf(confdir, settings)
|
23
|
-
FileUtils.mkdir_p(confdir)
|
24
24
|
write_file(File.join(confdir, "puppet.conf"), settings)
|
25
25
|
end
|
26
26
|
|
data/spec/spec_helper.rb
CHANGED
@@ -68,14 +68,26 @@ VCR.turn_off!
|
|
68
68
|
RSpec.configure do |config|
|
69
69
|
include PuppetSpec::Fixtures
|
70
70
|
|
71
|
-
|
71
|
+
# Examples or groups can selectively tag themselves as broken.
|
72
|
+
# For example;
|
73
|
+
#
|
74
|
+
# rbv = "#{RUBY_VERSION}-p#{RbConfig::CONFIG['PATCHLEVEL']}"
|
75
|
+
# describe "mostly working", :broken => false unless rbv == "1.9.3-p327" do
|
76
|
+
# it "parses a valid IP" do
|
77
|
+
# IPAddr.new("::2:3:4:5:6:7:8")
|
78
|
+
# end
|
79
|
+
# end
|
80
|
+
exclude_filters = {:broken => true}
|
72
81
|
exclude_filters[:benchmark] = true unless ENV['BENCHMARK']
|
73
82
|
config.filter_run_excluding exclude_filters
|
74
83
|
|
75
84
|
config.filter_run_when_matching :focus
|
76
85
|
|
77
86
|
config.mock_with :rspec do |mocks|
|
78
|
-
|
87
|
+
# We really should have this on, but it breaks a _lot_ of tests. We'll
|
88
|
+
# need to go through and fix those tests first before it can be enabled
|
89
|
+
# for real.
|
90
|
+
mocks.verify_partial_doubles = false
|
79
91
|
end
|
80
92
|
|
81
93
|
tmpdir = Puppet::FileSystem.expand_path(Dir.mktmpdir("rspecrun"))
|
@@ -136,6 +148,7 @@ RSpec.configure do |config|
|
|
136
148
|
|
137
149
|
base = PuppetSpec::Files.tmpdir('tmp_settings')
|
138
150
|
Puppet[:vardir] = File.join(base, 'var')
|
151
|
+
Puppet[:publicdir] = File.join(base, 'public')
|
139
152
|
Puppet[:confdir] = File.join(base, 'etc')
|
140
153
|
Puppet[:codedir] = File.join(base, 'code')
|
141
154
|
Puppet[:logdir] = "$vardir/log"
|
@@ -143,6 +156,7 @@ RSpec.configure do |config|
|
|
143
156
|
Puppet[:hiera_config] = File.join(base, 'hiera')
|
144
157
|
|
145
158
|
FileUtils.mkdir_p Puppet[:statedir]
|
159
|
+
FileUtils.mkdir_p Puppet[:publicdir]
|
146
160
|
|
147
161
|
Puppet::Test::TestHelper.before_each_test()
|
148
162
|
end
|
@@ -151,20 +165,10 @@ RSpec.configure do |config|
|
|
151
165
|
PUPPET_FACTER_2_GCE_URL = %r{^http://metadata/computeMetadata/v1(beta1)?}.freeze
|
152
166
|
PUPPET_FACTER_3_GCE_URL = "http://metadata.google.internal/computeMetadata/v1/?recursive=true&alt=json".freeze
|
153
167
|
|
154
|
-
# Facter azure metadata endpoint
|
155
|
-
PUPPET_FACTER_AZ_URL = "http://169.254.169.254/metadata/instance?api-version=2020-09-01"
|
156
|
-
|
157
|
-
# Facter EC2 endpoint
|
158
|
-
PUPPET_FACTER_EC2_METADATA_URL = 'http://169.254.169.254/latest/meta-data/'
|
159
|
-
PUPPET_FACTER_EC2_USERDATA_URL = 'http://169.254.169.254/latest/user-data/'
|
160
|
-
|
161
168
|
config.around :each do |example|
|
162
|
-
# Ignore requests from Facter
|
169
|
+
# Ignore requests from Facter GCE fact in Travis
|
163
170
|
stub_request(:get, PUPPET_FACTER_2_GCE_URL)
|
164
171
|
stub_request(:get, PUPPET_FACTER_3_GCE_URL)
|
165
|
-
stub_request(:get, PUPPET_FACTER_AZ_URL)
|
166
|
-
stub_request(:get, PUPPET_FACTER_EC2_METADATA_URL)
|
167
|
-
stub_request(:get, PUPPET_FACTER_EC2_USERDATA_URL)
|
168
172
|
|
169
173
|
# Enable VCR if the example is tagged with `:vcr` metadata.
|
170
174
|
if example.metadata[:vcr]
|
data/spec/unit/agent_spec.rb
CHANGED
@@ -3,13 +3,9 @@ require 'puppet/agent'
|
|
3
3
|
require 'puppet/configurer'
|
4
4
|
|
5
5
|
class AgentTestClient
|
6
|
-
def
|
7
|
-
end
|
8
|
-
|
9
|
-
def run(client_args)
|
6
|
+
def run
|
10
7
|
# no-op
|
11
8
|
end
|
12
|
-
|
13
9
|
def stop
|
14
10
|
# no-op
|
15
11
|
end
|
@@ -24,8 +20,6 @@ end
|
|
24
20
|
|
25
21
|
describe Puppet::Agent do
|
26
22
|
before do
|
27
|
-
allow(Puppet::Status.indirection).to receive(:find).and_return(Puppet::Status.new("version" => Puppet.version))
|
28
|
-
|
29
23
|
@agent = Puppet::Agent.new(AgentTestClient, false)
|
30
24
|
|
31
25
|
# make Puppet::Application safe for stubbing; restore in an :after block; silence warnings for this.
|
@@ -55,10 +49,11 @@ describe Puppet::Agent do
|
|
55
49
|
|
56
50
|
it "should create an instance of its client class and run it when asked to run" do
|
57
51
|
client = double('client')
|
58
|
-
|
52
|
+
expect(AgentTestClient).to receive(:new).and_return(client)
|
59
53
|
|
60
|
-
allow(@agent).to receive(:disabled?).and_return(false)
|
61
54
|
expect(client).to receive(:run)
|
55
|
+
|
56
|
+
allow(@agent).to receive(:disabled?).and_return(false)
|
62
57
|
@agent.run
|
63
58
|
end
|
64
59
|
|
@@ -95,6 +90,7 @@ describe Puppet::Agent do
|
|
95
90
|
|
96
91
|
describe "when being run" do
|
97
92
|
before do
|
93
|
+
allow(AgentTestClient).to receive(:lockfile_path).and_return("/my/lock")
|
98
94
|
allow(@agent).to receive(:disabled?).and_return(false)
|
99
95
|
end
|
100
96
|
|
@@ -190,7 +186,7 @@ describe Puppet::Agent do
|
|
190
186
|
allow(lockfile).to receive(:lock).and_return(false)
|
191
187
|
end
|
192
188
|
|
193
|
-
it "should notify that a run is already in
|
189
|
+
it "should notify that a run is already in progres" do
|
194
190
|
client = AgentTestClient.new
|
195
191
|
expect(AgentTestClient).to receive(:new).and_return(client)
|
196
192
|
expect(Puppet).to receive(:notice).with(/Run of .* already in progress; skipping .* exists/)
|
@@ -202,6 +202,7 @@ describe Puppet::Application::Agent do
|
|
202
202
|
allow(Puppet::Resource::Catalog.indirection).to receive(:terminus_class=)
|
203
203
|
allow(Puppet::Resource::Catalog.indirection).to receive(:cache_class=)
|
204
204
|
allow(Puppet::Node::Facts.indirection).to receive(:terminus_class=)
|
205
|
+
allow(Puppet).to receive(:settraps)
|
205
206
|
end
|
206
207
|
|
207
208
|
it "should not run with extra arguments" do
|
@@ -546,16 +547,11 @@ describe Puppet::Application::Agent do
|
|
546
547
|
@puppetd.options[:digest] = :MD5
|
547
548
|
end
|
548
549
|
|
549
|
-
def expected_fingerprint(name, x509)
|
550
|
-
digest = OpenSSL::Digest.new(name).hexdigest(x509.to_der)
|
551
|
-
digest.scan(/../).join(':').upcase
|
552
|
-
end
|
553
|
-
|
554
550
|
it "should fingerprint the certificate if it exists" do
|
555
551
|
cert = cert_fixture('signed.pem')
|
556
552
|
allow_any_instance_of(Puppet::X509::CertProvider).to receive(:load_client_cert).and_return(cert)
|
557
553
|
|
558
|
-
expect(@puppetd).to receive(:puts).with(
|
554
|
+
expect(@puppetd).to receive(:puts).with('(MD5) E2:BA:9A:EF:20:A8:7D:10:8D:82:9A:61:5D:FD:5B:33')
|
559
555
|
|
560
556
|
@puppetd.fingerprint
|
561
557
|
end
|
@@ -565,7 +561,7 @@ describe Puppet::Application::Agent do
|
|
565
561
|
allow_any_instance_of(Puppet::X509::CertProvider).to receive(:load_client_cert).and_return(nil)
|
566
562
|
allow_any_instance_of(Puppet::X509::CertProvider).to receive(:load_request).and_return(request)
|
567
563
|
|
568
|
-
expect(@puppetd).to receive(:puts).with(
|
564
|
+
expect(@puppetd).to receive(:puts).with('(MD5) B8:4C:FB:31:AE:17:86:E3:AD:53:97:CA:F6:3C:4A:CB')
|
569
565
|
|
570
566
|
@puppetd.fingerprint
|
571
567
|
end
|
@@ -10,22 +10,21 @@ describe Puppet::Application::Apply do
|
|
10
10
|
|
11
11
|
before :each do
|
12
12
|
@apply = Puppet::Application[:apply]
|
13
|
+
allow(Puppet::Util::Log).to receive(:newdestination)
|
13
14
|
Puppet[:reports] = "none"
|
14
15
|
end
|
15
16
|
|
16
|
-
[:debug,:loadclasses,:test,:verbose,:use_nodes,:detailed_exitcodes,:catalog].each do |option|
|
17
|
+
[:debug,:loadclasses,:test,:verbose,:use_nodes,:detailed_exitcodes,:catalog, :write_catalog_summary].each do |option|
|
18
|
+
it "should declare handle_#{option} method" do
|
19
|
+
expect(@apply).to respond_to("handle_#{option}".to_sym)
|
20
|
+
end
|
21
|
+
|
17
22
|
it "should store argument value when calling handle_#{option}" do
|
18
23
|
expect(@apply.options).to receive(:[]=).with(option, 'arg')
|
19
24
|
@apply.send("handle_#{option}".to_sym, 'arg')
|
20
25
|
end
|
21
26
|
end
|
22
27
|
|
23
|
-
it "should handle write_catalog_summary" do
|
24
|
-
@apply.send(:handle_write_catalog_summary, true)
|
25
|
-
|
26
|
-
expect(Puppet[:write_catalog_summary]).to eq(true)
|
27
|
-
end
|
28
|
-
|
29
28
|
it "should set the code to the provided code when :execute is used" do
|
30
29
|
expect(@apply.options).to receive(:[]=).with(:code, 'arg')
|
31
30
|
@apply.send("handle_execute".to_sym, 'arg')
|
@@ -54,18 +53,23 @@ describe Puppet::Application::Apply do
|
|
54
53
|
end
|
55
54
|
|
56
55
|
describe "with --test" do
|
56
|
+
it "should call setup_test" do
|
57
|
+
@apply.options[:test] = true
|
58
|
+
expect(@apply).to receive(:setup_test)
|
59
|
+
|
60
|
+
@apply.setup
|
61
|
+
end
|
62
|
+
|
57
63
|
it "should set options[:verbose] to true" do
|
58
64
|
@apply.setup_test
|
59
65
|
|
60
66
|
expect(@apply.options[:verbose]).to eq(true)
|
61
67
|
end
|
62
|
-
|
63
68
|
it "should set options[:show_diff] to true" do
|
64
69
|
Puppet.settings.override_default(:show_diff, false)
|
65
70
|
@apply.setup_test
|
66
71
|
expect(Puppet[:show_diff]).to eq(true)
|
67
72
|
end
|
68
|
-
|
69
73
|
it "should set options[:detailed_exitcodes] to true" do
|
70
74
|
@apply.setup_test
|
71
75
|
|
@@ -151,7 +155,7 @@ describe Puppet::Application::Apply do
|
|
151
155
|
end
|
152
156
|
|
153
157
|
describe "when executing" do
|
154
|
-
it "should dispatch to 'apply' if it was called with
|
158
|
+
it "should dispatch to 'apply' if it was called with 'apply'" do
|
155
159
|
@apply.options[:catalog] = "foo"
|
156
160
|
|
157
161
|
expect(@apply).to receive(:apply)
|
@@ -209,52 +213,47 @@ describe Puppet::Application::Apply do
|
|
209
213
|
@apply.options[:code] = "code to run"
|
210
214
|
expect(Puppet).to receive(:[]=).with(:code,"code to run")
|
211
215
|
|
212
|
-
expect { @apply.
|
216
|
+
expect { @apply.main }.to exit_with 0
|
213
217
|
end
|
214
218
|
|
215
219
|
it "should set the code to run from STDIN if no arguments" do
|
216
|
-
@apply.command_line.args
|
220
|
+
allow(@apply.command_line).to receive(:args).and_return([])
|
217
221
|
allow(STDIN).to receive(:read).and_return("code to run")
|
218
222
|
|
219
223
|
expect(Puppet).to receive(:[]=).with(:code,"code to run")
|
220
224
|
|
221
|
-
expect { @apply.
|
225
|
+
expect { @apply.main }.to exit_with 0
|
222
226
|
end
|
223
227
|
|
224
228
|
it "should raise an error if a file is passed on command line and the file does not exist" do
|
225
229
|
noexist = tmpfile('noexist.pp')
|
226
|
-
@apply.command_line.args
|
227
|
-
expect {
|
228
|
-
@apply.run
|
229
|
-
}.to exit_with(1)
|
230
|
-
.and output(anything).to_stdout
|
231
|
-
.and output(/Could not find file #{noexist}/).to_stderr
|
230
|
+
allow(@apply.command_line).to receive(:args).and_return([noexist])
|
231
|
+
expect { @apply.main }.to raise_error(RuntimeError, "Could not find file #{noexist}")
|
232
232
|
end
|
233
233
|
|
234
234
|
it "should set the manifest to the first file and warn other files will be skipped" do
|
235
235
|
manifest = tmpfile('starwarsIV')
|
236
236
|
FileUtils.touch(manifest)
|
237
237
|
|
238
|
-
@apply.command_line.args
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
238
|
+
allow(@apply.command_line).to receive(:args).and_return([manifest, 'starwarsI', 'starwarsII'])
|
239
|
+
|
240
|
+
expect { @apply.main }.to exit_with 0
|
241
|
+
|
242
|
+
msg = @logs.find {|m| m.message =~ /Only one file can be applied per run/ }
|
243
|
+
expect(msg.message).to eq('Only one file can be applied per run. Skipping starwarsI, starwarsII')
|
244
|
+
expect(msg.level).to eq(:warning)
|
244
245
|
end
|
245
246
|
|
246
247
|
it "should splay" do
|
247
248
|
expect(@apply).to receive(:splay)
|
248
249
|
|
249
|
-
expect {
|
250
|
-
@apply.run
|
251
|
-
}.to exit_with(0).and output(anything).to_stdout
|
250
|
+
expect { @apply.main }.to exit_with 0
|
252
251
|
end
|
253
252
|
|
254
|
-
it "should
|
253
|
+
it "should raise an error if we can't find the node" do
|
255
254
|
expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
|
256
255
|
|
257
|
-
expect { @apply.
|
256
|
+
expect { @apply.main }.to raise_error(RuntimeError, /Could not find node/)
|
258
257
|
end
|
259
258
|
|
260
259
|
it "should load custom classes if loadclasses" do
|
@@ -265,18 +264,18 @@ describe Puppet::Application::Apply do
|
|
265
264
|
|
266
265
|
expect(@node).to receive(:classes=).with(['class'])
|
267
266
|
|
268
|
-
expect { @apply.
|
267
|
+
expect { @apply.main }.to exit_with 0
|
269
268
|
end
|
270
269
|
|
271
270
|
it "should compile the catalog" do
|
272
271
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(@catalog)
|
273
272
|
|
274
|
-
expect { @apply.
|
273
|
+
expect { @apply.main }.to exit_with 0
|
275
274
|
end
|
276
275
|
|
277
276
|
it 'should called the DeferredResolver to resolve any Deferred values' do
|
278
277
|
expect(Puppet::Pops::Evaluator::DeferredResolver).to receive(:resolve_and_replace).with(any_args)
|
279
|
-
expect { @apply.
|
278
|
+
expect { @apply.main }.to exit_with 0
|
280
279
|
end
|
281
280
|
|
282
281
|
it 'should make the Puppet::Pops::Loaders available when applying the compiled catalog' do
|
@@ -286,67 +285,47 @@ describe Puppet::Application::Apply do
|
|
286
285
|
fail('Loaders not found') unless Puppet.lookup(:loaders) { nil }.is_a?(Puppet::Pops::Loaders)
|
287
286
|
true
|
288
287
|
end.and_return(0)
|
289
|
-
expect { @apply.
|
288
|
+
expect { @apply.main }.to exit_with 0
|
290
289
|
end
|
291
290
|
|
292
291
|
it "should transform the catalog to ral" do
|
293
292
|
expect(@catalog).to receive(:to_ral).and_return(@catalog)
|
294
293
|
|
295
|
-
expect { @apply.
|
294
|
+
expect { @apply.main }.to exit_with 0
|
296
295
|
end
|
297
296
|
|
298
297
|
it "should finalize the catalog" do
|
299
298
|
expect(@catalog).to receive(:finalize)
|
300
299
|
|
301
|
-
expect { @apply.
|
300
|
+
expect { @apply.main }.to exit_with 0
|
302
301
|
end
|
303
302
|
|
304
303
|
it "should not save the classes or resource file by default" do
|
305
304
|
expect(@catalog).not_to receive(:write_class_file)
|
306
305
|
expect(@catalog).not_to receive(:write_resource_file)
|
307
|
-
|
308
|
-
expect { @apply.run }.to exit_with(0).and output(anything).to_stdout
|
306
|
+
expect { @apply.main }.to exit_with 0
|
309
307
|
end
|
310
308
|
|
311
|
-
it "should save the classes and resources files when requested
|
312
|
-
|
313
|
-
expect(@catalog).to receive(:write_resource_file).once
|
314
|
-
|
315
|
-
# dashes are parsed by the application's OptionParser
|
316
|
-
@apply.command_line.args = ['--write-catalog-summary']
|
317
|
-
expect { @apply.run }.to exit_with(0).and output(anything).to_stdout
|
318
|
-
end
|
319
|
-
|
320
|
-
it "should save the classes and resources files when requested on the command line using underscores" do
|
321
|
-
expect(@catalog).to receive(:write_class_file).once
|
322
|
-
expect(@catalog).to receive(:write_resource_file).once
|
323
|
-
|
324
|
-
# underscores are parsed by the settings PuppetOptionParser
|
325
|
-
@apply.command_line.args = ['--write_catalog_summary']
|
326
|
-
Puppet.initialize_settings(['--write_catalog_summary'])
|
327
|
-
expect { @apply.run }.to exit_with(0).and output(anything).to_stdout
|
328
|
-
end
|
329
|
-
|
330
|
-
it "should save the classes and resources files when specified as a setting" do
|
331
|
-
Puppet[:write_catalog_summary] = true
|
309
|
+
it "should save the classes and resources files when requested" do
|
310
|
+
@apply.options[:write_catalog_summary] = true
|
332
311
|
|
333
312
|
expect(@catalog).to receive(:write_class_file).once
|
334
313
|
expect(@catalog).to receive(:write_resource_file).once
|
335
314
|
|
336
|
-
expect { @apply.
|
315
|
+
expect { @apply.main }.to exit_with 0
|
337
316
|
end
|
338
317
|
|
339
318
|
it "should call the prerun and postrun commands on a Configurer instance" do
|
340
319
|
expect_any_instance_of(Puppet::Configurer).to receive(:execute_prerun_command).and_return(true)
|
341
320
|
expect_any_instance_of(Puppet::Configurer).to receive(:execute_postrun_command).and_return(true)
|
342
321
|
|
343
|
-
expect { @apply.
|
322
|
+
expect { @apply.main }.to exit_with 0
|
344
323
|
end
|
345
324
|
|
346
325
|
it "should apply the catalog" do
|
347
326
|
expect(@catalog).to receive(:apply).and_return(double('transaction'))
|
348
327
|
|
349
|
-
expect { @apply.
|
328
|
+
expect { @apply.main }.to exit_with 0
|
350
329
|
end
|
351
330
|
|
352
331
|
it "should save the last run summary" do
|
@@ -355,7 +334,7 @@ describe Puppet::Application::Apply do
|
|
355
334
|
allow(Puppet::Transaction::Report).to receive(:new).and_return(report)
|
356
335
|
|
357
336
|
expect_any_instance_of(Puppet::Configurer).to receive(:save_last_run_summary).with(report)
|
358
|
-
expect { @apply.
|
337
|
+
expect { @apply.main }.to exit_with 0
|
359
338
|
end
|
360
339
|
|
361
340
|
describe "when using node_name_fact" do
|
@@ -368,27 +347,27 @@ describe Puppet::Application::Apply do
|
|
368
347
|
end
|
369
348
|
|
370
349
|
it "should set the facts name based on the node_name_fact" do
|
371
|
-
expect { @apply.
|
350
|
+
expect { @apply.main }.to exit_with 0
|
372
351
|
expect(@facts.name).to eq('other_node_name')
|
373
352
|
end
|
374
353
|
|
375
354
|
it "should set the node_name_value based on the node_name_fact" do
|
376
|
-
expect { @apply.
|
355
|
+
expect { @apply.main }.to exit_with 0
|
377
356
|
expect(Puppet[:node_name_value]).to eq('other_node_name')
|
378
357
|
end
|
379
358
|
|
380
359
|
it "should merge in our node the loaded facts" do
|
381
360
|
@facts.values.merge!('key' => 'value')
|
382
361
|
|
383
|
-
expect { @apply.
|
362
|
+
expect { @apply.main }.to exit_with 0
|
384
363
|
|
385
364
|
expect(@node.parameters['key']).to eq('value')
|
386
365
|
end
|
387
366
|
|
388
|
-
it "should
|
367
|
+
it "should raise an error if we can't find the facts" do
|
389
368
|
expect(Puppet::Node::Facts.indirection).to receive(:find).and_return(nil)
|
390
369
|
|
391
|
-
expect { @apply.
|
370
|
+
expect { @apply.main }.to raise_error(RuntimeError, /Could not find facts/)
|
392
371
|
end
|
393
372
|
end
|
394
373
|
|
@@ -401,14 +380,14 @@ describe Puppet::Application::Apply do
|
|
401
380
|
Puppet[:noop] = false
|
402
381
|
allow_any_instance_of(Puppet::Transaction::Report).to receive(:exit_status).and_return(666)
|
403
382
|
|
404
|
-
expect { @apply.
|
383
|
+
expect { @apply.main }.to exit_with 666
|
405
384
|
end
|
406
385
|
|
407
386
|
it "should exit with report's computed exit status, even if --noop is set" do
|
408
387
|
Puppet[:noop] = true
|
409
388
|
allow_any_instance_of(Puppet::Transaction::Report).to receive(:exit_status).and_return(666)
|
410
389
|
|
411
|
-
expect { @apply.
|
390
|
+
expect { @apply.main }.to exit_with 666
|
412
391
|
end
|
413
392
|
|
414
393
|
it "should always exit with 0 if option is disabled" do
|
@@ -416,7 +395,7 @@ describe Puppet::Application::Apply do
|
|
416
395
|
report = double('report', :exit_status => 666)
|
417
396
|
allow(@transaction).to receive(:report).and_return(report)
|
418
397
|
|
419
|
-
expect { @apply.
|
398
|
+
expect { @apply.main }.to exit_with 0
|
420
399
|
end
|
421
400
|
|
422
401
|
it "should always exit with 0 if --noop" do
|
@@ -424,7 +403,7 @@ describe Puppet::Application::Apply do
|
|
424
403
|
report = double('report', :exit_status => 666)
|
425
404
|
allow(@transaction).to receive(:report).and_return(report)
|
426
405
|
|
427
|
-
expect { @apply.
|
406
|
+
expect { @apply.main }.to exit_with 0
|
428
407
|
end
|
429
408
|
end
|
430
409
|
end
|
@@ -524,15 +503,16 @@ describe Puppet::Application::Apply do
|
|
524
503
|
}
|
525
504
|
CODE
|
526
505
|
|
527
|
-
|
506
|
+
@apply.options[:write_catalog_summary] = true
|
507
|
+
|
528
508
|
Puppet.settings[:resourcefile] = resourcefile
|
529
509
|
Puppet.settings[:classfile] = classfile
|
530
510
|
|
531
511
|
#We don't actually need the resource to do anything, we are using it's properties in other parts of the workflow.
|
532
|
-
|
533
|
-
|
512
|
+
allow(Puppet::Util::Execution).to receive(:execute)
|
513
|
+
|
514
|
+
expect { @apply.main }.to exit_with 0
|
534
515
|
|
535
|
-
expect { @apply.run }.to exit_with(0).and output(%r{Exec\[do it\]/returns: executed successfully}).to_stdout
|
536
516
|
result = File.read(resourcefile)
|
537
517
|
|
538
518
|
expect(result).not_to match(/secret_file_name/)
|