puppet 6.25.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 +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 +87 -130
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +128 -226
- 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 +164 -114
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -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 -12
- 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 +0 -69
- data/lib/puppet/parser/scope.rb +0 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -2
- 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 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/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 +1 -14
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -49
- data/lib/puppet/resource.rb +1 -89
- 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 +9 -460
- 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 -8
- 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 -271
- 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 -37
- 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 +67 -202
- 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 +7 -8
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -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 +1 -1
- 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 +10 -67
- 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 -288
- 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 -91
- 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
@@ -198,10 +198,7 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
|
|
198
198
|
end
|
199
199
|
|
200
200
|
describe "#findgroup" do
|
201
|
-
before
|
202
|
-
allow(Puppet::FileSystem).to receive(:exist?).with('/etc/group').and_return(true)
|
203
|
-
allow(Puppet::FileSystem).to receive(:each_line).with('/etc/group').and_yield(content)
|
204
|
-
end
|
201
|
+
before { allow(File).to receive(:read).with('/etc/group').and_return(content) }
|
205
202
|
|
206
203
|
let(:content) { "sample_group_name:sample_password:sample_gid:sample_user_list" }
|
207
204
|
let(:output) do
|
@@ -224,7 +221,7 @@ describe Puppet::Type.type(:group).provider(:groupadd) do
|
|
224
221
|
end
|
225
222
|
|
226
223
|
it "reads the group file only once per resource" do
|
227
|
-
expect(
|
224
|
+
expect(File).to receive(:read).with('/etc/group').once
|
228
225
|
5.times { provider.send(:findgroup, :group_name, 'sample_group_name') }
|
229
226
|
end
|
230
227
|
end
|
@@ -3,28 +3,11 @@ require 'puppet/provider/nameservice'
|
|
3
3
|
require 'puppet/etc'
|
4
4
|
require 'puppet_spec/character_encoding'
|
5
5
|
|
6
|
-
Puppet::Type.newtype(:nameservice_dummytype) do
|
7
|
-
newparam(:name)
|
8
|
-
ensurable
|
9
|
-
newproperty(:foo)
|
10
|
-
newproperty(:bar)
|
11
|
-
end
|
12
|
-
|
13
|
-
Puppet::Type.type(:nameservice_dummytype).provide(:nameservice_dummyprovider, parent: Puppet::Provider::NameService) do
|
14
|
-
def posixmethod(param)
|
15
|
-
param
|
16
|
-
end
|
17
|
-
|
18
|
-
def modifycmd(param, value)
|
19
|
-
[]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
6
|
describe Puppet::Provider::NameService do
|
24
7
|
|
25
8
|
before :each do
|
26
|
-
|
27
|
-
|
9
|
+
described_class.initvars
|
10
|
+
described_class.resource_type = faketype
|
28
11
|
end
|
29
12
|
|
30
13
|
# These are values getpwent might give you
|
@@ -58,12 +41,16 @@ describe Puppet::Provider::NameService do
|
|
58
41
|
# The provider sometimes relies on @resource for valid properties so let's
|
59
42
|
# create a fake type with properties that match our fake struct.
|
60
43
|
let :faketype do
|
61
|
-
Puppet::Type.
|
44
|
+
Puppet::Type.newtype(:nameservice_dummytype) do
|
45
|
+
newparam(:name)
|
46
|
+
ensurable
|
47
|
+
newproperty(:foo)
|
48
|
+
newproperty(:bar)
|
49
|
+
end
|
62
50
|
end
|
63
51
|
|
64
52
|
let :provider do
|
65
|
-
|
66
|
-
.new(:name => 'bob', :foo => 'fooval', :bar => 'barval')
|
53
|
+
described_class.new(:name => 'bob', :foo => 'fooval', :bar => 'barval')
|
67
54
|
end
|
68
55
|
|
69
56
|
let :resource do
|
@@ -104,118 +91,61 @@ describe Puppet::Provider::NameService do
|
|
104
91
|
|
105
92
|
describe "#options" do
|
106
93
|
it "should add options for a valid property" do
|
107
|
-
|
108
|
-
|
109
|
-
expect(
|
110
|
-
expect(
|
111
|
-
expect(
|
94
|
+
described_class.options :foo, :key1 => 'val1', :key2 => 'val2'
|
95
|
+
described_class.options :bar, :key3 => 'val3'
|
96
|
+
expect(described_class.option(:foo, :key1)).to eq('val1')
|
97
|
+
expect(described_class.option(:foo, :key2)).to eq('val2')
|
98
|
+
expect(described_class.option(:bar, :key3)).to eq('val3')
|
112
99
|
end
|
113
100
|
|
114
101
|
it "should raise an error for an invalid property" do
|
115
|
-
expect {
|
102
|
+
expect { described_class.options :baz, :key1 => 'val1' }.to raise_error(
|
116
103
|
Puppet::Error, 'baz is not a valid attribute for nameservice_dummytype')
|
117
104
|
end
|
118
105
|
end
|
119
106
|
|
120
107
|
describe "#option" do
|
121
108
|
it "should return the correct value" do
|
122
|
-
|
123
|
-
expect(
|
109
|
+
described_class.options :foo, :key1 => 'val1', :key2 => 'val2'
|
110
|
+
expect(described_class.option(:foo, :key2)).to eq('val2')
|
124
111
|
end
|
125
112
|
|
126
113
|
it "should symbolize the name first" do
|
127
|
-
|
128
|
-
expect(
|
114
|
+
described_class.options :foo, :key1 => 'val1', :key2 => 'val2'
|
115
|
+
expect(described_class.option('foo', :key2)).to eq('val2')
|
129
116
|
end
|
130
117
|
|
131
118
|
it "should return nil if no option has been specified earlier" do
|
132
|
-
expect(
|
119
|
+
expect(described_class.option(:foo, :key2)).to be_nil
|
133
120
|
end
|
134
121
|
|
135
122
|
it "should return nil if no option for that property has been specified earlier" do
|
136
|
-
|
137
|
-
expect(
|
123
|
+
described_class.options :bar, :key2 => 'val2'
|
124
|
+
expect(described_class.option(:foo, :key2)).to be_nil
|
138
125
|
end
|
139
126
|
|
140
127
|
it "should return nil if no matching key can be found for that property" do
|
141
|
-
|
142
|
-
expect(
|
128
|
+
described_class.options :foo, :key3 => 'val2'
|
129
|
+
expect(described_class.option(:foo, :key2)).to be_nil
|
143
130
|
end
|
144
131
|
end
|
145
132
|
|
146
133
|
describe "#section" do
|
147
134
|
it "should raise an error if resource_type has not been set" do
|
148
|
-
expect(
|
149
|
-
expect {
|
135
|
+
expect(described_class).to receive(:resource_type).and_return(nil)
|
136
|
+
expect { described_class.section }.to raise_error Puppet::Error, 'Cannot determine Etc section without a resource type'
|
150
137
|
end
|
151
138
|
|
152
139
|
# the return values are hard coded so I am using types that actually make
|
153
140
|
# use of the nameservice provider
|
154
141
|
it "should return pw for users" do
|
155
|
-
provider.class.resource_type = Puppet::Type.type(:user)
|
156
|
-
expect(provider.class.section).to eq('pw')
|
157
|
-
end
|
158
|
-
|
159
|
-
it "should return gr for groups" do
|
160
|
-
provider.class.resource_type = Puppet::Type.type(:group)
|
161
|
-
expect(provider.class.section).to eq('gr')
|
162
|
-
end
|
163
|
-
end
|
164
|
-
|
165
|
-
describe "#listbyname" do
|
166
|
-
it "should be deprecated" do
|
167
|
-
expect(Puppet).to receive(:deprecation_warning).with(/listbyname is deprecated/)
|
168
|
-
described_class.listbyname
|
169
|
-
end
|
170
|
-
|
171
|
-
it "should return a list of users if resource_type is user" do
|
172
142
|
described_class.resource_type = Puppet::Type.type(:user)
|
173
|
-
expect(
|
174
|
-
allow(Puppet::Etc).to receive(:getpwent).and_return(*users)
|
175
|
-
expect(Puppet::Etc).to receive(:endpwent)
|
176
|
-
expect(described_class.listbyname).to eq(%w{root foo})
|
143
|
+
expect(described_class.section).to eq('pw')
|
177
144
|
end
|
178
145
|
|
179
|
-
|
180
|
-
described_class.resource_type = Puppet::Type.type(:user)
|
181
|
-
|
182
|
-
# These two tests simulate an environment where there are two users with
|
183
|
-
# the same name on disk, but each name is stored on disk in a different
|
184
|
-
# encoding
|
185
|
-
it "should return names with invalid byte sequences replaced with '?'" do
|
186
|
-
allow(Etc).to receive(:getpwent).and_return(*utf_8_mixed_users)
|
187
|
-
expect(invalid_utf_8_jose).to_not be_valid_encoding
|
188
|
-
result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::UTF_8) do
|
189
|
-
described_class.listbyname
|
190
|
-
end
|
191
|
-
expect(result).to eq(['root', 'foo', utf_8_jose, escaped_utf_8_jose])
|
192
|
-
end
|
193
|
-
|
194
|
-
it "should return names in their original encoding/bytes if they would not be valid UTF-8" do
|
195
|
-
allow(Etc).to receive(:getpwent).and_return(*latin_1_mixed_users)
|
196
|
-
result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::ISO_8859_1) do
|
197
|
-
described_class.listbyname
|
198
|
-
end
|
199
|
-
expect(result).to eq(['root'.force_encoding(Encoding::UTF_8), 'foo'.force_encoding(Encoding::UTF_8), utf_8_jose, valid_latin1_jose])
|
200
|
-
end
|
201
|
-
end
|
202
|
-
|
203
|
-
it "should return a list of groups if resource_type is group", :unless => Puppet::Util::Platform.windows? do
|
146
|
+
it "should return gr for groups" do
|
204
147
|
described_class.resource_type = Puppet::Type.type(:group)
|
205
|
-
expect(
|
206
|
-
allow(Puppet::Etc).to receive(:getgrent).and_return(*groups)
|
207
|
-
expect(Puppet::Etc).to receive(:endgrent)
|
208
|
-
expect(described_class.listbyname).to eq(%w{root bin})
|
209
|
-
end
|
210
|
-
|
211
|
-
it "should yield if a block given" do
|
212
|
-
yield_results = []
|
213
|
-
described_class.resource_type = Puppet::Type.type(:user)
|
214
|
-
expect(Puppet::Etc).to receive(:setpwent)
|
215
|
-
allow(Puppet::Etc).to receive(:getpwent).and_return(*users)
|
216
|
-
expect(Puppet::Etc).to receive(:endpwent)
|
217
|
-
described_class.listbyname {|x| yield_results << x }
|
218
|
-
expect(yield_results).to eq(%w{root foo})
|
148
|
+
expect(described_class.section).to eq('gr')
|
219
149
|
end
|
220
150
|
end
|
221
151
|
|
@@ -226,7 +156,7 @@ describe Puppet::Provider::NameService do
|
|
226
156
|
# encoding
|
227
157
|
allow(Etc).to receive(:getpwent).and_return(*utf_8_mixed_users)
|
228
158
|
result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::UTF_8) do
|
229
|
-
|
159
|
+
described_class.instances
|
230
160
|
end
|
231
161
|
expect(result.map(&:name)).to eq(
|
232
162
|
[
|
@@ -241,7 +171,7 @@ describe Puppet::Provider::NameService do
|
|
241
171
|
it "should have object names in their original encoding/bytes if they would not be valid UTF-8" do
|
242
172
|
allow(Etc).to receive(:getpwent).and_return(*latin_1_mixed_users)
|
243
173
|
result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::ISO_8859_1) do
|
244
|
-
|
174
|
+
described_class.instances
|
245
175
|
end
|
246
176
|
expect(result.map(&:name)).to eq(
|
247
177
|
[
|
@@ -256,40 +186,40 @@ describe Puppet::Provider::NameService do
|
|
256
186
|
it "should pass the Puppet::Etc :canonical_name Struct member to the constructor" do
|
257
187
|
users = [ Struct::Passwd.new(invalid_utf_8_jose, invalid_utf_8_jose, 1002, 2000), nil ]
|
258
188
|
allow(Etc).to receive(:getpwent).and_return(*users)
|
259
|
-
expect(
|
260
|
-
|
189
|
+
expect(described_class).to receive(:new).with(:name => escaped_utf_8_jose, :canonical_name => invalid_utf_8_jose, :ensure => :present)
|
190
|
+
described_class.instances
|
261
191
|
end
|
262
192
|
end
|
263
193
|
|
264
194
|
describe "validate" do
|
265
195
|
it "should pass if no check is registered at all" do
|
266
|
-
expect {
|
267
|
-
expect {
|
196
|
+
expect { described_class.validate(:foo, 300) }.to_not raise_error
|
197
|
+
expect { described_class.validate('foo', 300) }.to_not raise_error
|
268
198
|
end
|
269
199
|
|
270
200
|
it "should pass if no check for that property is registered" do
|
271
|
-
|
272
|
-
expect {
|
273
|
-
expect {
|
201
|
+
described_class.verify(:bar, 'Must be 100') { |val| val == 100 }
|
202
|
+
expect { described_class.validate(:foo, 300) }.to_not raise_error
|
203
|
+
expect { described_class.validate('foo', 300) }.to_not raise_error
|
274
204
|
end
|
275
205
|
|
276
206
|
it "should pass if the value is valid" do
|
277
|
-
|
278
|
-
expect {
|
279
|
-
expect {
|
207
|
+
described_class.verify(:foo, 'Must be 100') { |val| val == 100 }
|
208
|
+
expect { described_class.validate(:foo, 100) }.to_not raise_error
|
209
|
+
expect { described_class.validate('foo', 100) }.to_not raise_error
|
280
210
|
end
|
281
211
|
|
282
212
|
it "should raise an error if the value is invalid" do
|
283
|
-
|
284
|
-
expect {
|
285
|
-
expect {
|
213
|
+
described_class.verify(:foo, 'Must be 100') { |val| val == 100 }
|
214
|
+
expect { described_class.validate(:foo, 200) }.to raise_error(ArgumentError, 'Invalid value 200: Must be 100')
|
215
|
+
expect { described_class.validate('foo', 200) }.to raise_error(ArgumentError, 'Invalid value 200: Must be 100')
|
286
216
|
end
|
287
217
|
end
|
288
218
|
|
289
219
|
describe "getinfo" do
|
290
220
|
before :each do
|
291
221
|
# with section=foo we'll call Etc.getfoonam instead of getpwnam or getgrnam
|
292
|
-
allow(
|
222
|
+
allow(described_class).to receive(:section).and_return('foo')
|
293
223
|
resource # initialize the resource so our provider has a @resource instance variable
|
294
224
|
end
|
295
225
|
|
@@ -309,13 +239,13 @@ describe Puppet::Provider::NameService do
|
|
309
239
|
# overriding to UTF-8, in @canonical_name for querying that state on disk
|
310
240
|
# again if needed
|
311
241
|
it "should use the instance's @canonical_name to query the system" do
|
312
|
-
provider_instance =
|
242
|
+
provider_instance = described_class.new(:name => 'foo', :canonical_name => 'original_foo', :ensure => :present)
|
313
243
|
expect(Puppet::Etc).to receive(:send).with(:getfoonam, 'original_foo')
|
314
244
|
provider_instance.getinfo(true)
|
315
245
|
end
|
316
246
|
|
317
247
|
it "should use the instance's name instead of canonical_name if not supplied during instantiation" do
|
318
|
-
provider_instance =
|
248
|
+
provider_instance = described_class.new(:name => 'foo', :ensure => :present)
|
319
249
|
expect(Puppet::Etc).to receive(:send).with(:getfoonam, 'foo')
|
320
250
|
provider_instance.getinfo(true)
|
321
251
|
end
|
@@ -323,6 +253,16 @@ describe Puppet::Provider::NameService do
|
|
323
253
|
|
324
254
|
describe "info2hash" do
|
325
255
|
it "should return a hash with all properties" do
|
256
|
+
# we have to have an implementation of posixmethod which has to
|
257
|
+
# convert a propertyname (e.g. comment) into a fieldname of our
|
258
|
+
# Struct (e.g. gecos). I do not want to test posixmethod here so
|
259
|
+
# let's fake an implementation which does not do any translation. We
|
260
|
+
# expect two method invocations because info2hash calls the method
|
261
|
+
# twice if the Struct responds to the propertyname (our fake Struct
|
262
|
+
# provides values for :foo and :bar) TODO: Fix that
|
263
|
+
expect(provider).to receive(:posixmethod).with(:foo).and_return(:foo).twice
|
264
|
+
expect(provider).to receive(:posixmethod).with(:bar).and_return(:bar).twice
|
265
|
+
expect(provider).to receive(:posixmethod).with(:ensure).and_return(:ensure)
|
326
266
|
expect(provider.info2hash(fakeetcobject)).to eq({ :foo => 'fooval', :bar => 'barval' })
|
327
267
|
end
|
328
268
|
end
|
@@ -333,7 +273,7 @@ describe Puppet::Provider::NameService do
|
|
333
273
|
end
|
334
274
|
|
335
275
|
it "should return the munged value otherwise" do
|
336
|
-
|
276
|
+
described_class.options(:foo, :munge => proc { |x| x*2 })
|
337
277
|
expect(provider.munge(:foo, 100)).to eq(200)
|
338
278
|
end
|
339
279
|
end
|
@@ -344,7 +284,7 @@ describe Puppet::Provider::NameService do
|
|
344
284
|
end
|
345
285
|
|
346
286
|
it "should return the unmunged value otherwise" do
|
347
|
-
|
287
|
+
described_class.options(:foo, :unmunge => proc { |x| x/2 })
|
348
288
|
expect(provider.unmunge(:foo, 200)).to eq(100)
|
349
289
|
end
|
350
290
|
end
|
@@ -362,13 +302,15 @@ describe Puppet::Provider::NameService do
|
|
362
302
|
end
|
363
303
|
|
364
304
|
describe "get" do
|
305
|
+
before(:each) {described_class.resource_type = faketype }
|
306
|
+
|
365
307
|
it "should return the correct getinfo value" do
|
366
308
|
expect(provider).to receive(:getinfo).with(false).and_return(:foo => 'fooval', :bar => 'barval')
|
367
309
|
expect(provider.get(:bar)).to eq('barval')
|
368
310
|
end
|
369
311
|
|
370
312
|
it "should unmunge the value first" do
|
371
|
-
|
313
|
+
described_class.options(:bar, :munge => proc { |x| x*2}, :unmunge => proc {|x| x/2})
|
372
314
|
expect(provider).to receive(:getinfo).with(false).and_return(:foo => 200, :bar => 500)
|
373
315
|
expect(provider.get(:bar)).to eq(250)
|
374
316
|
end
|
@@ -383,7 +325,7 @@ describe Puppet::Provider::NameService do
|
|
383
325
|
describe "set" do
|
384
326
|
before :each do
|
385
327
|
resource # initialize resource so our provider has a @resource object
|
386
|
-
|
328
|
+
described_class.verify(:foo, 'Must be 100') { |val| val == 100 }
|
387
329
|
end
|
388
330
|
|
389
331
|
it "should raise an error on invalid values" do
|
@@ -397,7 +339,7 @@ describe Puppet::Provider::NameService do
|
|
397
339
|
end
|
398
340
|
|
399
341
|
it "should munge the value first" do
|
400
|
-
|
342
|
+
described_class.options(:foo, :munge => proc { |x| x*2}, :unmunge => proc {|x| x/2})
|
401
343
|
expect(provider).to receive(:modifycmd).with(:foo, 200).and_return(['/bin/modify', '-f', '200' ])
|
402
344
|
expect(provider).to receive(:execute).with(['/bin/modify', '-f', '200'], hash_including(custom_environment: {}))
|
403
345
|
provider.set(:foo, 100)
|
@@ -11,7 +11,9 @@ describe Puppet::Type.type(:package).provider(:apt) do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
let(:provider) do
|
14
|
-
|
14
|
+
provider = subject()
|
15
|
+
provider.resource = resource
|
16
|
+
provider
|
15
17
|
end
|
16
18
|
|
17
19
|
it "should be the default provider on :osfamily => Debian" do
|
@@ -86,7 +88,7 @@ Version table:
|
|
86
88
|
|
87
89
|
describe ".instances" do
|
88
90
|
before do
|
89
|
-
allow(Puppet::Type::Package::ProviderDpkg).to receive(:instances).and_return([
|
91
|
+
allow(Puppet::Type::Package::ProviderDpkg).to receive(:instances).and_return([resource])
|
90
92
|
end
|
91
93
|
|
92
94
|
context "when package is manual marked" do
|
@@ -95,7 +97,8 @@ Version table:
|
|
95
97
|
end
|
96
98
|
|
97
99
|
it 'sets mark to manual' do
|
98
|
-
expect(
|
100
|
+
expect(resource).to receive(:mark=).with(:manual)
|
101
|
+
described_class.instances
|
99
102
|
end
|
100
103
|
end
|
101
104
|
|
@@ -105,7 +108,8 @@ Version table:
|
|
105
108
|
end
|
106
109
|
|
107
110
|
it 'does not set mark to manual' do
|
108
|
-
expect(
|
111
|
+
expect(resource).not_to receive(:mark=).with(:manual)
|
112
|
+
described_class.instances
|
109
113
|
end
|
110
114
|
end
|
111
115
|
end
|
@@ -115,12 +119,24 @@ Version table:
|
|
115
119
|
allow(provider).to receive(:dpkgquery).and_return("name: #{resource.name}" )
|
116
120
|
end
|
117
121
|
|
122
|
+
context "when package is manual marked" do
|
123
|
+
before do
|
124
|
+
allow(described_class).to receive(:aptmark).with('showmanual').and_return("#{resource.name}\n")
|
125
|
+
end
|
118
126
|
|
119
|
-
|
120
|
-
it 'does not set mark to manual' do
|
127
|
+
it 'sets mark to manual' do
|
121
128
|
result = provider.query
|
129
|
+
expect(result[:mark]).to eql(:manual)
|
130
|
+
end
|
131
|
+
end
|
122
132
|
|
123
|
-
|
133
|
+
context 'when package is not manual marked ' do
|
134
|
+
before do
|
135
|
+
allow(described_class).to receive(:aptmark).with('showmanual').and_return('')
|
136
|
+
end
|
137
|
+
|
138
|
+
it 'does not set mark to manual' do
|
139
|
+
result = provider.query
|
124
140
|
expect(result[:mark]).to be_nil
|
125
141
|
end
|
126
142
|
end
|
@@ -277,26 +293,5 @@ Version table:
|
|
277
293
|
|
278
294
|
provider.install
|
279
295
|
end
|
280
|
-
|
281
|
-
it "should install using the source attribute if present" do
|
282
|
-
resource[:ensure] = :installed
|
283
|
-
resource[:source] = '/my/local/package/file'
|
284
|
-
|
285
|
-
expect(provider).to receive(:aptget).with(any_args, :install, resource[:source])
|
286
|
-
expect(provider).to receive(:properties).and_return({:mark => :none})
|
287
|
-
|
288
|
-
provider.install
|
289
|
-
end
|
290
|
-
|
291
|
-
it "should install specific version using the source attribute if present" do
|
292
|
-
resource[:ensure] = '1.2.3'
|
293
|
-
resource[:source] = '/my/local/package/file'
|
294
|
-
|
295
|
-
expect(provider).to receive(:aptget).with(any_args, :install, resource[:source])
|
296
|
-
expect(provider).to receive(:properties).and_return({:mark => :none})
|
297
|
-
expect(provider).to receive(:query).and_return({:ensure => '1.2.3'})
|
298
|
-
|
299
|
-
provider.install
|
300
|
-
end
|
301
296
|
end
|
302
297
|
end
|
@@ -13,7 +13,7 @@ describe Puppet::Type.type(:package).provider(:aptitude) do
|
|
13
13
|
|
14
14
|
before do
|
15
15
|
allow(Puppet::Util).to receive(:which).with('/usr/bin/dpkg-query').and_return(dpkgquery_path)
|
16
|
-
allow(described_class).to receive(:aptmark).with('showmanual'
|
16
|
+
allow(described_class).to receive(:aptmark).with('showmanual').and_return("")
|
17
17
|
end
|
18
18
|
|
19
19
|
{ :absent => "deinstall ok config-files faff 1.2.3-1\n",
|
@@ -1,18 +1,17 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'puppet/provider/package'
|
3
3
|
|
4
|
-
Puppet::Type.type(:package).provide(:test_base_provider, parent: Puppet::Provider::Package) do
|
5
|
-
def query; end
|
6
|
-
end
|
7
|
-
|
8
4
|
describe Puppet::Provider::Package do
|
9
|
-
let(:provider) { Puppet::Type.type(:package).provider(:test_base_provider).new }
|
10
|
-
|
11
5
|
it 'returns absent for uninstalled packages when not purgeable' do
|
6
|
+
provider = Puppet::Provider::Package.new
|
7
|
+
expect(provider).to receive(:query).and_return(nil)
|
8
|
+
expect(provider.class).to receive(:feature?).with(:purgeable).and_return(false)
|
12
9
|
expect(provider.properties[:ensure]).to eq(:absent)
|
13
10
|
end
|
14
11
|
|
15
12
|
it 'returns purged for uninstalled packages when purgeable' do
|
13
|
+
provider = Puppet::Provider::Package.new
|
14
|
+
expect(provider).to receive(:query).and_return(nil)
|
16
15
|
expect(provider.class).to receive(:feature?).with(:purgeable).and_return(true)
|
17
16
|
expect(provider.properties[:ensure]).to eq(:purged)
|
18
17
|
end
|
@@ -123,7 +123,7 @@ describe Puppet::Type.type(:package).provider(:dnfmodule) do
|
|
123
123
|
provider.install
|
124
124
|
end
|
125
125
|
|
126
|
-
it "should just enable the module if it has no default profile
|
126
|
+
it "should just enable the module if it has no default profile" do
|
127
127
|
dnf_exception = Puppet::ExecutionFailure.new("Error: Problems in request:\nmissing groups or modules: #{resource[:name]}")
|
128
128
|
allow(provider).to receive(:execute).with(array_including('install')).and_raise(dnf_exception)
|
129
129
|
resource[:ensure] = :present
|
@@ -132,15 +132,6 @@ describe Puppet::Type.type(:package).provider(:dnfmodule) do
|
|
132
132
|
provider.install
|
133
133
|
end
|
134
134
|
|
135
|
-
it "should just enable the module if it has no default profile(broken groups or modules)" do
|
136
|
-
dnf_exception = Puppet::ExecutionFailure.new("Error: Problems in request:\nbroken groups or modules: #{resource[:name]}")
|
137
|
-
allow(provider).to receive(:execute).with(array_including('install')).and_raise(dnf_exception)
|
138
|
-
resource[:ensure] = :present
|
139
|
-
expect(provider).to receive(:execute).with(array_including('install')).ordered
|
140
|
-
expect(provider).to receive(:execute).with(array_including('enable')).ordered
|
141
|
-
provider.install
|
142
|
-
end
|
143
|
-
|
144
135
|
it "should just enable the module if enable_only = true" do
|
145
136
|
resource[:ensure] = :present
|
146
137
|
resource[:enable_only] = true
|
@@ -392,39 +392,13 @@ describe Puppet::Type.type(:package).provider(:dpkg), unless: Puppet::Util::Plat
|
|
392
392
|
allow(Tempfile).to receive(:open).and_yield(tempfile)
|
393
393
|
end
|
394
394
|
|
395
|
-
it "installs first if package is not present and ensure holding" do
|
396
|
-
allow(provider).to receive(:execute)
|
397
|
-
allow(provider).to receive(:package_not_installed?).and_return(true)
|
398
|
-
expect(provider).to receive(:install).once
|
399
|
-
expect(provider).to receive(:hold)
|
400
|
-
provider.deprecated_hold
|
401
|
-
end
|
402
|
-
|
403
|
-
it "skips install new package if hold is true" do
|
404
|
-
allow(provider).to receive(:execute)
|
405
|
-
allow(provider).to receive(:package_not_installed?).and_return(true)
|
406
|
-
expect(provider).to receive(:install).once
|
407
|
-
expect(provider).to receive(:hold)
|
408
|
-
provider.deprecated_hold
|
409
|
-
end
|
410
|
-
|
411
|
-
it "skips install new package if package is allready installed" do
|
412
|
-
allow(provider).to receive(:execute)
|
413
|
-
allow(provider).to receive(:package_not_installed?).and_return(false)
|
414
|
-
expect(provider).not_to receive(:install)
|
415
|
-
expect(provider).to receive(:hold)
|
416
|
-
provider.deprecated_hold
|
417
|
-
end
|
418
|
-
|
419
395
|
it "executes dpkg --set-selections when holding" do
|
420
|
-
allow(provider).to receive(:package_not_installed?).and_return(false)
|
421
396
|
allow(provider).to receive(:install)
|
422
397
|
expect(provider).to receive(:execute).with([:dpkg, '--set-selections'], {:failonfail => false, :combine => false, :stdinfile => tempfile.path}).once
|
423
398
|
provider.hold
|
424
399
|
end
|
425
400
|
|
426
401
|
it "executes dpkg --set-selections when unholding" do
|
427
|
-
allow(provider).to receive(:package_not_installed?).and_return(false)
|
428
402
|
allow(provider).to receive(:install)
|
429
403
|
expect(provider).to receive(:execute).with([:dpkg, '--set-selections'], {:failonfail => false, :combine => false, :stdinfile => tempfile.path}).once
|
430
404
|
provider.hold
|
@@ -467,26 +441,4 @@ describe Puppet::Type.type(:package).provider(:dpkg), unless: Puppet::Util::Plat
|
|
467
441
|
provider.purge
|
468
442
|
end
|
469
443
|
|
470
|
-
context "package_not_installed?" do
|
471
|
-
context "allow_virtual false" do
|
472
|
-
before do
|
473
|
-
allow(resource).to receive(:allow_virtual?).and_return(false)
|
474
|
-
end
|
475
|
-
|
476
|
-
it "returns true if package is not found" do
|
477
|
-
expect(provider).to receive(:dpkgquery).with("-W", "--showformat", "'${Status} ${Package} ${Version}\\n'", resource_name).and_raise(Puppet::ExecutionFailure.new("eh"))
|
478
|
-
expect(provider.package_not_installed?).to eq(true)
|
479
|
-
end
|
480
|
-
|
481
|
-
it "returns true if package is not installed" do
|
482
|
-
expect(provider).to receive(:dpkgquery).with("-W", "--showformat", "'${Status} ${Package} ${Version}\\n'", resource_name).and_return("unknown ok not-installed #{resource_name}")
|
483
|
-
expect(provider.package_not_installed?).to eq(true)
|
484
|
-
end
|
485
|
-
|
486
|
-
it "returns false if package is installed" do
|
487
|
-
expect(provider).to receive(:dpkgquery).with("-W", "--showformat", "'${Status} ${Package} ${Version}\\n'", resource_name).and_return("install ok installed resource_name 1.2.3")
|
488
|
-
expect(provider.package_not_installed?).to eq(false)
|
489
|
-
end
|
490
|
-
end
|
491
|
-
end
|
492
444
|
end
|
@@ -12,6 +12,10 @@ context Puppet::Type.type(:package).provider(:gem) do
|
|
12
12
|
let(:provider_gem_cmd) { '/provider/gem' }
|
13
13
|
let(:execute_options) { {:failonfail => true, :combine => true, :custom_environment => {"HOME"=>ENV["HOME"]}} }
|
14
14
|
|
15
|
+
before do
|
16
|
+
allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
|
17
|
+
end
|
18
|
+
|
15
19
|
context 'installing myresource' do
|
16
20
|
let(:resource) do
|
17
21
|
Puppet::Type.type(:package).new(
|
@@ -36,6 +40,34 @@ context Puppet::Type.type(:package).provider(:gem) do
|
|
36
40
|
allow(provider).to receive(:rubygem_version).and_return('1.9.9')
|
37
41
|
end
|
38
42
|
|
43
|
+
context 'on windows' do
|
44
|
+
let(:path) do
|
45
|
+
"C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Ruby26-x64\\bin;C:\\Windows\\system32\\bin"
|
46
|
+
end
|
47
|
+
|
48
|
+
let(:expected_path) do
|
49
|
+
"C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Ruby26-x64\\bin;C:\\Windows\\system32\\bin"
|
50
|
+
end
|
51
|
+
|
52
|
+
before do
|
53
|
+
allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
|
54
|
+
allow(Puppet::Util).to receive(:get_env)
|
55
|
+
allow(Puppet::Util).to receive(:get_env).with('PATH').and_return(path)
|
56
|
+
allow(described_class).to receive(:validate_command).with(provider_gem_cmd)
|
57
|
+
stub_const('::File::PATH_SEPARATOR', ';')
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'removes puppet/bin from PATH' do
|
61
|
+
expect(described_class).to receive(:execute) \
|
62
|
+
.with(
|
63
|
+
anything,
|
64
|
+
hash_including(custom_environment: hash_including(PATH: expected_path))
|
65
|
+
)
|
66
|
+
.and_return("")
|
67
|
+
provider.install
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
39
71
|
it "should use the path to the gem command" do
|
40
72
|
allow(described_class).to receive(:validate_command).with(provider_gem_cmd)
|
41
73
|
expect(described_class).to receive(:execute).with(be_a(Array), execute_options) { |args| expect(args[0]).to eq(provider_gem_cmd) }.and_return("")
|
@@ -442,7 +474,7 @@ context Puppet::Type.type(:package).provider(:gem) do
|
|
442
474
|
end
|
443
475
|
|
444
476
|
context 'when is defaultfor' do
|
445
|
-
let(:os) {
|
477
|
+
let(:os) { Facter.value(:operatingsystem) }
|
446
478
|
subject do
|
447
479
|
described_class.defaultfor(operatingsystem: os)
|
448
480
|
described_class.specificity
|