puppet 6.19.1-x86-mingw32 → 7.0.0-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 -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 -232
- 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
@@ -2,7 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
require 'puppet_spec/handler'
|
4
4
|
require 'puppet/indirector_testing'
|
5
|
-
require 'puppet/network/authorization'
|
6
5
|
require 'puppet/network/http'
|
7
6
|
|
8
7
|
describe Puppet::Network::HTTP::Handler do
|
@@ -102,11 +101,6 @@ describe Puppet::Network::HTTP::Handler do
|
|
102
101
|
{ :status => 200 }
|
103
102
|
end
|
104
103
|
|
105
|
-
before do
|
106
|
-
allow(handler).to receive(:check_authorization)
|
107
|
-
allow(handler).to receive(:warn_if_near_expiration)
|
108
|
-
end
|
109
|
-
|
110
104
|
it "should setup a profiler when the puppet-profiling header exists" do
|
111
105
|
request = a_request
|
112
106
|
request[:headers][Puppet::Network::HTTP::HEADER_ENABLE_PROFILING.downcase] = "true"
|
@@ -69,10 +69,6 @@ describe Puppet::Network::HttpPool do
|
|
69
69
|
expect(Puppet::Network::HttpPool.http_instance("me", 54321, true)).to be_use_ssl
|
70
70
|
end
|
71
71
|
|
72
|
-
it 'has an http_ssl_instance method' do
|
73
|
-
expect(Puppet::Network::HttpPool.http_ssl_instance("me", 54321)).to be_use_ssl
|
74
|
-
end
|
75
|
-
|
76
72
|
context "when calling 'connection'" do
|
77
73
|
it 'requires an ssl_context' do
|
78
74
|
expect {
|
@@ -526,34 +526,46 @@ describe Puppet::Node::Environment do
|
|
526
526
|
end
|
527
527
|
|
528
528
|
describe "managing module translations" do
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
529
|
+
context "when i18n is enabled" do
|
530
|
+
before(:each) do
|
531
|
+
Puppet[:disable_i18n] = false
|
532
|
+
end
|
533
533
|
|
534
|
-
|
535
|
-
|
534
|
+
it "yields block results" do
|
535
|
+
ran = false
|
536
|
+
expect(env.with_text_domain { ran = true; :result }).to eq(:result)
|
537
|
+
expect(ran).to eq(true)
|
538
|
+
end
|
536
539
|
|
537
|
-
|
538
|
-
|
540
|
+
it "creates a new text domain the first time we try to use the text domain" do
|
541
|
+
expect(Puppet::GettextConfig).to receive(:reset_text_domain).with(env.name)
|
542
|
+
expect(Puppet::ModuleTranslations).to receive(:load_from_modulepath)
|
543
|
+
expect(Puppet::GettextConfig).to receive(:clear_text_domain)
|
539
544
|
|
540
|
-
|
541
|
-
|
542
|
-
end
|
545
|
+
env.with_text_domain do; end
|
546
|
+
end
|
543
547
|
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
+
it "uses the existing text domain once it has been created" do
|
549
|
+
env.with_text_domain do; end
|
550
|
+
|
551
|
+
expect(Puppet::GettextConfig).to receive(:use_text_domain).with(env.name)
|
552
|
+
env.with_text_domain do; end
|
553
|
+
end
|
548
554
|
end
|
549
555
|
|
550
|
-
|
551
|
-
|
556
|
+
context "when i18n is disabled" do
|
557
|
+
it "yields block results" do
|
558
|
+
ran = false
|
559
|
+
expect(env.with_text_domain { ran = true; :result }).to eq(:result)
|
560
|
+
expect(ran).to eq(true)
|
561
|
+
end
|
562
|
+
|
563
|
+
it "does not create a new text domain the first time we try to use the text domain" do
|
564
|
+
expect(Puppet::GettextConfig).not_to receive(:reset_text_domain)
|
565
|
+
expect(Puppet::ModuleTranslations).not_to receive(:load_from_modulepath)
|
552
566
|
|
553
|
-
|
554
|
-
|
555
|
-
expect(ran).to eq(true)
|
567
|
+
env.with_text_domain do; end
|
568
|
+
end
|
556
569
|
end
|
557
570
|
end
|
558
|
-
|
559
571
|
end
|
data/spec/unit/node_spec.rb
CHANGED
@@ -417,64 +417,12 @@ end
|
|
417
417
|
|
418
418
|
describe Puppet::Node, "when generating the list of names to search through" do
|
419
419
|
before do
|
420
|
-
Puppet[:strict_hostname_checking] = false
|
421
420
|
@node = Puppet::Node.new("foo.domain.com",
|
422
421
|
:parameters => {"hostname" => "yay", "domain" => "domain.com"})
|
423
422
|
end
|
424
423
|
|
425
|
-
it "returns an array of
|
424
|
+
it "returns an array of one name" do
|
426
425
|
expect(@node.names).to be_instance_of(Array)
|
427
|
-
|
428
|
-
|
429
|
-
describe "and the node name is fully qualified" do
|
430
|
-
it "contains an entry for each part of the node name" do
|
431
|
-
expect(@node.names).to include("foo.domain.com")
|
432
|
-
expect(@node.names).to include("foo.domain")
|
433
|
-
expect(@node.names).to include("foo")
|
434
|
-
end
|
435
|
-
end
|
436
|
-
|
437
|
-
it "includes the node's fqdn" do
|
438
|
-
expect(@node.names).to include("yay.domain.com")
|
439
|
-
end
|
440
|
-
|
441
|
-
it "combines and include the node's hostname and domain if no fqdn is available" do
|
442
|
-
expect(@node.names).to include("yay.domain.com")
|
443
|
-
end
|
444
|
-
|
445
|
-
it "contains an entry for each name available by stripping a segment of the fqdn" do
|
446
|
-
@node.parameters["fqdn"] = "foo.deep.sub.domain.com"
|
447
|
-
expect(@node.names).to include("foo.deep.sub.domain")
|
448
|
-
expect(@node.names).to include("foo.deep.sub")
|
449
|
-
end
|
450
|
-
|
451
|
-
describe "and :node_name is set to 'cert'" do
|
452
|
-
before do
|
453
|
-
Puppet[:node_name] = "cert"
|
454
|
-
end
|
455
|
-
|
456
|
-
it "uses the passed-in key as the first value" do
|
457
|
-
expect(@node.names[0]).to eq("foo.domain.com")
|
458
|
-
end
|
459
|
-
|
460
|
-
describe "and strict hostname checking is enabled" do
|
461
|
-
before do
|
462
|
-
Puppet[:strict_hostname_checking] = true
|
463
|
-
end
|
464
|
-
|
465
|
-
it "only uses the passed-in key" do
|
466
|
-
expect(@node.names).to eq(["foo.domain.com"])
|
467
|
-
end
|
468
|
-
end
|
469
|
-
end
|
470
|
-
|
471
|
-
describe "and :node_name is set to 'facter'" do
|
472
|
-
before do
|
473
|
-
Puppet[:node_name] = "facter"
|
474
|
-
end
|
475
|
-
|
476
|
-
it "uses the node's 'hostname' fact as the first value" do
|
477
|
-
expect(@node.names[0]).to eq("yay")
|
478
|
-
end
|
426
|
+
expect(@node.names).to eq ["foo.domain.com"]
|
479
427
|
end
|
480
428
|
end
|
@@ -257,31 +257,13 @@ describe 'function for dynamically creating resources' do
|
|
257
257
|
expect(catalog.resource(:class, "bar")).not_to be_nil
|
258
258
|
end
|
259
259
|
|
260
|
-
|
261
|
-
it "should warn if strict = #{strictness} and class is exported" do
|
262
|
-
Puppet[:strict] = strictness
|
263
|
-
collect_notices('class test{} create_resources("@@class", {test => {}})')
|
264
|
-
expect(warnings).to include(/Classes are not virtualizable/)
|
265
|
-
end
|
266
|
-
end
|
267
|
-
|
268
|
-
it 'should error if strict = error and class is exported' do
|
269
|
-
Puppet[:strict] = :error
|
260
|
+
it 'should error if class is exported' do
|
270
261
|
expect{
|
271
262
|
compile_to_catalog('class test{} create_resources("@@class", {test => {}})')
|
272
263
|
}.to raise_error(/Classes are not virtualizable/)
|
273
264
|
end
|
274
265
|
|
275
|
-
|
276
|
-
it "should warn if strict = #{strictness} and class is virtual" do
|
277
|
-
Puppet[:strict] = strictness
|
278
|
-
collect_notices('class test{} create_resources("@class", {test => {}})')
|
279
|
-
expect(warnings).to include(/Classes are not virtualizable/)
|
280
|
-
end
|
281
|
-
end
|
282
|
-
|
283
|
-
it 'should error if strict = error and class is virtual' do
|
284
|
-
Puppet[:strict] = :error
|
266
|
+
it 'should error if class is virtual' do
|
285
267
|
expect{
|
286
268
|
compile_to_catalog('class test{} create_resources("@class", {test => {}})')
|
287
269
|
}.to raise_error(/Classes are not virtualizable/)
|
@@ -818,14 +818,11 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
818
818
|
end
|
819
819
|
end
|
820
820
|
|
821
|
-
# Integer for >= 2.4.0, otherwise Fixnum
|
822
|
-
int_class_name = 0.class.name
|
823
|
-
|
824
821
|
# Errors when wrong number/type of keys are used
|
825
822
|
{
|
826
|
-
"Array[0]" => "Array-Type[] arguments must be types. Got
|
827
|
-
"Hash[0]" => "Hash-Type[] arguments must be types. Got
|
828
|
-
"Hash[Integer, 0]" => "Hash-Type[] arguments must be types. Got
|
823
|
+
"Array[0]" => "Array-Type[] arguments must be types. Got Integer",
|
824
|
+
"Hash[0]" => "Hash-Type[] arguments must be types. Got Integer",
|
825
|
+
"Hash[Integer, 0]" => "Hash-Type[] arguments must be types. Got Integer",
|
829
826
|
"Array[Integer,1,2,3]" => 'Array-Type[] accepts 1 to 3 arguments. Got 4',
|
830
827
|
"Array[Integer,String]" => "A Type's size constraint arguments must be a single Integer type, or 1-2 integers (or default). Got a String-Type",
|
831
828
|
"Hash[Integer,String, 1,2,3]" => 'Hash-Type[] accepts 2 to 4 arguments. Got 5',
|
@@ -833,7 +830,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
833
830
|
"'abc'[1.0]" => "A substring operation does not accept a Float as a character index. Expected an Integer",
|
834
831
|
"'abc'[1, x]" => "A substring operation does not accept a String as a character index. Expected an Integer",
|
835
832
|
"'abc'[1,2,3]" => "String supports [] with one or two arguments. Got 3",
|
836
|
-
"NotUndef[0]" => "NotUndef-Type[] argument must be a Type or a String. Got
|
833
|
+
"NotUndef[0]" => "NotUndef-Type[] argument must be a Type or a String. Got Integer",
|
837
834
|
"NotUndef[a,b]" => 'NotUndef-Type[] accepts 0 to 1 arguments. Got 2',
|
838
835
|
"Resource[0]" => 'First argument to Resource[] must be a resource type or a String. Got Integer',
|
839
836
|
"Resource[a, 0]" => 'Error creating type specialization of a Resource-Type, Cannot use Integer where a resource title String is expected',
|
@@ -575,27 +575,6 @@ describe 'loaders' do
|
|
575
575
|
end
|
576
576
|
end
|
577
577
|
|
578
|
-
context 'when a 3x load has illegal construct and --func3x_check is false' do
|
579
|
-
let(:env) { environment_for(mix_4x_and_3x_functions) }
|
580
|
-
let(:compiler) { Puppet::Parser::Compiler.new(Puppet::Node.new("test", :environment => env)) }
|
581
|
-
let(:scope) { compiler.topscope }
|
582
|
-
let(:loader) { compiler.loaders.private_loader_for_module('user') }
|
583
|
-
|
584
|
-
before(:each) do
|
585
|
-
Puppet.push_context(:current_environment => scope.environment, :global_scope => scope, :loaders => compiler.loaders)
|
586
|
-
Puppet[:func3x_check] = false
|
587
|
-
end
|
588
|
-
after(:each) do
|
589
|
-
Puppet.pop_context
|
590
|
-
Puppet[:func3x_check] = true
|
591
|
-
end
|
592
|
-
|
593
|
-
it "an illegal function is loaded" do
|
594
|
-
f = loader.load_typed(typed_name(:function, 'bad_func_load3')).value
|
595
|
-
expect(f.call(scope)).to eql("some return value")
|
596
|
-
end
|
597
|
-
end
|
598
|
-
|
599
578
|
context 'when causing a 3x load followed by a 4x load' do
|
600
579
|
let(:env) { environment_for(mix_4x_and_3x_functions) }
|
601
580
|
let(:compiler) { Puppet::Parser::Compiler.new(Puppet::Node.new("test", :environment => env)) }
|
@@ -623,6 +602,12 @@ end
|
|
623
602
|
function = loader.load_typed(typed_name(:function, 'callee_ws')).value
|
624
603
|
expect(function.call(scope, 'passed in scope')).to eql("usee::callee_ws() got 'value'")
|
625
604
|
end
|
605
|
+
|
606
|
+
it "an illegal function is loaded" do
|
607
|
+
expect {
|
608
|
+
loader.load_typed(typed_name(:function, 'bad_func_load3')).value
|
609
|
+
}.to raise_error(SecurityError, /Illegal method definition of method 'bad_func_load3_illegal_method' on line 8 in legacy function/)
|
610
|
+
end
|
626
611
|
end
|
627
612
|
|
628
613
|
context 'loading' do
|
@@ -5,27 +5,9 @@ require_relative 'parser_rspec_helper'
|
|
5
5
|
describe "egrammar parsing of 'application'" do
|
6
6
|
include ParserRspecHelper
|
7
7
|
|
8
|
-
it "
|
9
|
-
expect
|
10
|
-
|
11
|
-
|
12
|
-
it "an empty body" do
|
13
|
-
prog = <<-EPROG
|
14
|
-
application foo {
|
15
|
-
db { one:
|
16
|
-
password => 'secret'
|
17
|
-
}
|
18
|
-
}
|
19
|
-
EPROG
|
20
|
-
expect(dump(parse(prog))).to eq( [
|
21
|
-
"(application foo () (block",
|
22
|
-
" (resource db",
|
23
|
-
" (one",
|
24
|
-
" (password => 'secret')))", "))" ].join("\n"))
|
25
|
-
end
|
26
|
-
|
27
|
-
it "accepts parameters" do
|
28
|
-
s = "application foo($p1 = 'yo', $p2) { }"
|
29
|
-
expect(dump(parse(s))).to eq("(application foo ((= p1 'yo') p2) ())")
|
8
|
+
it "raises a syntax error" do
|
9
|
+
expect {
|
10
|
+
parse("application foo { }")
|
11
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'application' \(line: 1, column: 1\)/)
|
30
12
|
end
|
31
13
|
end
|
@@ -191,7 +191,6 @@ describe "egrammar parsing basic expressions" do
|
|
191
191
|
|
192
192
|
{
|
193
193
|
'keyword' => %w(type function),
|
194
|
-
'reserved word' => %w(application site produces consumes)
|
195
194
|
}.each_pair do |word_type, words|
|
196
195
|
words.each do |word|
|
197
196
|
it "allows the #{word_type} '#{word}' in a list" do
|
@@ -6,31 +6,18 @@ describe "egrammar parsing of capability mappings" do
|
|
6
6
|
include ParserRspecHelper
|
7
7
|
|
8
8
|
context "when parsing 'produces'" do
|
9
|
-
it "
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
it "optional end comma is allowed" do
|
16
|
-
prog = "Foo produces Sql { name => value, }"
|
17
|
-
ast = "(produces Foo Sql ((name => value)))"
|
18
|
-
expect(dump(parse(prog))).to eq(ast)
|
9
|
+
it "raises syntax error" do
|
10
|
+
expect {
|
11
|
+
parse("Foo produces Sql { name => value }")
|
12
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'produces' \(line: 1, column: 5\)/)
|
19
13
|
end
|
20
14
|
end
|
21
15
|
|
22
16
|
context "when parsing 'consumes'" do
|
23
|
-
it "
|
24
|
-
|
25
|
-
|
26
|
-
|
17
|
+
it "raises syntax error" do
|
18
|
+
expect {
|
19
|
+
parse("Foo consumes Sql { name => value }")
|
20
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'consumes' \(line: 1, column: 5\)/)
|
27
21
|
end
|
28
|
-
|
29
|
-
it "optional end comma is allowed" do
|
30
|
-
prog = "Foo consumes Sql { name => value, }"
|
31
|
-
ast = "(consumes Foo Sql ((name => value)))"
|
32
|
-
expect(dump(parse(prog))).to eq(ast)
|
33
|
-
end
|
34
|
-
|
35
22
|
end
|
36
23
|
end
|
@@ -6,41 +6,37 @@ describe "egrammar parsing of site expression" do
|
|
6
6
|
include ParserRspecHelper
|
7
7
|
|
8
8
|
context "when parsing 'site'" do
|
9
|
-
it "
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
it "a body with one expression is allowed" do
|
16
|
-
prog = "site { $x = 1 }"
|
17
|
-
ast = "(site (block\n (= $x 1)\n))"
|
18
|
-
expect(dump(parse(prog))).to eq(ast)
|
19
|
-
end
|
20
|
-
|
21
|
-
it "a body with more than one expression is allowed" do
|
22
|
-
prog = "site { $x = 1 $y = 2}"
|
23
|
-
ast = "(site (block\n (= $x 1)\n (= $y 2)\n))"
|
24
|
-
expect(dump(parse(prog))).to eq(ast)
|
9
|
+
it "raises a syntax error" do
|
10
|
+
expect {
|
11
|
+
parse("site { }")
|
12
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at 'site' \(line: 1, column: 1\)/)
|
25
13
|
end
|
26
14
|
end
|
27
15
|
|
28
16
|
context 'When parsing collections containing application management specific keywords' do
|
29
17
|
%w(application site produces consumes).each do |keyword|
|
30
|
-
it "
|
31
|
-
expect
|
18
|
+
it "disallows the keyword '#{keyword}' in a list" do
|
19
|
+
expect {
|
20
|
+
parse("$a = [#{keyword}]")
|
21
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at '#{keyword}' \(line: 1, column: 7\)/)
|
32
22
|
end
|
33
23
|
|
34
|
-
it "
|
35
|
-
expect
|
24
|
+
it "disallows the keyword '#{keyword}' as a key in a hash" do
|
25
|
+
expect {
|
26
|
+
parse("$a = {#{keyword}=>'x'}")
|
27
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at '#{keyword}' \(line: 1, column: 7\)/)
|
36
28
|
end
|
37
29
|
|
38
|
-
it "
|
39
|
-
expect
|
30
|
+
it "disallows the keyword '#{keyword}' as a value in a hash" do
|
31
|
+
expect {
|
32
|
+
parse("$a = {'x'=>#{keyword}}")
|
33
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at '#{keyword}' \(line: 1, column: 12\)/)
|
40
34
|
end
|
41
35
|
|
42
|
-
it "
|
43
|
-
expect
|
36
|
+
it "disallows the keyword '#{keyword}' as an attribute name" do
|
37
|
+
expect {
|
38
|
+
parse("foo { 'x': #{keyword} => 'value' } ")
|
39
|
+
}.to raise_error(Puppet::ParseErrorWithIssue, /Syntax error at '#{keyword}' \(line: 1, column: 12\)/)
|
44
40
|
end
|
45
41
|
end
|
46
42
|
end
|
@@ -32,77 +32,6 @@ describe "Puppet::Pops::Resource" do
|
|
32
32
|
expect(rt.valid_parameter?(:loglevel)).to be_truthy
|
33
33
|
end
|
34
34
|
end
|
35
|
-
|
36
|
-
|
37
|
-
context 'when used with capability resource with producers/consumers' do
|
38
|
-
include PuppetSpec::Files
|
39
|
-
|
40
|
-
let!(:env_name) { 'spec' }
|
41
|
-
let!(:env_dir) { tmpdir('environments') }
|
42
|
-
let!(:populated_env_dir) do
|
43
|
-
dir_contained_in(env_dir, env_name => {
|
44
|
-
'.resource_types' => {
|
45
|
-
'capability.pp' => <<-PUPPET
|
46
|
-
Puppet::Resource::ResourceType3.new(
|
47
|
-
'capability',
|
48
|
-
[],
|
49
|
-
[Puppet::Resource::Param(Any, 'name', true)],
|
50
|
-
{ /(.*)/ => ['name'] },
|
51
|
-
true,
|
52
|
-
true)
|
53
|
-
PUPPET
|
54
|
-
},
|
55
|
-
'modules' => {
|
56
|
-
'test' => {
|
57
|
-
'lib' => {
|
58
|
-
'puppet' => {
|
59
|
-
'type' => { 'capability.rb' => <<-RUBY
|
60
|
-
Puppet::Type.newtype(:capability, :is_capability => true) do
|
61
|
-
newparam :name, :namevar => true
|
62
|
-
raise Puppet::Error, 'Ruby resource was loaded'
|
63
|
-
end
|
64
|
-
RUBY
|
65
|
-
}
|
66
|
-
}
|
67
|
-
}
|
68
|
-
}
|
69
|
-
}
|
70
|
-
})
|
71
|
-
end
|
72
|
-
|
73
|
-
let!(:code) { <<-PUPPET }
|
74
|
-
define producer() {
|
75
|
-
notify { "producer":}
|
76
|
-
}
|
77
|
-
|
78
|
-
define consumer() {
|
79
|
-
notify { $title:}
|
80
|
-
}
|
81
|
-
|
82
|
-
Producer produces Capability {}
|
83
|
-
|
84
|
-
Consumer consumes Capability {}
|
85
|
-
|
86
|
-
producer {x: export => Capability[cap]}
|
87
|
-
consumer {x: consume => Capability[cap]}
|
88
|
-
consumer {y: require => Capability[cap]}
|
89
|
-
PUPPET
|
90
|
-
|
91
|
-
let(:environments) { Puppet::Environments::Directories.new(populated_env_dir, []) }
|
92
|
-
let(:env) { Puppet::Node::Environment.create(:'spec', [File.join(env_dir, 'spec', 'modules')]) }
|
93
|
-
let(:node) { Puppet::Node.new('test', :environment => env) }
|
94
|
-
around(:each) do |example|
|
95
|
-
Puppet[:environment] = env_name
|
96
|
-
Puppet.override(:environments => environments, :current_environment => env) do
|
97
|
-
example.run
|
98
|
-
end
|
99
|
-
Puppet::Type.rmtype(:capability)
|
100
|
-
end
|
101
|
-
|
102
|
-
it 'does not load the Ruby resource' do
|
103
|
-
expect { compile_to_catalog(code, node) }.not_to raise_error
|
104
|
-
end
|
105
|
-
end
|
106
35
|
end
|
107
36
|
end
|
108
37
|
end
|