puppet 6.21.1-x86-mingw32 → 7.4.1-x86-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/Gemfile +1 -4
- data/Gemfile.lock +5 -5
- data/README.md +1 -1
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -2
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +2 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/filebucket.rb +13 -9
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +27 -29
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +57 -162
- data/lib/puppet/environments.rb +8 -23
- data/lib/puppet/face/facts.rb +73 -49
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +8 -0
- 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 +6 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/forge/repository.rb +0 -1
- 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 -11
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -12
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/resolver/server_list.rb +6 -10
- 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 -69
- data/lib/puppet/http/service/file_server.rb +18 -27
- 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/rest.rb +2 -4
- data/lib/puppet/indirector/facts/facter.rb +25 -3
- 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 -9
- 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/rest.rb +12 -263
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +67 -0
- 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/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/resource.rb +0 -69
- 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/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/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- data/lib/puppet/pops/validation/checker4_0.rb +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/provider.rb +0 -13
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/pip.rb +0 -1
- 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/service/smf.rb +191 -73
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/reference/configuration.rb +7 -5
- 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 +45 -33
- 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/report.rb +2 -4
- data/lib/puppet/type.rb +0 -76
- data/lib/puppet/type/file.rb +5 -7
- data/lib/puppet/type/file/checksum.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 +5 -13
- data/lib/puppet/type/user.rb +1 -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 -46
- 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/windows.rb +3 -8
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +9 -460
- 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 +521 -1226
- data/man/man5/puppet.conf.5 +34 -94
- data/man/man8/puppet-facts.8 +56 -35
- data/man/man8/puppet-filebucket.8 +3 -3
- data/man/man8/puppet-module.8 +0 -57
- data/man/man8/puppet.8 +1 -1
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/integration/application/agent_spec.rb +24 -11
- data/spec/integration/application/apply_spec.rb +1 -1
- data/spec/integration/application/filebucket_spec.rb +16 -16
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/plugin_spec.rb +23 -1
- data/spec/integration/defaults_spec.rb +7 -3
- data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
- 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/type/file_spec.rb +5 -4
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/puppet_spec/puppetserver.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +1 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/facts_spec.rb +86 -0
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/ssl_spec.rb +2 -2
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +12 -9
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +22 -47
- data/spec/unit/environments_spec.rb +0 -3
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +14 -2
- 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 +22 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- 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/upcase_spec.rb +1 -1
- 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 -11
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +13 -13
- data/spec/unit/http/service/compiler_spec.rb +0 -62
- 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/facts/facter_spec.rb +113 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/rest_spec.rb +98 -752
- 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 +45 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -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/functions/create_resources_spec.rb +2 -20
- 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/type_calculator_spec.rb +6 -6
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- 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/puppet_gem_spec.rb +3 -2
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/windows_spec.rb +0 -1
- data/spec/unit/provider_spec.rb +0 -12
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +0 -56
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +17 -0
- data/spec/unit/ssl/base_spec.rb +36 -3
- data/spec/unit/ssl/certificate_request_spec.rb +19 -55
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- 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 +45 -79
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/source_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +12 -6
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type_spec.rb +20 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +0 -18
- metadata +47 -218
- data/conf/auth.conf +0 -150
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/fact_dif.rb +0 -62
- 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/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/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
@@ -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}})
|
@@ -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)
|
@@ -189,6 +189,8 @@ describe Puppet::Configurer::Downloader do
|
|
189
189
|
end
|
190
190
|
|
191
191
|
it "should return all changed file paths" do
|
192
|
+
Puppet[:ignore_plugin_errors] = true
|
193
|
+
|
192
194
|
trans = double('transaction')
|
193
195
|
|
194
196
|
catalog = double('catalog')
|
@@ -204,6 +206,8 @@ describe Puppet::Configurer::Downloader do
|
|
204
206
|
end
|
205
207
|
|
206
208
|
it "should yield the resources if a block is given" do
|
209
|
+
Puppet[:ignore_plugin_errors] = true
|
210
|
+
|
207
211
|
trans = double('transaction')
|
208
212
|
|
209
213
|
catalog = double('catalog')
|
@@ -221,6 +225,8 @@ describe Puppet::Configurer::Downloader do
|
|
221
225
|
end
|
222
226
|
|
223
227
|
it "should catch and log exceptions" do
|
228
|
+
Puppet[:ignore_plugin_errors] = true
|
229
|
+
|
224
230
|
expect(Puppet).to receive(:log_exception)
|
225
231
|
# The downloader creates a new catalog for each apply, and really the only object
|
226
232
|
# that it is possible to stub for the purpose of generating a puppet error
|
@@ -230,8 +236,6 @@ describe Puppet::Configurer::Downloader do
|
|
230
236
|
end
|
231
237
|
|
232
238
|
it "raises an exception if catalog application fails" do
|
233
|
-
Puppet[:ignore_plugin_errors] = false
|
234
|
-
|
235
239
|
expect(@dler.file).to receive(:retrieve).and_raise(Puppet::Error, "testing")
|
236
240
|
|
237
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,8 +1067,8 @@ 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
|
@@ -1076,8 +1079,8 @@ describe Puppet::Configurer do
|
|
1076
1079
|
Puppet.settings[:server_list] = "myserver:123,someotherservername"
|
1077
1080
|
Puppet[:usecacheonfailure] = true
|
1078
1081
|
|
1079
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1080
|
-
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)
|
1081
1084
|
|
1082
1085
|
options = {}
|
1083
1086
|
|
@@ -1091,7 +1094,7 @@ describe Puppet::Configurer do
|
|
1091
1094
|
Puppet::Node.indirection.terminus_class = :rest
|
1092
1095
|
Puppet::Resource::Catalog.indirection.terminus_class = :rest
|
1093
1096
|
|
1094
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1097
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 200)
|
1095
1098
|
stub_request(:post, %r{https://myserver:123/puppet/v3/catalog}).to_return(status: 200)
|
1096
1099
|
node_request = stub_request(:get, %r{https://myserver:123/puppet/v3/node/}).to_return(status: 200)
|
1097
1100
|
|
@@ -4,11 +4,7 @@ require 'puppet/certificate_factory'
|
|
4
4
|
require 'puppet/context/trusted_information'
|
5
5
|
|
6
6
|
describe Puppet::Context::TrustedInformation, :unless => RUBY_PLATFORM == 'java' do
|
7
|
-
let(:key)
|
8
|
-
key = Puppet::SSL::Key.new("myname")
|
9
|
-
key.generate
|
10
|
-
key
|
11
|
-
end
|
7
|
+
let(:key) { OpenSSL::PKey::RSA.new(Puppet[:keylength]) }
|
12
8
|
|
13
9
|
let(:csr) do
|
14
10
|
csr = Puppet::SSL::CertificateRequest.new("csr")
|
@@ -26,7 +22,7 @@ describe Puppet::Context::TrustedInformation, :unless => RUBY_PLATFORM == 'java'
|
|
26
22
|
|
27
23
|
# The cert must be signed so that it can be successfully be DER-decoded later
|
28
24
|
signer = Puppet::SSL::CertificateSigner.new
|
29
|
-
signer.sign(cert.content, key
|
25
|
+
signer.sign(cert.content, key)
|
30
26
|
cert
|
31
27
|
end
|
32
28
|
|
data/spec/unit/defaults_spec.rb
CHANGED
@@ -65,9 +65,9 @@ describe "Defaults" do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
describe '.default_digest_algorithm' do
|
68
|
-
it 'defaults to
|
68
|
+
it 'defaults to sha256 when FIPS is not enabled' do
|
69
69
|
allow(Puppet::Util::Platform).to receive(:fips_enabled?).and_return(false)
|
70
|
-
expect(Puppet.default_digest_algorithm).to eq('
|
70
|
+
expect(Puppet.default_digest_algorithm).to eq('sha256')
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'defaults to sha256 when FIPS is enabled' do
|
@@ -77,9 +77,9 @@ describe "Defaults" do
|
|
77
77
|
end
|
78
78
|
|
79
79
|
describe '.supported_checksum_types' do
|
80
|
-
it 'defaults to
|
80
|
+
it 'defaults to sha256, sha384, sha512, sha224, md5 when FIPS is not enabled' do
|
81
81
|
allow(Puppet::Util::Platform).to receive(:fips_enabled?).and_return(false)
|
82
|
-
expect(Puppet.default_file_checksum_types).to eq(%w[
|
82
|
+
expect(Puppet.default_file_checksum_types).to eq(%w[sha256 sha384 sha512 sha224 md5])
|
83
83
|
end
|
84
84
|
|
85
85
|
it 'defaults to sha256, sha384, sha512, sha224 when FIPS is enabled' do
|
@@ -89,8 +89,8 @@ describe "Defaults" do
|
|
89
89
|
end
|
90
90
|
|
91
91
|
describe 'Puppet[:supported_checksum_types]' do
|
92
|
-
it 'defaults to
|
93
|
-
expect(Puppet.settings[:supported_checksum_types]).to eq(%w[
|
92
|
+
it 'defaults to sha256, sha512, sha384, sha224, md5' do
|
93
|
+
expect(Puppet.settings[:supported_checksum_types]).to eq(%w[sha256 sha384 sha512 sha224 md5])
|
94
94
|
end
|
95
95
|
|
96
96
|
it 'should raise an error on an unsupported checksum type' do
|
@@ -182,56 +182,31 @@ describe "Defaults" do
|
|
182
182
|
end
|
183
183
|
end
|
184
184
|
|
185
|
-
describe "facterng" do
|
186
|
-
it "defaults to false" do
|
187
|
-
expect(Puppet[:facterng]).to be_falsey
|
188
|
-
end
|
189
|
-
|
190
|
-
it "raises an exception if facter-ng could not be loaded" do
|
191
|
-
allow_any_instance_of(Puppet::Settings::BooleanSetting).to receive(:require).with('facter-ng').and_raise(LoadError)
|
192
|
-
allow(Facter).to receive(:value).with('facterversion').and_return('3.11.4')
|
193
|
-
|
194
|
-
expect{ Puppet.settings[:facterng] = true }.to raise_exception ArgumentError, 'facter-ng could not be loaded'
|
195
|
-
end
|
196
|
-
|
197
|
-
context 'set logger' do
|
198
|
-
before do
|
199
|
-
@original_facter = Object.const_get(:Facter)
|
200
|
-
|
201
|
-
Object.send(:remove_const, :Facter)
|
202
|
-
facter = double('facter')
|
203
|
-
allow(facter).to receive(:value).with('facterversion').and_return('3.11.4')
|
204
|
-
Object.const_set(:Facter, facter)
|
205
|
-
|
206
|
-
allow_any_instance_of(Puppet::Settings::BooleanSetting).to receive(:require).with('facter-ng').and_return(true)
|
207
|
-
allow(Facter).to receive(:respond_to?).and_return(false)
|
208
|
-
end
|
209
|
-
|
210
|
-
after do
|
211
|
-
Object.const_set(:Facter, @original_facter)
|
212
|
-
end
|
213
|
-
|
214
|
-
it 'calls setup_facter_logging!' do
|
215
|
-
allow(Puppet::Util::Logging).to receive(:setup_facter_logging!).and_return(true)
|
216
|
-
Puppet.settings[:facterng] = true
|
217
|
-
expect(Puppet::Util::Logging).to have_received(:setup_facter_logging!).once
|
218
|
-
end
|
219
|
-
end
|
220
|
-
end
|
221
|
-
|
222
185
|
describe "deprecated settings" do
|
223
186
|
it 'does not issue a deprecation warning by default' do
|
224
187
|
expect(Puppet).to receive(:deprecation_warning).never
|
225
188
|
|
226
189
|
Puppet.initialize_settings
|
227
190
|
end
|
191
|
+
end
|
228
192
|
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
expect(Puppet).to
|
193
|
+
describe "the default cadir", :unless => Puppet::Util::Platform.windows? do
|
194
|
+
it 'defaults to the puppetserver confdir when no cadir is found' do
|
195
|
+
Puppet.initialize_settings
|
196
|
+
expect(Puppet[:cadir]).to eq('/etc/puppetlabs/puppetserver/ca')
|
197
|
+
end
|
233
198
|
|
199
|
+
it 'returns an empty string for Windows platforms', :if => Puppet::Util::Platform.windows? do
|
234
200
|
Puppet.initialize_settings
|
201
|
+
expect(Puppet[:cadir]).to eq("")
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
205
|
+
describe '#default_cadir', :unless => Puppet::Util::Platform.windows? do
|
206
|
+
it 'warns when a CA dir exists in the current ssldir' do
|
207
|
+
cadir = File.join(Puppet[:ssldir], 'ca')
|
208
|
+
FileUtils.mkdir_p(cadir)
|
209
|
+
expect(Puppet.default_cadir).to eq(cadir)
|
235
210
|
end
|
236
211
|
end
|
237
212
|
end
|
@@ -661,7 +661,6 @@ config_version=$vardir/random/scripts
|
|
661
661
|
|
662
662
|
it "evicts an environment that hasn't been recently touched" do
|
663
663
|
Puppet[:environment_timeout] = 1
|
664
|
-
Puppet[:environment_timeout_mode] = :from_last_used
|
665
664
|
|
666
665
|
with_environment_loaded(service) do |cached|
|
667
666
|
future = Time.now + 60
|
@@ -678,7 +677,6 @@ config_version=$vardir/random/scripts
|
|
678
677
|
|
679
678
|
it "reuses an environment that was recently touched" do
|
680
679
|
Puppet[:environment_timeout] = 60
|
681
|
-
Puppet[:environment_timeout_mode] = :from_last_used
|
682
680
|
|
683
681
|
with_environment_loaded(service) do |cached|
|
684
682
|
# reuse the already cached environment
|
@@ -691,7 +689,6 @@ config_version=$vardir/random/scripts
|
|
691
689
|
|
692
690
|
it "evicts a recently touched environment" do
|
693
691
|
Puppet[:environment_timeout] = 60
|
694
|
-
Puppet[:environment_timeout_mode] = :from_last_used
|
695
692
|
|
696
693
|
expect(service).to receive(:expired?).and_return(true)
|
697
694
|
|
data/spec/unit/face/node_spec.rb
CHANGED
@@ -78,8 +78,20 @@ describe Puppet::Face[:node, '0.0.1'] do
|
|
78
78
|
|
79
79
|
describe "when cleaning certificate", :if => Puppet.features.puppetserver_ca? do
|
80
80
|
it "should call the CA CLI gem's clean action" do
|
81
|
-
expect_any_instance_of(Puppetserver::Ca::Action::Clean).
|
82
|
-
|
81
|
+
expect_any_instance_of(Puppetserver::Ca::Action::Clean).
|
82
|
+
to receive(:clean_certs).
|
83
|
+
with(['hostname'], anything).
|
84
|
+
and_return(:success)
|
85
|
+
|
86
|
+
if Puppet[:cadir].start_with?(Puppet[:ssldir])
|
87
|
+
expect_any_instance_of(LoggerIO).
|
88
|
+
to receive(:warn).
|
89
|
+
with(/cadir is currently configured to be inside/)
|
90
|
+
end
|
91
|
+
|
92
|
+
expect(Puppet).not_to receive(:warning)
|
93
|
+
result = subject.clean_cert('hostname')
|
94
|
+
expect(result).to eq(0)
|
83
95
|
end
|
84
96
|
|
85
97
|
it "should not call the CA CLI gem's clean action if the gem is missing" do
|
@@ -16,48 +16,88 @@ describe Puppet::Face[:plugin, :current] do
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
context "when i18n is enabled" do
|
20
|
+
before(:each) do
|
21
|
+
Puppet[:disable_i18n] = false
|
22
|
+
end
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
|
24
|
+
it "downloads plugins, external facts, and locales" do
|
25
|
+
receive_count = 0
|
26
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
pluginface.download
|
29
|
+
expect(receive_count).to eq(3)
|
30
|
+
end
|
30
31
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
end
|
32
|
+
it "renders 'No plugins downloaded' if nothing was downloaded" do
|
33
|
+
receive_count = 0
|
34
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
receive_count += 1
|
40
|
-
case receive_count
|
41
|
-
when 1
|
42
|
-
%w[/a]
|
43
|
-
when 2
|
44
|
-
%w[/b]
|
45
|
-
when 3
|
46
|
-
%w[/c]
|
47
|
-
end
|
36
|
+
result = pluginface.download
|
37
|
+
expect(receive_count).to eq(3)
|
38
|
+
expect(render(result)).to eq('No plugins downloaded.')
|
48
39
|
end
|
49
40
|
|
50
|
-
|
51
|
-
|
52
|
-
|
41
|
+
it "renders comma separate list of downloaded file names" do
|
42
|
+
receive_count = 0
|
43
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
|
44
|
+
receive_count += 1
|
45
|
+
case receive_count
|
46
|
+
when 1
|
47
|
+
%w[/a]
|
48
|
+
when 2
|
49
|
+
%w[/b]
|
50
|
+
when 3
|
51
|
+
%w[/c]
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
result = pluginface.download
|
56
|
+
expect(receive_count).to eq(3)
|
57
|
+
expect(render(result)).to eq('Downloaded these plugins: /a, /b, /c')
|
58
|
+
end
|
53
59
|
end
|
54
60
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
end
|
61
|
+
context "when i18n is enabled" do
|
62
|
+
before(:each) do
|
63
|
+
Puppet[:disable_i18n] = true
|
64
|
+
end
|
59
65
|
|
60
|
-
|
66
|
+
it "downloads only plugins and external facts, no locales" do
|
67
|
+
receive_count = 0
|
68
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
|
69
|
+
|
70
|
+
pluginface.download
|
71
|
+
expect(receive_count).to eq(2)
|
72
|
+
end
|
73
|
+
|
74
|
+
it "renders 'No plugins downloaded' if nothing was downloaded, without checking for locales" do
|
75
|
+
receive_count = 0
|
76
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) { receive_count += 1 }.and_return([])
|
77
|
+
|
78
|
+
result = pluginface.download
|
79
|
+
expect(receive_count).to eq(2)
|
80
|
+
expect(render(result)).to eq('No plugins downloaded.')
|
81
|
+
end
|
82
|
+
|
83
|
+
it "renders comma separate list of downloaded file names" do
|
84
|
+
receive_count = 0
|
85
|
+
allow_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate) do
|
86
|
+
receive_count += 1
|
87
|
+
case receive_count
|
88
|
+
when 1
|
89
|
+
%w[/a]
|
90
|
+
when 2
|
91
|
+
%w[/b]
|
92
|
+
when 3
|
93
|
+
%w[/c]
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
result = pluginface.download
|
98
|
+
expect(receive_count).to eq(2)
|
99
|
+
expect(render(result)).to eq('Downloaded these plugins: /a, /b')
|
100
|
+
end
|
61
101
|
end
|
62
102
|
end
|
63
103
|
|