puppet 6.19.1-universal-darwin → 7.0.0-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +19 -20
- data/README.md +1 -1
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +1 -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 +15 -11
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +28 -33
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +95 -159
- data/lib/puppet/environments.rb +10 -25
- data/lib/puppet/face/config.rb +10 -0
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +66 -6
- data/lib/puppet/face/help.rb +1 -1
- 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/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/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- 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/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +24 -3
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/facts/yaml.rb +3 -58
- 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/json.rb +5 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/json.rb +34 -0
- 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 +2 -1
- 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 +73 -18
- 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 +22 -8
- 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 +2 -0
- 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/base_setting.rb +26 -2
- 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/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/rubygems.rb +5 -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 +531 -1232
- data/man/man5/puppet.conf.5 +37 -97
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +55 -9
- data/man/man8/puppet-filebucket.8 +6 -6
- 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 +4 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +4 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- 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/environments/setting_hooks_spec.rb +1 -1
- 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 +7 -1
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/config_spec.rb +224 -4
- data/spec/unit/application/facts_spec.rb +35 -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 +77 -28
- data/spec/unit/environments_spec.rb +0 -3
- data/spec/unit/face/config_spec.rb +27 -32
- data/spec/unit/face/facts_spec.rb +4 -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 +14 -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/inline_epp_spec.rb +26 -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 +49 -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 +1 -2
- 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 +97 -0
- data/spec/unit/indirector/facts/json_spec.rb +255 -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/node/json_spec.rb +33 -0
- data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- 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 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +4 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
- 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 -6
- 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/puppet_pal_catalog_spec.rb +45 -0
- 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 +423 -236
- data/spec/unit/ssl/base_spec.rb +36 -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 +11 -8
- 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/rubygems_spec.rb +2 -2
- 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 +50 -176
- 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/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/application/config_spec.rb +0 -74
- 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/catalog_spec.rb +0 -6
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/module_spec.rb +0 -3
- 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 -79
- 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 -143
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -650
- 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
@@ -629,7 +629,7 @@ module Serialization
|
|
629
629
|
it 'the value of a type description is something other than a String or a Hash' do
|
630
630
|
expect do
|
631
631
|
from_converter.convert({ '__ptype' => { '__ptype' => 'Pcore::TimestampType', '__pvalue' => 12345 }})
|
632
|
-
end.to raise_error(/Cannot create a Pcore::TimestampType from a
|
632
|
+
end.to raise_error(/Cannot create a Pcore::TimestampType from a Integer/)
|
633
633
|
end
|
634
634
|
end
|
635
635
|
end
|
@@ -141,11 +141,11 @@ describe 'The type calculator' do
|
|
141
141
|
|
142
142
|
context 'when inferring ruby' do
|
143
143
|
|
144
|
-
it '
|
144
|
+
it 'integer translates to PIntegerType' do
|
145
145
|
expect(calculator.infer(1).class).to eq(PIntegerType)
|
146
146
|
end
|
147
147
|
|
148
|
-
it 'large
|
148
|
+
it 'large integer translates to PIntegerType' do
|
149
149
|
expect(calculator.infer(2**33).class).to eq(PIntegerType)
|
150
150
|
end
|
151
151
|
|
@@ -329,7 +329,7 @@ describe 'The type calculator' do
|
|
329
329
|
expect(object_t('name' => 'DerivedObjectArray')).to be_instance(derived_object)
|
330
330
|
end
|
331
331
|
|
332
|
-
it 'with
|
332
|
+
it 'with integer values translates to PArrayType[PIntegerType]' do
|
333
333
|
expect(calculator.infer([1,2]).element_type.class).to eq(PIntegerType)
|
334
334
|
end
|
335
335
|
|
@@ -407,7 +407,7 @@ describe 'The type calculator' do
|
|
407
407
|
expect(et.class).to eq(PEnumType)
|
408
408
|
end
|
409
409
|
|
410
|
-
it 'with array of string values and array of
|
410
|
+
it 'with array of string values and array of integers translates to PArrayType[PArrayType[PScalarDataType]]' do
|
411
411
|
et = calculator.infer([['first', 'array'], [1,2]])
|
412
412
|
expect(et.class).to eq(PArrayType)
|
413
413
|
et = et.element_type
|
@@ -425,7 +425,7 @@ describe 'The type calculator' do
|
|
425
425
|
expect(et.class).to eq(PEnumType)
|
426
426
|
end
|
427
427
|
|
428
|
-
it 'with hash of string values and hash of
|
428
|
+
it 'with hash of string values and hash of integers translates to PArrayType[PHashType[PScalarDataType]]' do
|
429
429
|
et = calculator.infer([{:first => 'first', :second => 'second' }, {:first => 1, :second => 2 }])
|
430
430
|
expect(et.class).to eq(PArrayType)
|
431
431
|
et = et.element_type
|
@@ -489,7 +489,7 @@ describe 'The type calculator' do
|
|
489
489
|
expect(calculator.infer({'first' => 1, 'second' => 2}).key_type.class).to eq(PEnumType)
|
490
490
|
end
|
491
491
|
|
492
|
-
it 'with
|
492
|
+
it 'with integer values translates to PHashType[key, PIntegerType]' do
|
493
493
|
expect(calculator.infer({:first => 1, :second => 2}).value_type.class).to eq(PIntegerType)
|
494
494
|
end
|
495
495
|
|
@@ -151,7 +151,7 @@ describe 'The type factory' do
|
|
151
151
|
expect(hc.class_name).to eq('x')
|
152
152
|
end
|
153
153
|
|
154
|
-
it 'array_of(
|
154
|
+
it 'array_of(integer) returns PArrayType[PIntegerType]' do
|
155
155
|
at = TypeFactory.array_of(1)
|
156
156
|
expect(at.class()).to eq(PArrayType)
|
157
157
|
expect(at.element_type.class).to eq(PIntegerType)
|
@@ -179,17 +179,17 @@ describe "validating 4x" do
|
|
179
179
|
expect(acceptor).to have_issue(Puppet::Pops::Issues::DUPLICATE_KEY)
|
180
180
|
end
|
181
181
|
|
182
|
-
it 'produces
|
182
|
+
it 'produces an error for virtual class resource' do
|
183
183
|
acceptor = validate(parse('@class { test: }'))
|
184
|
-
expect(acceptor.warning_count).to eql(
|
185
|
-
expect(acceptor.error_count).to eql(
|
184
|
+
expect(acceptor.warning_count).to eql(0)
|
185
|
+
expect(acceptor.error_count).to eql(1)
|
186
186
|
expect(acceptor).to have_issue(Puppet::Pops::Issues::CLASS_NOT_VIRTUALIZABLE)
|
187
187
|
end
|
188
188
|
|
189
|
-
it 'produces
|
189
|
+
it 'produces an error for exported class resource' do
|
190
190
|
acceptor = validate(parse('@@class { test: }'))
|
191
|
-
expect(acceptor.warning_count).to eql(
|
192
|
-
expect(acceptor.error_count).to eql(
|
191
|
+
expect(acceptor.warning_count).to eql(0)
|
192
|
+
expect(acceptor.error_count).to eql(1)
|
193
193
|
expect(acceptor).to have_issue(Puppet::Pops::Issues::CLASS_NOT_VIRTUALIZABLE)
|
194
194
|
end
|
195
195
|
|
@@ -310,17 +310,17 @@ describe "validating 4x" do
|
|
310
310
|
expect(acceptor).to have_issue(Puppet::Pops::Issues::DUPLICATE_DEFAULT)
|
311
311
|
end
|
312
312
|
|
313
|
-
it 'produces
|
313
|
+
it 'produces an error for virtual class resource' do
|
314
314
|
acceptor = validate(parse('@class { test: }'))
|
315
|
-
expect(acceptor.warning_count).to eql(
|
316
|
-
expect(acceptor.error_count).to eql(
|
315
|
+
expect(acceptor.warning_count).to eql(0)
|
316
|
+
expect(acceptor.error_count).to eql(1)
|
317
317
|
expect(acceptor).to have_issue(Puppet::Pops::Issues::CLASS_NOT_VIRTUALIZABLE)
|
318
318
|
end
|
319
319
|
|
320
|
-
it 'produces
|
320
|
+
it 'produces an error for exported class resource' do
|
321
321
|
acceptor = validate(parse('@@class { test: }'))
|
322
|
-
expect(acceptor.warning_count).to eql(
|
323
|
-
expect(acceptor.error_count).to eql(
|
322
|
+
expect(acceptor.warning_count).to eql(0)
|
323
|
+
expect(acceptor.error_count).to eql(1)
|
324
324
|
expect(acceptor).to have_issue(Puppet::Pops::Issues::CLASS_NOT_VIRTUALIZABLE)
|
325
325
|
end
|
326
326
|
end
|
@@ -344,16 +344,16 @@ describe "validating 4x" do
|
|
344
344
|
end
|
345
345
|
end
|
346
346
|
|
347
|
-
it 'produces
|
348
|
-
|
349
|
-
|
350
|
-
|
347
|
+
it 'produces a syntax error for application' do
|
348
|
+
expect {
|
349
|
+
parse('application test {}')
|
350
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'application'/)
|
351
351
|
end
|
352
352
|
|
353
|
-
it 'produces
|
354
|
-
|
355
|
-
|
356
|
-
|
353
|
+
it 'produces a syntax error for capability mapping' do
|
354
|
+
expect {
|
355
|
+
parse('Foo produces Sql {}')
|
356
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'produces'/)
|
357
357
|
end
|
358
358
|
|
359
359
|
it 'produces an error for collect expressions with virtual query' do
|
@@ -410,10 +410,10 @@ describe "validating 4x" do
|
|
410
410
|
expect(acceptor).to have_issue(Puppet::Pops::Issues::EXPRESSION_NOT_SUPPORTED_WHEN_SCRIPTING)
|
411
411
|
end
|
412
412
|
|
413
|
-
it 'produces
|
414
|
-
|
415
|
-
|
416
|
-
|
413
|
+
it 'produces a syntax error for site definitions' do
|
414
|
+
expect {
|
415
|
+
parse('site {}')
|
416
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'site'/)
|
417
417
|
end
|
418
418
|
|
419
419
|
context 'validating apply() blocks' do
|
@@ -468,16 +468,16 @@ describe "validating 4x" do
|
|
468
468
|
expect(acceptor.error_count).to eql(0)
|
469
469
|
end
|
470
470
|
|
471
|
-
it 'produces
|
472
|
-
|
473
|
-
|
474
|
-
|
471
|
+
it 'produces a syntax error for application' do
|
472
|
+
expect {
|
473
|
+
parse('apply("foo.example.com") { application test {} }')
|
474
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'application'/)
|
475
475
|
end
|
476
476
|
|
477
|
-
it 'produces
|
478
|
-
|
479
|
-
|
480
|
-
|
477
|
+
it 'produces a syntax error for capability mapping' do
|
478
|
+
expect {
|
479
|
+
parse('apply("foo.example.com") { Foo produces Sql {} }')
|
480
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'produces'/)
|
481
481
|
end
|
482
482
|
|
483
483
|
it 'produces an error for class expressions' do
|
@@ -504,9 +504,9 @@ describe "validating 4x" do
|
|
504
504
|
end
|
505
505
|
|
506
506
|
it 'produces an error for site definitions' do
|
507
|
-
|
508
|
-
|
509
|
-
|
507
|
+
expect {
|
508
|
+
parse('apply("foo.example.com") { site {} }')
|
509
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'site'/)
|
510
510
|
end
|
511
511
|
|
512
512
|
it 'produces an error for apply() inside apply()' do
|
@@ -669,6 +669,15 @@ describe "validating 4x" do
|
|
669
669
|
'regexp',
|
670
670
|
'pattern',
|
671
671
|
'runtime',
|
672
|
+
'init',
|
673
|
+
'object',
|
674
|
+
'sensitive',
|
675
|
+
'semver',
|
676
|
+
'semverrange',
|
677
|
+
'string',
|
678
|
+
'timestamp',
|
679
|
+
'timespan',
|
680
|
+
'typeset',
|
672
681
|
].each do |name|
|
673
682
|
|
674
683
|
it "produces an error for 'class #{name}'" do
|
@@ -693,6 +702,7 @@ describe "validating 4x" do
|
|
693
702
|
source = "type('a', 'b')"
|
694
703
|
expect(validate(parse(source))).not_to have_any_issues
|
695
704
|
end
|
705
|
+
|
696
706
|
it "should allow using the 'type' as the name of a function with no parameters and a block" do
|
697
707
|
source = "type() |$x| { $x }"
|
698
708
|
expect(validate(parse(source))).not_to have_any_issues
|
@@ -968,6 +978,18 @@ describe "validating 4x" do
|
|
968
978
|
end
|
969
979
|
end
|
970
980
|
|
981
|
+
it "allows a reserved type name" do
|
982
|
+
source = <<-SOURCE
|
983
|
+
class foo {
|
984
|
+
define string() {}
|
985
|
+
foo::string { 'a': }
|
986
|
+
}
|
987
|
+
SOURCE
|
988
|
+
|
989
|
+
acceptor = validate(parse(source, 'path/foo/manifests/init.pp'))
|
990
|
+
expect(acceptor.error_count).to eql(0)
|
991
|
+
end
|
992
|
+
|
971
993
|
it "will give multiple errors in one file with multiple issues" do
|
972
994
|
source = <<-SOURCE
|
973
995
|
class foo {}
|
@@ -992,17 +1014,10 @@ describe "validating 4x" do
|
|
992
1014
|
|
993
1015
|
context "capability annotations" do
|
994
1016
|
['produces', 'consumes'].each do |word|
|
995
|
-
it "
|
996
|
-
expect
|
997
|
-
|
998
|
-
|
999
|
-
it "accepts legal resource and capability types in #{word} clauses" do
|
1000
|
-
expect(validate(parse("Foo produces Bar {}"))).to_not have_issue(Puppet::Pops::Issues::ILLEGAL_CLASSREF)
|
1001
|
-
expect(validate(parse("Mod::Foo produces ::Mod2::Bar {}"))).to_not have_issue(Puppet::Pops::Issues::ILLEGAL_CLASSREF)
|
1002
|
-
end
|
1003
|
-
|
1004
|
-
it "rejects illegal capability types in #{word} clauses" do
|
1005
|
-
expect(validate(parse("Foo produces bar {}"))).to have_issue(Puppet::Pops::Issues::ILLEGAL_CLASSREF)
|
1017
|
+
it "raises a syntax error in #{word} clauses" do
|
1018
|
+
expect {
|
1019
|
+
parse("foo #{word} Bar {}")
|
1020
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at '#{word}'/)
|
1006
1021
|
end
|
1007
1022
|
end
|
1008
1023
|
end
|
@@ -39,7 +39,7 @@ describe Puppet::Pops::Visitor do
|
|
39
39
|
|
40
40
|
it "should select method for superclass" do
|
41
41
|
duck_processor = DuckProcessor.new
|
42
|
-
expect(duck_processor.hi(42)).to match(/Howdy
|
42
|
+
expect(duck_processor.hi(42)).to match(/Howdy Integer/)
|
43
43
|
end
|
44
44
|
|
45
45
|
it "should select method for superclass" do
|
@@ -149,63 +149,6 @@ describe Puppet::Provider::NameService do
|
|
149
149
|
end
|
150
150
|
end
|
151
151
|
|
152
|
-
describe "#listbyname" do
|
153
|
-
it "should be deprecated" do
|
154
|
-
expect(Puppet).to receive(:deprecation_warning).with(/listbyname is deprecated/)
|
155
|
-
described_class.listbyname
|
156
|
-
end
|
157
|
-
|
158
|
-
it "should return a list of users if resource_type is user" do
|
159
|
-
described_class.resource_type = Puppet::Type.type(:user)
|
160
|
-
expect(Puppet::Etc).to receive(:setpwent)
|
161
|
-
allow(Puppet::Etc).to receive(:getpwent).and_return(*users)
|
162
|
-
expect(Puppet::Etc).to receive(:endpwent)
|
163
|
-
expect(described_class.listbyname).to eq(%w{root foo})
|
164
|
-
end
|
165
|
-
|
166
|
-
context "encoding handling" do
|
167
|
-
described_class.resource_type = Puppet::Type.type(:user)
|
168
|
-
|
169
|
-
# These two tests simulate an environment where there are two users with
|
170
|
-
# the same name on disk, but each name is stored on disk in a different
|
171
|
-
# encoding
|
172
|
-
it "should return names with invalid byte sequences replaced with '?'" do
|
173
|
-
allow(Etc).to receive(:getpwent).and_return(*utf_8_mixed_users)
|
174
|
-
expect(invalid_utf_8_jose).to_not be_valid_encoding
|
175
|
-
result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::UTF_8) do
|
176
|
-
described_class.listbyname
|
177
|
-
end
|
178
|
-
expect(result).to eq(['root', 'foo', utf_8_jose, escaped_utf_8_jose])
|
179
|
-
end
|
180
|
-
|
181
|
-
it "should return names in their original encoding/bytes if they would not be valid UTF-8" do
|
182
|
-
allow(Etc).to receive(:getpwent).and_return(*latin_1_mixed_users)
|
183
|
-
result = PuppetSpec::CharacterEncoding.with_external_encoding(Encoding::ISO_8859_1) do
|
184
|
-
described_class.listbyname
|
185
|
-
end
|
186
|
-
expect(result).to eq(['root'.force_encoding(Encoding::UTF_8), 'foo'.force_encoding(Encoding::UTF_8), utf_8_jose, valid_latin1_jose])
|
187
|
-
end
|
188
|
-
end
|
189
|
-
|
190
|
-
it "should return a list of groups if resource_type is group", :unless => Puppet::Util::Platform.windows? do
|
191
|
-
described_class.resource_type = Puppet::Type.type(:group)
|
192
|
-
expect(Puppet::Etc).to receive(:setgrent)
|
193
|
-
allow(Puppet::Etc).to receive(:getgrent).and_return(*groups)
|
194
|
-
expect(Puppet::Etc).to receive(:endgrent)
|
195
|
-
expect(described_class.listbyname).to eq(%w{root bin})
|
196
|
-
end
|
197
|
-
|
198
|
-
it "should yield if a block given" do
|
199
|
-
yield_results = []
|
200
|
-
described_class.resource_type = Puppet::Type.type(:user)
|
201
|
-
expect(Puppet::Etc).to receive(:setpwent)
|
202
|
-
allow(Puppet::Etc).to receive(:getpwent).and_return(*users)
|
203
|
-
expect(Puppet::Etc).to receive(:endpwent)
|
204
|
-
described_class.listbyname {|x| yield_results << x }
|
205
|
-
expect(yield_results).to eq(%w{root foo})
|
206
|
-
end
|
207
|
-
end
|
208
|
-
|
209
152
|
describe "instances" do
|
210
153
|
it "should return a list of objects in UTF-8 with any invalid characters replaced with '?'" do
|
211
154
|
# These two tests simulate an environment where there are two users with
|
@@ -392,39 +392,13 @@ describe Puppet::Type.type(:package).provider(:dpkg), unless: Puppet::Util::Plat
|
|
392
392
|
allow(Tempfile).to receive(:open).and_yield(tempfile)
|
393
393
|
end
|
394
394
|
|
395
|
-
it "installs first if package is not present and ensure holding" do
|
396
|
-
allow(provider).to receive(:execute)
|
397
|
-
allow(provider).to receive(:package_not_installed?).and_return(true)
|
398
|
-
expect(provider).to receive(:install).once
|
399
|
-
expect(provider).to receive(:hold)
|
400
|
-
provider.deprecated_hold
|
401
|
-
end
|
402
|
-
|
403
|
-
it "skips install new package if hold is true" do
|
404
|
-
allow(provider).to receive(:execute)
|
405
|
-
allow(provider).to receive(:package_not_installed?).and_return(true)
|
406
|
-
expect(provider).to receive(:install).once
|
407
|
-
expect(provider).to receive(:hold)
|
408
|
-
provider.deprecated_hold
|
409
|
-
end
|
410
|
-
|
411
|
-
it "skips install new package if package is allready installed" do
|
412
|
-
allow(provider).to receive(:execute)
|
413
|
-
allow(provider).to receive(:package_not_installed?).and_return(false)
|
414
|
-
expect(provider).not_to receive(:install)
|
415
|
-
expect(provider).to receive(:hold)
|
416
|
-
provider.deprecated_hold
|
417
|
-
end
|
418
|
-
|
419
395
|
it "executes dpkg --set-selections when holding" do
|
420
|
-
allow(provider).to receive(:package_not_installed?).and_return(false)
|
421
396
|
allow(provider).to receive(:install)
|
422
397
|
expect(provider).to receive(:execute).with([:dpkg, '--set-selections'], {:failonfail => false, :combine => false, :stdinfile => tempfile.path}).once
|
423
398
|
provider.hold
|
424
399
|
end
|
425
400
|
|
426
401
|
it "executes dpkg --set-selections when unholding" do
|
427
|
-
allow(provider).to receive(:package_not_installed?).and_return(false)
|
428
402
|
allow(provider).to receive(:install)
|
429
403
|
expect(provider).to receive(:execute).with([:dpkg, '--set-selections'], {:failonfail => false, :combine => false, :stdinfile => tempfile.path}).once
|
430
404
|
provider.hold
|
@@ -467,26 +441,4 @@ describe Puppet::Type.type(:package).provider(:dpkg), unless: Puppet::Util::Plat
|
|
467
441
|
provider.purge
|
468
442
|
end
|
469
443
|
|
470
|
-
context "package_not_installed?" do
|
471
|
-
context "allow_virtual false" do
|
472
|
-
before do
|
473
|
-
allow(resource).to receive(:allow_virtual?).and_return(false)
|
474
|
-
end
|
475
|
-
|
476
|
-
it "returns true if package is not found" do
|
477
|
-
expect(provider).to receive(:dpkgquery).with("-W", "--showformat", "'${Status} ${Package} ${Version}\\n'", resource_name).and_raise(Puppet::ExecutionFailure.new("eh"))
|
478
|
-
expect(provider.package_not_installed?).to eq(true)
|
479
|
-
end
|
480
|
-
|
481
|
-
it "returns true if package is not installed" do
|
482
|
-
expect(provider).to receive(:dpkgquery).with("-W", "--showformat", "'${Status} ${Package} ${Version}\\n'", resource_name).and_return("unknown ok not-installed #{resource_name}")
|
483
|
-
expect(provider.package_not_installed?).to eq(true)
|
484
|
-
end
|
485
|
-
|
486
|
-
it "returns false if package is installed" do
|
487
|
-
expect(provider).to receive(:dpkgquery).with("-W", "--showformat", "'${Status} ${Package} ${Version}\\n'", resource_name).and_return("install ok installed resource_name 1.2.3")
|
488
|
-
expect(provider.package_not_installed?).to eq(false)
|
489
|
-
end
|
490
|
-
end
|
491
|
-
end
|
492
444
|
end
|
@@ -12,6 +12,10 @@ context Puppet::Type.type(:package).provider(:gem) do
|
|
12
12
|
let(:provider_gem_cmd) { '/provider/gem' }
|
13
13
|
let(:execute_options) { {:failonfail => true, :combine => true, :custom_environment => {"HOME"=>ENV["HOME"]}} }
|
14
14
|
|
15
|
+
before do
|
16
|
+
allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
|
17
|
+
end
|
18
|
+
|
15
19
|
context 'installing myresource' do
|
16
20
|
let(:resource) do
|
17
21
|
Puppet::Type.type(:package).new(
|
@@ -36,6 +40,34 @@ context Puppet::Type.type(:package).provider(:gem) do
|
|
36
40
|
allow(provider).to receive(:rubygem_version).and_return('1.9.9')
|
37
41
|
end
|
38
42
|
|
43
|
+
context 'on windows' do
|
44
|
+
let(:path) do
|
45
|
+
"C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Ruby26-x64\\bin;C:\\Windows\\system32\\bin"
|
46
|
+
end
|
47
|
+
|
48
|
+
let(:expected_path) do
|
49
|
+
"C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Ruby26-x64\\bin;C:\\Windows\\system32\\bin"
|
50
|
+
end
|
51
|
+
|
52
|
+
before do
|
53
|
+
allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
|
54
|
+
allow(Puppet::Util).to receive(:get_env)
|
55
|
+
allow(Puppet::Util).to receive(:get_env).with('PATH').and_return(path)
|
56
|
+
allow(described_class).to receive(:validate_command).with(provider_gem_cmd)
|
57
|
+
stub_const('::File::PATH_SEPARATOR', ';')
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'removes puppet/bin from PATH' do
|
61
|
+
expect(described_class).to receive(:execute) \
|
62
|
+
.with(
|
63
|
+
anything,
|
64
|
+
hash_including(custom_environment: hash_including(PATH: expected_path))
|
65
|
+
)
|
66
|
+
.and_return("")
|
67
|
+
provider.install
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
39
71
|
it "should use the path to the gem command" do
|
40
72
|
allow(described_class).to receive(:validate_command).with(provider_gem_cmd)
|
41
73
|
expect(described_class).to receive(:execute).with(be_a(Array), execute_options) { |args| expect(args[0]).to eq(provider_gem_cmd) }.and_return("")
|
@@ -15,19 +15,20 @@ describe Puppet::Type.type(:package).provider(:puppet_gem) do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
if Puppet::Util::Platform.windows?
|
18
|
-
let(:provider_gem_cmd) { 'gem' }
|
18
|
+
let(:provider_gem_cmd) { 'C:\Program Files\Puppet Labs\Puppet\puppet\bin\gem.bat' }
|
19
19
|
else
|
20
20
|
let(:provider_gem_cmd) { '/opt/puppetlabs/puppet/bin/gem' }
|
21
21
|
end
|
22
22
|
|
23
23
|
custom_environment = {"HOME"=>ENV["HOME"]}
|
24
|
-
custom_environment['PKG_CONFIG_PATH'] = '/opt/puppetlabs/puppet/lib/pkgconfig'
|
24
|
+
custom_environment['PKG_CONFIG_PATH'] = '/opt/puppetlabs/puppet/lib/pkgconfig'
|
25
25
|
|
26
26
|
let(:execute_options) { {:failonfail => true, :combine => true, :custom_environment => custom_environment} }
|
27
27
|
|
28
28
|
before :each do
|
29
29
|
resource.provider = provider
|
30
30
|
allow(described_class).to receive(:command).with(:gemcmd).and_return(provider_gem_cmd)
|
31
|
+
allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
|
31
32
|
end
|
32
33
|
|
33
34
|
context "when installing" do
|