puppet 6.24.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 +1 -3
- data/Gemfile.lock +35 -47
- data/README.md +5 -5
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/osx/puppet.plist +0 -2
- data/ext/project_data.yaml +1 -15
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +14 -23
- data/lib/puppet/application.rb +178 -108
- data/lib/puppet/application/agent.rb +4 -12
- data/lib/puppet/application/apply.rb +2 -4
- data/lib/puppet/application/device.rb +100 -106
- data/lib/puppet/application/filebucket.rb +13 -10
- data/lib/puppet/application/resource.rb +3 -17
- data/lib/puppet/application/script.rb +0 -2
- data/lib/puppet/application/ssl.rb +1 -13
- data/lib/puppet/application_support.rb +0 -7
- data/lib/puppet/configurer.rb +30 -45
- data/lib/puppet/configurer/downloader.rb +1 -2
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +100 -192
- data/lib/puppet/environments.rb +60 -84
- data/lib/puppet/face/facts.rb +5 -103
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/help/action.erb +0 -1
- data/lib/puppet/face/help/face.erb +0 -1
- data/lib/puppet/face/node/clean.rb +0 -11
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/windows.rb +12 -0
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +3 -32
- data/lib/puppet/file_serving/fileset.rb +2 -14
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +1 -1
- data/lib/puppet/file_system/memory_file.rb +1 -8
- data/lib/puppet/file_system/windows.rb +2 -4
- data/lib/puppet/forge.rb +3 -3
- data/lib/puppet/forge/repository.rb +0 -1
- 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/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.rb +22 -13
- data/lib/puppet/http/client.rb +164 -114
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -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.rb +5 -15
- 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/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service.rb +12 -26
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +22 -138
- 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/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/compiler.rb +0 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- 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/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/interface/documentation.rb +0 -1
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +2 -52
- 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.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +3 -1
- data/lib/puppet/parser/ast/leaf.rb +2 -3
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- 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/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +0 -45
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/types/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_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- data/lib/puppet/pops/validation/checker4_0.rb +9 -37
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/provider.rb +0 -13
- data/lib/puppet/provider/exec/posix.rb +4 -16
- data/lib/puppet/provider/group/groupadd.rb +8 -13
- 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 +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/parsedfile.rb +0 -3
- data/lib/puppet/provider/service/debian.rb +0 -2
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/service/systemd.rb +4 -14
- data/lib/puppet/provider/service/windows.rb +0 -38
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/directoryservice.rb +10 -33
- data/lib/puppet/provider/user/useradd.rb +8 -62
- data/lib/puppet/reference/configuration.rb +8 -7
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +80 -96
- 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/ssl.rb +10 -6
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +1 -3
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/report.rb +2 -4
- data/lib/puppet/type.rb +0 -76
- data/lib/puppet/type/exec.rb +3 -16
- data/lib/puppet/type/file.rb +6 -26
- 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/filebucket.rb +3 -3
- data/lib/puppet/type/package.rb +8 -16
- data/lib/puppet/type/service.rb +38 -18
- data/lib/puppet/type/tidy.rb +3 -22
- data/lib/puppet/type/user.rb +20 -38
- data/lib/puppet/util/autoload.rb +8 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -53
- data/lib/puppet/util/posix.rb +5 -54
- 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/symbolic_file_mode.rb +17 -29
- data/lib/puppet/util/windows.rb +3 -8
- 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/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +722 -1527
- data/man/man5/puppet.conf.5 +266 -354
- data/man/man8/puppet-agent.8 +2 -2
- 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 +1 -58
- 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 +27 -171
- data/spec/integration/application/apply_spec.rb +1 -20
- data/spec/integration/application/filebucket_spec.rb +16 -27
- 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/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 +36 -90
- 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_spec.rb +9 -4
- data/spec/integration/type/exec_spec.rb +45 -70
- data/spec/integration/type/file_spec.rb +5 -4
- 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/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/puppetserver.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +1 -1
- data/spec/spec_helper.rb +7 -12
- data/spec/unit/agent_spec.rb +6 -10
- data/spec/unit/application/agent_spec.rb +3 -7
- data/spec/unit/application/facts_spec.rb +12 -456
- data/spec/unit/application/filebucket_spec.rb +43 -39
- 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 +12 -32
- 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 -54
- data/spec/unit/environments_spec.rb +68 -259
- data/spec/unit/face/node_spec.rb +11 -0
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +15 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- 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 -15
- 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/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 -185
- 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 -14
- 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 +12 -8
- 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_spec.rb +2 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -78
- 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 -45
- 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_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/types/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 -6
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/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 +32 -0
- 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/pip_spec.rb +11 -43
- data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
- data/spec/unit/provider/parsedfile_spec.rb +0 -10
- data/spec/unit/provider/service/init_spec.rb +0 -1
- 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 +8 -53
- data/spec/unit/provider/service/windows_spec.rb +0 -203
- data/spec/unit/provider/user/aix_spec.rb +0 -5
- data/spec/unit/provider/user/directoryservice_spec.rb +35 -67
- 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 +3 -71
- data/spec/unit/provider_spec.rb +8 -18
- 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 +15 -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 -60
- data/spec/unit/type/tidy_spec.rb +8 -24
- data/spec/unit/type/user_spec.rb +0 -45
- data/spec/unit/type_spec.rb +22 -2
- 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 -3
- 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
- metadata +45 -253
- data/conf/auth.conf +0 -150
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/ffi/posix.rb +0 -10
- data/lib/puppet/ffi/posix/constants.rb +0 -14
- data/lib/puppet/ffi/posix/functions.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.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/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.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/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.rb +0 -122
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -91
- 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/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/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/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 -422
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/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
@@ -42,6 +42,7 @@ describe Puppet::Application::Filebucket do
|
|
42
42
|
describe "during setup" do
|
43
43
|
before :each do
|
44
44
|
allow(Puppet::Log).to receive(:newdestination)
|
45
|
+
allow(Puppet).to receive(:settraps)
|
45
46
|
allow(Puppet::FileBucket::Dipper).to receive(:new)
|
46
47
|
allow(@filebucket.options).to receive(:[])
|
47
48
|
end
|
@@ -114,15 +115,15 @@ describe Puppet::Application::Filebucket do
|
|
114
115
|
end
|
115
116
|
|
116
117
|
it "should default to the first good server_list entry if server_list is set" do
|
117
|
-
stub_request(:get, "https://foo:8140/status/v1/simple/
|
118
|
+
stub_request(:get, "https://foo:8140/status/v1/simple/server").to_return(status: 200)
|
118
119
|
Puppet[:server_list] = "foo,bar,baz"
|
119
120
|
expect(Puppet::FileBucket::Dipper).to receive(:new).with(hash_including(Server: "foo"))
|
120
121
|
@filebucket.setup
|
121
122
|
end
|
122
123
|
|
123
124
|
it "should walk server_list until it finds a good entry" do
|
124
|
-
stub_request(:get, "https://foo:8140/status/v1/simple/
|
125
|
-
stub_request(:get, "https://bar:8140/status/v1/simple/
|
125
|
+
stub_request(:get, "https://foo:8140/status/v1/simple/server").to_return(status: 502)
|
126
|
+
stub_request(:get, "https://bar:8140/status/v1/simple/server").to_return(status: 200)
|
126
127
|
Puppet[:server_list] = "foo,bar,baz"
|
127
128
|
expect(Puppet::FileBucket::Dipper).to receive(:new).with(hash_including(Server: "bar"))
|
128
129
|
@filebucket.setup
|
@@ -130,6 +131,8 @@ describe Puppet::Application::Filebucket do
|
|
130
131
|
|
131
132
|
# FileBucket catches any exceptions raised, logs them, then just exits
|
132
133
|
it "raises an error if there are no functional servers in server_list" do
|
134
|
+
stub_request(:get, "https://foo:8140/status/v1/simple/server").to_return(status: 404)
|
135
|
+
stub_request(:get, "https://bar:8140/status/v1/simple/server").to_return(status: 404)
|
133
136
|
stub_request(:get, "https://foo:8140/status/v1/simple/master").to_return(status: 404)
|
134
137
|
stub_request(:get, "https://bar:8140/status/v1/simple/master").to_return(status: 404)
|
135
138
|
Puppet[:server] = 'horacio'
|
@@ -145,7 +148,7 @@ describe Puppet::Application::Filebucket do
|
|
145
148
|
end
|
146
149
|
|
147
150
|
it "should take both the server and port specified in server_list" do
|
148
|
-
stub_request(:get, "https://foo:632/status/v1/simple/
|
151
|
+
stub_request(:get, "https://foo:632/status/v1/simple/server").to_return(status: 200)
|
149
152
|
Puppet[:server_list] = "foo:632,bar:6215,baz:351"
|
150
153
|
expect(Puppet::FileBucket::Dipper).to receive(:new).with({ :Server => "foo", :Port => 632 })
|
151
154
|
@filebucket.setup
|
@@ -156,6 +159,7 @@ describe Puppet::Application::Filebucket do
|
|
156
159
|
describe "when running" do
|
157
160
|
before :each do
|
158
161
|
allow(Puppet::Log).to receive(:newdestination)
|
162
|
+
allow(Puppet).to receive(:settraps)
|
159
163
|
allow(Puppet::FileBucket::Dipper).to receive(:new)
|
160
164
|
allow(@filebucket.options).to receive(:[])
|
161
165
|
|
@@ -185,11 +189,11 @@ describe Puppet::Application::Filebucket do
|
|
185
189
|
@filebucket.get
|
186
190
|
end
|
187
191
|
|
188
|
-
it "should call the client getfile method with the given
|
189
|
-
|
190
|
-
allow(@filebucket).to receive(:args).and_return([
|
192
|
+
it "should call the client getfile method with the given digest" do
|
193
|
+
digest = 'DEADBEEF'
|
194
|
+
allow(@filebucket).to receive(:args).and_return([digest])
|
191
195
|
|
192
|
-
expect(@client).to receive(:getfile).with(
|
196
|
+
expect(@client).to receive(:getfile).with(digest)
|
193
197
|
|
194
198
|
@filebucket.get
|
195
199
|
end
|
@@ -223,12 +227,12 @@ describe Puppet::Application::Filebucket do
|
|
223
227
|
end
|
224
228
|
|
225
229
|
describe "the command restore" do
|
226
|
-
it "should call the client getfile method with the given
|
227
|
-
|
228
|
-
file=
|
229
|
-
allow(@filebucket).to receive(:args).and_return([file,
|
230
|
+
it "should call the client getfile method with the given digest" do
|
231
|
+
digest = 'DEADBEEF'
|
232
|
+
file = 'testfile'
|
233
|
+
allow(@filebucket).to receive(:args).and_return([file, digest])
|
230
234
|
|
231
|
-
expect(@client).to receive(:restore).with(file,
|
235
|
+
expect(@client).to receive(:restore).with(file, digest)
|
232
236
|
|
233
237
|
@filebucket.restore
|
234
238
|
end
|
@@ -236,55 +240,55 @@ describe Puppet::Application::Filebucket do
|
|
236
240
|
|
237
241
|
describe "the command diff" do
|
238
242
|
it "should call the client diff method with 2 given checksums" do
|
239
|
-
|
240
|
-
|
243
|
+
digest_a = 'DEADBEEF'
|
244
|
+
digest_b = 'BEEF'
|
241
245
|
allow(Puppet::FileSystem).to receive(:exist?).and_return(false)
|
242
|
-
allow(@filebucket).to receive(:args).and_return([
|
246
|
+
allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
|
243
247
|
|
244
|
-
expect(@client).to receive(:diff).with(
|
248
|
+
expect(@client).to receive(:diff).with(digest_a, digest_b, nil, nil)
|
245
249
|
|
246
250
|
@filebucket.diff
|
247
251
|
end
|
248
252
|
|
249
|
-
it "should call the
|
250
|
-
|
251
|
-
|
252
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
253
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
254
|
-
allow(@filebucket).to receive(:args).and_return([
|
253
|
+
it "should call the client diff with a path if the second argument is a file" do
|
254
|
+
digest_a = 'DEADBEEF'
|
255
|
+
digest_b = 'BEEF'
|
256
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_a).and_return(false)
|
257
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_b).and_return(true)
|
258
|
+
allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
|
255
259
|
|
256
|
-
expect(@client).to receive(:diff).with(
|
260
|
+
expect(@client).to receive(:diff).with(digest_a, nil, nil, digest_b)
|
257
261
|
|
258
262
|
@filebucket.diff
|
259
263
|
end
|
260
264
|
|
261
|
-
it "should call the
|
262
|
-
|
263
|
-
|
264
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
265
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
266
|
-
allow(@filebucket).to receive(:args).and_return([
|
265
|
+
it "should call the client diff with a path if the first argument is a file" do
|
266
|
+
digest_a = 'DEADBEEF'
|
267
|
+
digest_b = 'BEEF'
|
268
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_a).and_return(true)
|
269
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_b).and_return(false)
|
270
|
+
allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
|
267
271
|
|
268
|
-
expect(@client).to receive(:diff).with(nil,
|
272
|
+
expect(@client).to receive(:diff).with(nil, digest_b, digest_a, nil)
|
269
273
|
|
270
274
|
@filebucket.diff
|
271
275
|
end
|
272
276
|
|
273
277
|
it "should call the clien diff with paths if the both arguments are files" do
|
274
|
-
|
275
|
-
|
276
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
277
|
-
allow(Puppet::FileSystem).to receive(:exist?).with(
|
278
|
-
allow(@filebucket).to receive(:args).and_return([
|
278
|
+
digest_a = 'DEADBEEF'
|
279
|
+
digest_b = 'BEEF'
|
280
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_a).and_return(true)
|
281
|
+
allow(Puppet::FileSystem).to receive(:exist?).with(digest_b).and_return(true)
|
282
|
+
allow(@filebucket).to receive(:args).and_return([digest_a, digest_b])
|
279
283
|
|
280
|
-
expect(@client).to receive(:diff).with(nil, nil,
|
284
|
+
expect(@client).to receive(:diff).with(nil, nil, digest_a, digest_b)
|
281
285
|
|
282
286
|
@filebucket.diff
|
283
287
|
end
|
284
288
|
|
285
289
|
it "should fail if only one checksum is given" do
|
286
|
-
|
287
|
-
allow(@filebucket).to receive(:args).and_return([
|
290
|
+
digest_a = 'DEADBEEF'
|
291
|
+
allow(@filebucket).to receive(:args).and_return([digest_a])
|
288
292
|
|
289
293
|
expect { @filebucket.diff }.to raise_error Puppet::Error
|
290
294
|
end
|
@@ -92,7 +92,7 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
|
|
92
92
|
end
|
93
93
|
|
94
94
|
context 'when submitting a CSR' do
|
95
|
-
let(:csr_path) {
|
95
|
+
let(:csr_path) { Puppet[:hostcsr] }
|
96
96
|
|
97
97
|
before do
|
98
98
|
ssl.command_line.args << 'submit_request'
|
@@ -318,7 +318,7 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
|
|
318
318
|
end
|
319
319
|
|
320
320
|
it 'deletes the request' do
|
321
|
-
path =
|
321
|
+
path = Puppet[:hostcsr]
|
322
322
|
File.write(path, @host[:csr].to_pem)
|
323
323
|
|
324
324
|
expects_command_to_pass(%r{Removed certificate request #{path}})
|
@@ -432,27 +432,4 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
|
|
432
432
|
expects_command_to_pass
|
433
433
|
end
|
434
434
|
end
|
435
|
-
|
436
|
-
context 'when showing' do
|
437
|
-
before do
|
438
|
-
ssl.command_line.args << 'show'
|
439
|
-
File.write(Puppet[:hostcert], @host[:cert].to_pem)
|
440
|
-
end
|
441
|
-
|
442
|
-
it 'reports if the key is missing' do
|
443
|
-
File.delete(Puppet[:hostprivkey])
|
444
|
-
|
445
|
-
expects_command_to_fail(/The private key is missing from/)
|
446
|
-
end
|
447
|
-
|
448
|
-
it 'reports if the cert is missing' do
|
449
|
-
File.delete(Puppet[:hostcert])
|
450
|
-
|
451
|
-
expects_command_to_fail(/The client certificate is missing from/)
|
452
|
-
end
|
453
|
-
|
454
|
-
it 'prints certificate information' do
|
455
|
-
expects_command_to_pass(@host[:cert].to_text)
|
456
|
-
end
|
457
|
-
end
|
458
435
|
end
|
@@ -7,10 +7,8 @@ require 'timeout'
|
|
7
7
|
|
8
8
|
describe Puppet::Application do
|
9
9
|
before(:each) do
|
10
|
-
@
|
11
|
-
|
12
|
-
end
|
13
|
-
@app = @appclass.new
|
10
|
+
@app = Class.new(Puppet::Application).new
|
11
|
+
@appclass = @app.class
|
14
12
|
|
15
13
|
allow(@app).to receive(:name).and_return("test_app")
|
16
14
|
end
|
@@ -513,40 +511,6 @@ describe Puppet::Application do
|
|
513
511
|
|
514
512
|
expect { @app.configure_indirector_routes }.to raise_error(Puppet::Error, /mapping values are not allowed/)
|
515
513
|
end
|
516
|
-
|
517
|
-
it "should treat master routes on server application" do
|
518
|
-
allow(@app).to receive(:name).and_return("server")
|
519
|
-
|
520
|
-
Puppet[:route_file] = tmpfile('routes')
|
521
|
-
File.open(Puppet[:route_file], 'w') do |f|
|
522
|
-
f.print <<-ROUTES
|
523
|
-
master:
|
524
|
-
node:
|
525
|
-
terminus: exec
|
526
|
-
ROUTES
|
527
|
-
end
|
528
|
-
|
529
|
-
@app.configure_indirector_routes
|
530
|
-
|
531
|
-
expect(Puppet::Node.indirection.terminus_class).to eq('exec')
|
532
|
-
end
|
533
|
-
|
534
|
-
it "should treat server routes on master application" do
|
535
|
-
allow(@app).to receive(:name).and_return("master")
|
536
|
-
|
537
|
-
Puppet[:route_file] = tmpfile('routes')
|
538
|
-
File.open(Puppet[:route_file], 'w') do |f|
|
539
|
-
f.print <<-ROUTES
|
540
|
-
server:
|
541
|
-
node:
|
542
|
-
terminus: exec
|
543
|
-
ROUTES
|
544
|
-
end
|
545
|
-
|
546
|
-
@app.configure_indirector_routes
|
547
|
-
|
548
|
-
expect(Puppet::Node.indirection.terminus_class).to eq('exec')
|
549
|
-
end
|
550
514
|
end
|
551
515
|
|
552
516
|
describe "when running" do
|
@@ -596,6 +560,13 @@ describe Puppet::Application do
|
|
596
560
|
end
|
597
561
|
|
598
562
|
it "should raise an error if dispatch returns no command" do
|
563
|
+
allow(@app).to receive(:get_command).and_return(nil)
|
564
|
+
expect(Puppet).to receive(:send_log).with(:err, "Could not run: No valid command or main")
|
565
|
+
expect { @app.run }.to exit_with 1
|
566
|
+
end
|
567
|
+
|
568
|
+
it "should raise an error if dispatch returns an invalid command" do
|
569
|
+
allow(@app).to receive(:get_command).and_return(:this_function_doesnt_exist)
|
599
570
|
expect(Puppet).to receive(:send_log).with(:err, "Could not run: No valid command or main")
|
600
571
|
expect { @app.run }.to exit_with 1
|
601
572
|
end
|
@@ -713,18 +684,5 @@ describe Puppet::Application do
|
|
713
684
|
|
714
685
|
@app.handle_logdest_arg(nil)
|
715
686
|
end
|
716
|
-
|
717
|
-
it "accepts multiple destinations as a comma sepparated list" do
|
718
|
-
dest1 = '/tmp/path1'
|
719
|
-
dest2 = 'console'
|
720
|
-
dest3 = '/tmp/path2'
|
721
|
-
dest_args = [dest1, dest2, dest3].join(' , ')
|
722
|
-
|
723
|
-
[dest1, dest2, dest3].each do |dest|
|
724
|
-
expect(Puppet::Util::Log).to receive(:newdestination).with(dest)
|
725
|
-
end
|
726
|
-
|
727
|
-
@app.handle_logdest_arg(dest_args)
|
728
|
-
end
|
729
687
|
end
|
730
688
|
end
|
@@ -7,7 +7,7 @@ describe Puppet::CertificateFactory, :unless => RUBY_PLATFORM == 'java' do
|
|
7
7
|
let :serial do OpenSSL::BN.new('12') end
|
8
8
|
let :name do "example.local" end
|
9
9
|
let :x509_name do OpenSSL::X509::Name.new([['CN', name]]) end
|
10
|
-
let :key do
|
10
|
+
let :key do OpenSSL::PKey::RSA.new(Puppet[:keylength]) end
|
11
11
|
let :csr do
|
12
12
|
csr = Puppet::SSL::CertificateRequest.new(name)
|
13
13
|
csr.generate(key)
|
@@ -81,12 +81,6 @@ describe Puppet::Configurer::Downloader do
|
|
81
81
|
expect(file[:source_permissions]).to eq(:ignore)
|
82
82
|
end
|
83
83
|
|
84
|
-
it "should ignore the max file limit" do
|
85
|
-
file = generate_file_resource
|
86
|
-
|
87
|
-
expect(file[:max_files]).to eq(-1)
|
88
|
-
end
|
89
|
-
|
90
84
|
describe "on POSIX", :if => Puppet.features.posix? do
|
91
85
|
it "should allow source_permissions to be overridden" do
|
92
86
|
file = generate_file_resource(:source_permissions => :use)
|
@@ -195,6 +189,8 @@ describe Puppet::Configurer::Downloader do
|
|
195
189
|
end
|
196
190
|
|
197
191
|
it "should return all changed file paths" do
|
192
|
+
Puppet[:ignore_plugin_errors] = true
|
193
|
+
|
198
194
|
trans = double('transaction')
|
199
195
|
|
200
196
|
catalog = double('catalog')
|
@@ -210,6 +206,8 @@ describe Puppet::Configurer::Downloader do
|
|
210
206
|
end
|
211
207
|
|
212
208
|
it "should yield the resources if a block is given" do
|
209
|
+
Puppet[:ignore_plugin_errors] = true
|
210
|
+
|
213
211
|
trans = double('transaction')
|
214
212
|
|
215
213
|
catalog = double('catalog')
|
@@ -227,6 +225,8 @@ describe Puppet::Configurer::Downloader do
|
|
227
225
|
end
|
228
226
|
|
229
227
|
it "should catch and log exceptions" do
|
228
|
+
Puppet[:ignore_plugin_errors] = true
|
229
|
+
|
230
230
|
expect(Puppet).to receive(:log_exception)
|
231
231
|
# The downloader creates a new catalog for each apply, and really the only object
|
232
232
|
# that it is possible to stub for the purpose of generating a puppet error
|
@@ -236,8 +236,6 @@ describe Puppet::Configurer::Downloader do
|
|
236
236
|
end
|
237
237
|
|
238
238
|
it "raises an exception if catalog application fails" do
|
239
|
-
Puppet[:ignore_plugin_errors] = false
|
240
|
-
|
241
239
|
expect(@dler.file).to receive(:retrieve).and_raise(Puppet::Error, "testing")
|
242
240
|
|
243
241
|
expect {
|
@@ -19,30 +19,68 @@ describe Puppet::Configurer::PluginHandler do
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
context "when i18n is enabled" do
|
23
|
+
before :each do
|
24
|
+
Puppet[:disable_i18n] = false
|
25
|
+
end
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
it "downloads plugins, facts, and locales" do
|
28
|
+
times_called = 0
|
29
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { times_called += 1 }.and_return([])
|
29
30
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
times_called += 1
|
31
|
+
pluginhandler.download_plugins(environment)
|
32
|
+
expect(times_called).to eq(3)
|
33
|
+
end
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
35
|
+
it "returns downloaded plugin, fact, and locale filenames" do
|
36
|
+
times_called = 0
|
37
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
|
38
|
+
times_called += 1
|
39
|
+
|
40
|
+
if times_called == 1
|
41
|
+
%w[/a]
|
42
|
+
elsif times_called == 2
|
43
|
+
%w[/b]
|
44
|
+
else
|
45
|
+
%w[/c]
|
46
|
+
end
|
41
47
|
end
|
48
|
+
|
49
|
+
expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b /c])
|
50
|
+
expect(times_called).to eq(3)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context "when i18n is disabled" do
|
55
|
+
before :each do
|
56
|
+
Puppet[:disable_i18n] = true
|
57
|
+
end
|
58
|
+
|
59
|
+
it "downloads plugins, facts, but no locales" do
|
60
|
+
times_called = 0
|
61
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { times_called += 1 }.and_return([])
|
62
|
+
|
63
|
+
pluginhandler.download_plugins(environment)
|
64
|
+
expect(times_called).to eq(2)
|
42
65
|
end
|
43
66
|
|
44
|
-
|
45
|
-
|
67
|
+
it "returns downloaded plugin, fact, and locale filenames" do
|
68
|
+
times_called = 0
|
69
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
|
70
|
+
times_called += 1
|
71
|
+
|
72
|
+
if times_called == 1
|
73
|
+
%w[/a]
|
74
|
+
elsif times_called == 2
|
75
|
+
%w[/b]
|
76
|
+
else
|
77
|
+
%w[/c]
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
expect(pluginhandler.download_plugins(environment)).to match_array(%w[/a /b])
|
82
|
+
expect(times_called).to eq(2)
|
83
|
+
end
|
46
84
|
end
|
47
85
|
end
|
48
86
|
|
@@ -384,7 +384,7 @@ describe Puppet::Configurer do
|
|
384
384
|
|
385
385
|
it "sets the checksum_type query param to the default supported_checksum_types in a catalog request" do
|
386
386
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything,
|
387
|
-
hash_including(checksum_type: '
|
387
|
+
hash_including(checksum_type: 'sha256.sha384.sha512.sha224.md5'))
|
388
388
|
configurer.run
|
389
389
|
end
|
390
390
|
|
@@ -657,6 +657,8 @@ describe Puppet::Configurer do
|
|
657
657
|
end
|
658
658
|
|
659
659
|
it "should pluginsync and compile a new catalog if none is found in the cache" do
|
660
|
+
Puppet[:ignore_plugin_errors] = true
|
661
|
+
|
660
662
|
expects_fallback_to_new_catalog(catalog)
|
661
663
|
stub_request(:get, %r{/puppet/v3/file_metadatas?/plugins}).to_return(:status => 404)
|
662
664
|
stub_request(:get, %r{/puppet/v3/file_metadatas?/pluginfacts}).to_return(:status => 404)
|
@@ -668,6 +670,8 @@ describe Puppet::Configurer do
|
|
668
670
|
end
|
669
671
|
|
670
672
|
it "should not attempt to retrieve a cached catalog again if the first attempt failed" do
|
673
|
+
Puppet[:ignore_plugin_errors] = true
|
674
|
+
|
671
675
|
expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
|
672
676
|
expects_neither_new_or_cached_catalog
|
673
677
|
expects_pluginsync
|
@@ -1039,11 +1043,10 @@ describe Puppet::Configurer do
|
|
1039
1043
|
it "should select a server when it receives 200 OK response" do
|
1040
1044
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1041
1045
|
|
1042
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1046
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 200)
|
1043
1047
|
|
1044
1048
|
options = {}
|
1045
1049
|
configurer.run(options)
|
1046
|
-
expect(options[:report].master_used).to eq('myserver:123')
|
1047
1050
|
expect(options[:report].server_used).to eq('myserver:123')
|
1048
1051
|
end
|
1049
1052
|
|
@@ -1051,7 +1054,7 @@ describe Puppet::Configurer do
|
|
1051
1054
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1052
1055
|
Puppet[:usecacheonfailure] = false
|
1053
1056
|
|
1054
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1057
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: [500, "Internal Server Error"])
|
1055
1058
|
|
1056
1059
|
expect {
|
1057
1060
|
configurer.run
|
@@ -1064,43 +1067,20 @@ describe Puppet::Configurer do
|
|
1064
1067
|
Puppet.settings[:server_list] = "myserver:123,someotherservername"
|
1065
1068
|
Puppet[:usecacheonfailure] = false
|
1066
1069
|
|
1067
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1068
|
-
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/
|
1070
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 400)
|
1071
|
+
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/server').to_return(status: 400)
|
1069
1072
|
|
1070
1073
|
expect{
|
1071
1074
|
configurer.run
|
1072
1075
|
}.to raise_error(Puppet::Error, /Could not select a functional puppet server from server_list: 'myserver:123,someotherservername'/)
|
1073
1076
|
end
|
1074
1077
|
|
1075
|
-
it "should warn when servers in 'server_list' are unreachable" do
|
1076
|
-
Puppet.settings[:server_list] = "mybadserver1:123,mybadserver2:123,mygoodserver"
|
1077
|
-
Puppet[:usecacheonfailure] = false
|
1078
|
-
|
1079
|
-
stub_request(:get, 'https://mybadserver1:123/status/v1/simple/master').and_raise(Puppet::HTTP::HTTPError)
|
1080
|
-
stub_request(:get, 'https://mybadserver2:123/status/v1/simple/master').and_raise(Puppet::HTTP::HTTPError)
|
1081
|
-
stub_request(:get, 'https://mygoodserver:8140/status/v1/simple/master').to_return(status: 200)
|
1082
|
-
|
1083
|
-
expect(Puppet).to receive(:warning).with(/^Unable to connect to server from server_list setting:.*Trying with next server from server_list.$/).twice
|
1084
|
-
configurer.run
|
1085
|
-
end
|
1086
|
-
|
1087
|
-
it "should warn when servers in 'server_list' respond with error" do
|
1088
|
-
Puppet.settings[:server_list] = "mybadserver:123,someotherservername"
|
1089
|
-
Puppet[:usecacheonfailure] = false
|
1090
|
-
|
1091
|
-
stub_request(:get, 'https://mybadserver:123/status/v1/simple/master').to_return(status: 400)
|
1092
|
-
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/master').to_return(status: 200)
|
1093
|
-
|
1094
|
-
expect(Puppet).to receive(:warning).with(/^Puppet server mybadserver:123 is unavailable: 400 Trying with next server from server_list.$/)
|
1095
|
-
configurer.run
|
1096
|
-
end
|
1097
|
-
|
1098
1078
|
it "should not error when usecacheonfailure is true and no servers in 'server_list' are reachable" do
|
1099
1079
|
Puppet.settings[:server_list] = "myserver:123,someotherservername"
|
1100
1080
|
Puppet[:usecacheonfailure] = true
|
1101
1081
|
|
1102
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1103
|
-
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/
|
1082
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 400)
|
1083
|
+
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/server').to_return(status: 400)
|
1104
1084
|
|
1105
1085
|
options = {}
|
1106
1086
|
|
@@ -1114,7 +1094,7 @@ describe Puppet::Configurer do
|
|
1114
1094
|
Puppet::Node.indirection.terminus_class = :rest
|
1115
1095
|
Puppet::Resource::Catalog.indirection.terminus_class = :rest
|
1116
1096
|
|
1117
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1097
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 200)
|
1118
1098
|
stub_request(:post, %r{https://myserver:123/puppet/v3/catalog}).to_return(status: 200)
|
1119
1099
|
node_request = stub_request(:get, %r{https://myserver:123/puppet/v3/node/}).to_return(status: 200)
|
1120
1100
|
|