puppet 5.4.0-universal-darwin → 5.5.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.
- data/Gemfile +3 -3
- data/MAINTAINERS +0 -19
- data/README.md +5 -5
- data/Rakefile +26 -0
- data/conf/auth.conf +5 -0
- data/ext/project_data.yaml +1 -0
- data/ext/regexp_nodes/regexp_nodes.rb +3 -4
- data/lib/puppet/application/apply.rb +1 -1
- data/lib/puppet/application/cert.rb +3 -1
- data/lib/puppet/application/device.rb +100 -13
- data/lib/puppet/application/facts.rb +5 -0
- data/lib/puppet/application/lookup.rb +12 -2
- data/lib/puppet/configurer.rb +37 -17
- data/lib/puppet/confine.rb +4 -1
- data/lib/puppet/datatypes.rb +1 -1
- data/lib/puppet/environments.rb +1 -1
- data/lib/puppet/error.rb +6 -3
- data/lib/puppet/external/dot.rb +0 -7
- data/lib/puppet/external/nagios/parser.rb +1 -1
- data/lib/puppet/face/config.rb +92 -10
- data/lib/puppet/face/epp.rb +31 -6
- data/lib/puppet/face/facts.rb +49 -0
- data/lib/puppet/face/help.rb +33 -35
- data/lib/puppet/face/help/action.erb +1 -1
- data/lib/puppet/face/help/face.erb +1 -1
- data/lib/puppet/face/man.rb +55 -12
- data/lib/puppet/face/parser.rb +30 -3
- data/lib/puppet/file_bucket/file.rb +0 -2
- data/lib/puppet/file_serving/base.rb +10 -10
- data/lib/puppet/forge.rb +3 -3
- data/lib/puppet/forge/errors.rb +3 -3
- data/lib/puppet/functions.rb +1 -3
- data/lib/puppet/functions/alert.rb +1 -1
- data/lib/puppet/functions/all.rb +6 -6
- data/lib/puppet/functions/annotate.rb +10 -10
- data/lib/puppet/functions/any.rb +6 -6
- data/lib/puppet/functions/assert_type.rb +4 -4
- data/lib/puppet/functions/binary_file.rb +14 -2
- data/lib/puppet/functions/break.rb +31 -2
- data/lib/puppet/functions/call.rb +4 -4
- data/lib/puppet/functions/contain.rb +19 -3
- data/lib/puppet/functions/convert_to.rb +6 -5
- data/lib/puppet/functions/crit.rb +1 -1
- data/lib/puppet/functions/debug.rb +1 -1
- data/lib/puppet/functions/defined.rb +11 -9
- data/lib/puppet/functions/dig.rb +26 -2
- data/lib/puppet/functions/each.rb +8 -8
- data/lib/puppet/functions/emerg.rb +1 -1
- data/lib/puppet/functions/empty.rb +79 -0
- data/lib/puppet/functions/err.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +3 -1
- data/lib/puppet/functions/filter.rb +7 -7
- data/lib/puppet/functions/find_file.rb +15 -1
- data/lib/puppet/functions/flatten.rb +64 -0
- data/lib/puppet/functions/hiera.rb +6 -6
- data/lib/puppet/functions/hiera_array.rb +6 -6
- data/lib/puppet/functions/hiera_hash.rb +6 -6
- data/lib/puppet/functions/hiera_include.rb +8 -8
- data/lib/puppet/functions/include.rb +28 -2
- data/lib/puppet/functions/info.rb +1 -1
- data/lib/puppet/functions/inline_epp.rb +2 -2
- data/lib/puppet/functions/join.rb +56 -0
- data/lib/puppet/functions/json_data.rb +2 -2
- data/lib/puppet/functions/keys.rb +25 -0
- data/lib/puppet/functions/length.rb +44 -0
- data/lib/puppet/functions/lest.rb +39 -1
- data/lib/puppet/functions/lookup.rb +2 -1
- data/lib/puppet/functions/map.rb +10 -9
- data/lib/puppet/functions/match.rb +6 -6
- data/lib/puppet/functions/new.rb +995 -2
- data/lib/puppet/functions/next.rb +1 -1
- data/lib/puppet/functions/notice.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -6
- data/lib/puppet/functions/regsubst.rb +9 -3
- data/lib/puppet/functions/require.rb +36 -2
- data/lib/puppet/functions/return.rb +1 -1
- data/lib/puppet/functions/reverse_each.rb +71 -2
- data/lib/puppet/functions/slice.rb +23 -9
- data/lib/puppet/functions/split.rb +12 -10
- data/lib/puppet/functions/step.rb +73 -1
- data/lib/puppet/functions/strftime.rb +176 -2
- data/lib/puppet/functions/then.rb +65 -2
- data/lib/puppet/functions/tree_each.rb +19 -19
- data/lib/puppet/functions/type.rb +42 -1
- data/lib/puppet/functions/unique.rb +13 -13
- data/lib/puppet/functions/unwrap.rb +8 -4
- data/lib/puppet/functions/values.rb +25 -0
- data/lib/puppet/functions/versioncmp.rb +1 -1
- data/lib/puppet/functions/warning.rb +1 -1
- data/lib/puppet/functions/with.rb +6 -4
- data/lib/puppet/functions/yaml_data.rb +3 -1
- data/lib/puppet/indirector/certificate_status/file.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +1 -3
- data/lib/puppet/indirector/facts/rest.rb +21 -0
- data/lib/puppet/indirector/facts/yaml.rb +0 -4
- data/lib/puppet/indirector/rest.rb +2 -2
- data/lib/puppet/module.rb +3 -3
- data/lib/puppet/module/task.rb +2 -3
- data/lib/puppet/module_tool/applications/application.rb +4 -4
- data/lib/puppet/module_tool/applications/builder.rb +2 -2
- data/lib/puppet/module_tool/applications/checksummer.rb +3 -3
- data/lib/puppet/module_tool/applications/unpacker.rb +2 -2
- data/lib/puppet/module_tool/metadata.rb +3 -3
- data/lib/puppet/network/authconfig.rb +1 -1
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +5 -7
- data/lib/puppet/network/http/api/indirected_routes.rb +1 -0
- data/lib/puppet/network/http/api/master/v3/environment.rb +2 -2
- data/lib/puppet/network/http/api/master/v3/environments.rb +2 -2
- data/lib/puppet/network/http/error.rb +3 -3
- data/lib/puppet/network/resolver.rb +1 -2
- data/lib/puppet/parser/compiler.rb +12 -5
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +1 -1
- data/lib/puppet/parser/functions/fqdn_rand.rb +15 -4
- data/lib/puppet/parser/functions/new.rb +31 -46
- data/lib/puppet/parser/parser_factory.rb +1 -1
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +11 -11
- data/lib/puppet/pops/evaluator/closure.rb +1 -1
- data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_support.rb +5 -2
- data/lib/puppet/pops/functions/dispatch.rb +1 -1
- data/lib/puppet/pops/issue_reporter.rb +18 -1
- data/lib/puppet/pops/issues.rb +6 -3
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -2
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -2
- data/lib/puppet/pops/loader/task_instantiator.rb +5 -5
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +4 -1
- data/lib/puppet/pops/loaders.rb +18 -7
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +55 -6
- data/lib/puppet/pops/model/factory.rb +6 -3
- data/lib/puppet/pops/model/model_tree_dumper.rb +4 -0
- data/lib/puppet/pops/model/pn_transformer.rb +400 -0
- data/lib/puppet/pops/parser/egrammar.ra +1 -1
- data/lib/puppet/pops/parser/eparser.rb +1 -1
- data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
- data/lib/puppet/pops/parser/lexer_support.rb +3 -2
- data/lib/puppet/pops/parser/locator.rb +0 -2
- data/lib/puppet/pops/parser/pn_parser.rb +316 -0
- data/lib/puppet/pops/pcore.rb +17 -17
- data/lib/puppet/pops/pn.rb +236 -0
- data/lib/puppet/pops/serialization/json.rb +7 -7
- data/lib/puppet/pops/types/class_loader.rb +6 -3
- data/lib/puppet/pops/types/implementation_registry.rb +28 -35
- data/lib/puppet/pops/types/p_object_type.rb +3 -3
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +24 -1
- data/lib/puppet/pops/types/ruby_generator.rb +3 -4
- data/lib/puppet/pops/types/type_calculator.rb +1 -1
- data/lib/puppet/pops/types/type_factory.rb +0 -4
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/type_parser.rb +14 -7
- data/lib/puppet/pops/types/types.rb +1 -1
- data/lib/puppet/pops/utils.rb +2 -2
- data/lib/puppet/pops/validation/checker4_0.rb +6 -2
- data/lib/puppet/provider/group/groupadd.rb +3 -1
- data/lib/puppet/provider/group/windows_adsi.rb +4 -7
- data/lib/puppet/provider/nameservice.rb +3 -3
- data/lib/puppet/provider/package/pacman.rb +4 -4
- data/lib/puppet/provider/package/pip.rb +3 -3
- data/lib/puppet/provider/package/pkgdmg.rb +3 -3
- data/lib/puppet/provider/package/pkgutil.rb +2 -2
- data/lib/puppet/provider/package/portage.rb +9 -9
- data/lib/puppet/provider/package/zypper.rb +2 -2
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +3 -2
- data/lib/puppet/provider/service/systemd.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +6 -2
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider/yumrepo/inifile.rb +20 -9
- data/lib/puppet/provider/zfs/zfs.rb +1 -1
- data/lib/puppet/reference/configuration.rb +2 -0
- data/lib/puppet/reference/type.rb +11 -11
- data/lib/puppet/resource.rb +1 -1
- data/lib/puppet/resource/capability_finder.rb +5 -5
- data/lib/puppet/resource/catalog.rb +6 -3
- data/lib/puppet/resource/status.rb +9 -2
- data/lib/puppet/resource/type.rb +1 -1
- data/lib/puppet/settings.rb +31 -19
- data/lib/puppet/settings/base_setting.rb +5 -0
- data/lib/puppet/settings/config_file.rb +1 -1
- data/lib/puppet/settings/ttl_setting.rb +5 -0
- data/lib/puppet/ssl/certificate_factory.rb +2 -2
- data/lib/puppet/ssl/certificate_request.rb +0 -2
- data/lib/puppet/syntax_checkers/json.rb +1 -1
- data/lib/puppet/transaction/additional_resource_generator.rb +2 -2
- data/lib/puppet/transaction/event.rb +1 -1
- data/lib/puppet/transaction/report.rb +18 -12
- data/lib/puppet/type.rb +9 -13
- data/lib/puppet/type/augeas.rb +2 -2
- data/lib/puppet/type/cron.rb +11 -6
- data/lib/puppet/type/exec.rb +1 -1
- data/lib/puppet/type/file.rb +4 -5
- data/lib/puppet/type/host.rb +1 -1
- data/lib/puppet/type/k5login.rb +30 -54
- data/lib/puppet/type/package.rb +3 -3
- data/lib/puppet/type/schedule.rb +12 -12
- data/lib/puppet/type/scheduled_task.rb +2 -2
- data/lib/puppet/type/ssh_authorized_key.rb +5 -5
- data/lib/puppet/type/sshkey.rb +2 -2
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/type/yumrepo.rb +26 -5
- data/lib/puppet/util.rb +0 -4
- data/lib/puppet/util/backups.rb +1 -1
- data/lib/puppet/util/inifile.rb +3 -4
- data/lib/puppet/util/json.rb +68 -0
- data/lib/puppet/util/json_lockfile.rb +3 -3
- data/lib/puppet/util/log.rb +2 -5
- data/lib/puppet/util/log/destinations.rb +2 -2
- data/lib/puppet/util/network_device/cisco/facts.rb +1 -1
- data/lib/puppet/util/plist.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -8
- data/lib/puppet/util/tagging.rb +1 -1
- data/lib/puppet/util/warnings.rb +0 -2
- data/lib/puppet/util/windows/adsi.rb +15 -18
- data/lib/puppet/util/windows/com.rb +2 -1
- data/lib/puppet/util/windows/file.rb +2 -2
- data/lib/puppet/util/windows/principal.rb +7 -6
- data/lib/puppet/util/windows/sid.rb +60 -7
- data/lib/puppet/util/windows/taskscheduler.rb +0 -9
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet_pal.rb +53 -48
- data/locales/ja/puppet.po +1357 -912
- data/locales/puppet.pot +549 -466
- data/man/man5/puppet.conf.5 +103 -20
- data/man/man8/puppet-agent.8 +6 -2
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-ca.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-cert.8 +1 -1
- data/man/man8/puppet-certificate.8 +1 -1
- data/man/man8/puppet-certificate_request.8 +1 -1
- data/man/man8/puppet-certificate_revocation_list.8 +1 -1
- data/man/man8/puppet-config.8 +35 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +33 -11
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +34 -12
- data/man/man8/puppet-facts.8 +50 -1
- data/man/man8/puppet-filebucket.8 +38 -11
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +10 -4
- data/man/man8/puppet-master.8 +1 -1
- data/man/man8/puppet-module.8 +15 -6
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +31 -8
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +67 -0
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +3 -3
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +1 -1
- data/spec/integration/application/apply_spec.rb +15 -15
- data/spec/integration/application/lookup_spec.rb +21 -0
- data/spec/integration/faces/config_spec.rb +16 -4
- data/spec/integration/network/http/api/indirected_routes_spec.rb +5 -5
- data/spec/integration/parser/catalog_spec.rb +1 -1
- data/spec/integration/parser/collection_spec.rb +2 -2
- data/spec/integration/parser/compiler_spec.rb +17 -18
- data/spec/integration/parser/pcore_resource_spec.rb +2 -2
- data/spec/integration/parser/scope_spec.rb +2 -2
- data/spec/integration/ssl/certificate_authority_spec.rb +7 -7
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
- data/spec/integration/ssl/key_spec.rb +1 -1
- data/spec/integration/transaction/report_spec.rb +3 -3
- data/spec/integration/transaction_spec.rb +0 -1
- data/spec/integration/type/file_spec.rb +10 -11
- data/spec/integration/type_spec.rb +1 -2
- data/spec/integration/util/windows/adsi_spec.rb +86 -1
- data/spec/integration/util/windows/principal_spec.rb +11 -2
- data/spec/integration/util/windows/security_spec.rb +2 -2
- data/spec/lib/matchers/json.rb +4 -4
- data/spec/lib/puppet_spec/language.rb +34 -35
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +2 -2
- data/spec/shared_behaviours/file_server_terminus.rb +0 -2
- data/spec/shared_behaviours/things_that_declare_options.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- data/spec/unit/application/cert_spec.rb +21 -9
- data/spec/unit/application/device_spec.rb +96 -2
- data/spec/unit/application/face_base_spec.rb +2 -2
- data/spec/unit/application/lookup_spec.rb +0 -1
- data/spec/unit/configurer_spec.rb +14 -0
- data/spec/unit/confine_spec.rb +16 -0
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +4 -4
- data/spec/unit/datatypes_spec.rb +49 -0
- data/spec/unit/environments_spec.rb +7 -0
- data/spec/unit/face/config_spec.rb +116 -12
- data/spec/unit/face/epp_face_spec.rb +53 -2
- data/spec/unit/face/facts_spec.rb +53 -0
- data/spec/unit/face/help_spec.rb +62 -69
- data/spec/unit/face/man_spec.rb +26 -0
- data/spec/unit/face/module/list_spec.rb +0 -1
- data/spec/unit/face/parser_spec.rb +78 -0
- data/spec/unit/file_bucket/dipper_spec.rb +0 -4
- data/spec/unit/file_serving/content_spec.rb +0 -1
- data/spec/unit/file_serving/fileset_spec.rb +0 -1
- data/spec/unit/file_serving/metadata_spec.rb +0 -1
- data/spec/unit/file_serving/terminus_selector_spec.rb +0 -2
- data/spec/unit/forge_spec.rb +1 -2
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +77 -0
- data/spec/unit/functions/epp_spec.rb +1 -1
- data/spec/unit/functions/flatten_spec.rb +31 -0
- data/spec/unit/functions/include_spec.rb +2 -2
- data/spec/unit/functions/inline_epp_spec.rb +1 -1
- data/spec/unit/functions/join_spec.rb +33 -0
- data/spec/unit/functions/keys_spec.rb +31 -0
- data/spec/unit/functions/length_spec.rb +50 -0
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -1
- data/spec/unit/functions/lookup_spec.rb +52 -0
- data/spec/unit/functions/shared.rb +1 -1
- data/spec/unit/functions/values_spec.rb +30 -0
- data/spec/unit/functions/versioncmp_spec.rb +1 -1
- data/spec/unit/functions4_spec.rb +30 -32
- data/spec/unit/graph/title_hash_prioritizer_spec.rb +2 -1
- data/spec/unit/indirector/catalog/compiler_spec.rb +0 -15
- data/spec/unit/indirector/facts/rest_spec.rb +45 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +6 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +2 -2
- data/spec/unit/indirector/indirection_spec.rb +1 -1
- data/spec/unit/indirector/node/ldap_spec.rb +2 -2
- data/spec/unit/indirector/request_spec.rb +0 -2
- data/spec/unit/indirector/rest_spec.rb +2 -2
- data/spec/unit/indirector_spec.rb +0 -1
- data/spec/unit/info_service_spec.rb +1 -1
- data/spec/unit/interface/action_manager_spec.rb +1 -1
- data/spec/unit/interface/action_spec.rb +1 -1
- data/spec/unit/module_spec.rb +0 -5
- data/spec/unit/module_tool/applications/builder_spec.rb +1 -1
- data/spec/unit/module_tool/applications/unpacker_spec.rb +4 -4
- data/spec/unit/network/formats_spec.rb +5 -13
- data/spec/unit/network/http/api/indirected_routes_spec.rb +6 -2
- data/spec/unit/network/http/connection_spec.rb +1 -1
- data/spec/unit/network/http/handler_spec.rb +3 -2
- data/spec/unit/node/environment_spec.rb +1 -1
- data/spec/unit/node_spec.rb +3 -3
- data/spec/unit/parser/compiler_spec.rb +9 -2
- data/spec/unit/parser/environment_compiler_spec.rb +8 -8
- data/spec/unit/parser/functions/create_resources_spec.rb +1 -1
- data/spec/unit/parser/functions/fail_spec.rb +1 -1
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +24 -0
- data/spec/unit/parser/functions/realize_spec.rb +1 -1
- data/spec/unit/parser/resource_spec.rb +0 -1
- data/spec/unit/parser/scope_spec.rb +3 -3
- data/spec/unit/parser/type_loader_spec.rb +1 -1
- data/spec/unit/pops/adaptable_spec.rb +0 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -3
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -4
- data/spec/unit/pops/factory_rspec_helper.rb +1 -1
- data/spec/unit/pops/factory_spec.rb +5 -5
- data/spec/unit/pops/issues_spec.rb +23 -8
- data/spec/unit/pops/loaders/loaders_spec.rb +24 -2
- data/spec/unit/pops/loaders/static_loader_spec.rb +1 -1
- data/spec/unit/pops/lookup/interpolation_spec.rb +5 -0
- data/spec/unit/pops/lookup/lookup_spec.rb +56 -0
- data/spec/unit/pops/model/pn_transformer_spec.rb +53 -0
- data/spec/unit/pops/parser/lexer2_spec.rb +14 -5
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +9 -9
- data/spec/unit/pops/parser/parse_calls_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_functions_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +3 -3
- data/spec/unit/pops/parser/parse_lambda_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_resource_spec.rb +35 -35
- data/spec/unit/pops/parser/pn_parser_spec.rb +101 -0
- data/spec/unit/pops/pn_spec.rb +148 -0
- data/spec/unit/pops/types/iterable_spec.rb +1 -1
- data/spec/unit/pops/types/p_object_type_spec.rb +5 -5
- data/spec/unit/pops/types/p_timespan_type_spec.rb +11 -4
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +9 -2
- data/spec/unit/pops/types/p_type_set_type_spec.rb +106 -2
- data/spec/unit/pops/types/ruby_generator_spec.rb +3 -8
- data/spec/unit/pops/types/string_converter_spec.rb +3 -3
- data/spec/unit/pops/types/type_calculator_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +3 -1
- data/spec/unit/property_spec.rb +2 -2
- data/spec/unit/provider/aixobject_spec.rb +1 -1
- data/spec/unit/provider/cron/crontab_spec.rb +3 -3
- data/spec/unit/provider/exec/posix_spec.rb +6 -6
- data/spec/unit/provider/group/groupadd_spec.rb +4 -4
- data/spec/unit/provider/group/windows_adsi_spec.rb +79 -22
- data/spec/unit/provider/ldap_spec.rb +0 -1
- data/spec/unit/provider/nameservice_spec.rb +5 -5
- data/spec/unit/provider/package/rpm_spec.rb +3 -4
- data/spec/unit/provider/package/yum_spec.rb +6 -2
- data/spec/unit/provider/parsedfile_spec.rb +1 -1
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/init_spec.rb +2 -2
- data/spec/unit/provider/service/openrc_spec.rb +2 -2
- data/spec/unit/provider/service/redhat_spec.rb +2 -2
- data/spec/unit/provider/service/smf_spec.rb +2 -0
- data/spec/unit/provider/service/systemd_spec.rb +3 -3
- data/spec/unit/provider/service/upstart_spec.rb +7 -7
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -4
- data/spec/unit/provider/sshkey/parsed_spec.rb +0 -2
- data/spec/unit/provider/user/useradd_spec.rb +15 -9
- data/spec/unit/provider/user/windows_adsi_spec.rb +4 -4
- data/spec/unit/provider/yumrepo/inifile_spec.rb +76 -0
- data/spec/unit/puppet_pal_2pec.rb +4 -5
- data/spec/unit/resource/catalog_spec.rb +8 -3
- data/spec/unit/resource/status_spec.rb +15 -4
- data/spec/unit/resource/type_spec.rb +2 -3
- data/spec/unit/settings_spec.rb +9 -4
- data/spec/unit/ssl/certificate_authority_spec.rb +1 -9
- data/spec/unit/ssl/certificate_request_spec.rb +1 -2
- data/spec/unit/transaction/report_spec.rb +41 -0
- data/spec/unit/transaction_spec.rb +1 -1
- data/spec/unit/type/exec_spec.rb +7 -9
- data/spec/unit/type/file/selinux_spec.rb +0 -1
- data/spec/unit/type/file_spec.rb +4 -3
- data/spec/unit/type/k5login_spec.rb +79 -10
- data/spec/unit/type/mount_spec.rb +1 -1
- data/spec/unit/type/nagios_spec.rb +6 -6
- data/spec/unit/type/user_spec.rb +1 -1
- data/spec/unit/type/yumrepo_spec.rb +18 -0
- data/spec/unit/type/zfs_spec.rb +1 -1
- data/spec/unit/type_spec.rb +14 -15
- data/spec/unit/util/docs_spec.rb +1 -1
- data/spec/unit/util/execution_spec.rb +0 -1
- data/spec/unit/util/inifile_spec.rb +35 -4
- data/spec/unit/util/log/destinations_spec.rb +2 -2
- data/spec/unit/util/log_spec.rb +6 -5
- data/spec/unit/util/network_device/cisco/device_spec.rb +2 -2
- data/spec/unit/util/plist_spec.rb +3 -3
- data/spec/unit/util/selinux_spec.rb +2 -2
- data/spec/unit/util/tagging_spec.rb +1 -7
- data/spec/unit/util/windows/adsi_spec.rb +31 -27
- data/spec/unit/util/windows/sid_spec.rb +86 -15
- data/spec/unit/util_spec.rb +2 -2
- data/spec/watchr.rb +0 -1
- data/tasks/benchmark.rake +37 -0
- data/tasks/manpages.rake +1 -1
- metadata +73 -11
- checksums.yaml +0 -7
data/man/man8/puppet-node.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-NODE" "8" "
|
4
|
+
.TH "PUPPET\-NODE" "8" "March 2018" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-node\fR \- View and manage node definitions\.
|
data/man/man8/puppet-parser.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-PARSER" "8" "
|
4
|
+
.TH "PUPPET\-PARSER" "8" "March 2018" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-parser\fR \- Interact directly with the parser\.
|
@@ -29,12 +29,11 @@ Whether to log debug information\.
|
|
29
29
|
.
|
30
30
|
.SH "ACTIONS"
|
31
31
|
.
|
32
|
-
.
|
33
|
-
\fBdump\fR \- Outputs a dump of the internal parse tree for debugging
|
34
|
-
\fBSYNOPSIS\fR
|
32
|
+
.IP "\(bu" 4
|
33
|
+
\fBdump\fR \- Outputs a dump of the internal parse tree for debugging: \fBSYNOPSIS\fR
|
35
34
|
.
|
36
35
|
.IP
|
37
|
-
puppet parser dump [\-\-e \fIsource\fR] [\-\-[no\-]validate] \-e \fIsource\fR| [\
|
36
|
+
puppet parser dump [\-\-e \fIsource\fR] [\-\-[no\-]validate] [\-\-format \fIold, pn, or json\fR] [\-\-pretty] [\-\-format \fIold|pn|json\fR] [\-\-pretty] { \-e \fIsource\fR | [\fItemplates\fR \.\.\.] }
|
38
37
|
.
|
39
38
|
.IP
|
40
39
|
\fBDESCRIPTION\fR
|
@@ -43,6 +42,23 @@ puppet parser dump [\-\-e \fIsource\fR] [\-\-[no\-]validate] \-e \fIsource\fR| [
|
|
43
42
|
This action parses and validates the Puppet DSL syntax without compiling a catalog or syncing any resources\.
|
44
43
|
.
|
45
44
|
.IP
|
45
|
+
The output format can be controlled using the \-\-format \fIold|pn|json\fR where:
|
46
|
+
.
|
47
|
+
.IP "\(bu" 4
|
48
|
+
\'old\' is the default, but now deprecated format which is not API\.
|
49
|
+
.
|
50
|
+
.IP "\(bu" 4
|
51
|
+
\'pn\' is the Puppet Extended S\-Expression Notation\.
|
52
|
+
.
|
53
|
+
.IP "\(bu" 4
|
54
|
+
\'json\' outputs the same graph as \'pn\' but with JSON syntax\.
|
55
|
+
.
|
56
|
+
.IP "" 0
|
57
|
+
.
|
58
|
+
.IP
|
59
|
+
The output will be "pretty printed" when the option \-\-pretty is given together with \-\-format \'pn\' or \'json\'\. This option has no effect on the \'old\' format\.
|
60
|
+
.
|
61
|
+
.IP
|
46
62
|
The command accepts one or more manifests (\.pp) files, or an \-e followed by the puppet source text\. If no arguments are given, the stdin is read (unless it is attached to a terminal)
|
47
63
|
.
|
48
64
|
.IP
|
@@ -52,6 +68,12 @@ The output format of the dumped tree is intended for debugging purposes and is n
|
|
52
68
|
\fBOPTIONS\fR \fI\-\-e <source\fR> \- dump one source expression given on the command line\.
|
53
69
|
.
|
54
70
|
.IP
|
71
|
+
\fI\-\-format <old, pn, or json\fR> \- Get result in \'old\' (deprecated format), \'pn\' (new format), or \'json\' (new format in JSON)\.
|
72
|
+
.
|
73
|
+
.IP
|
74
|
+
\fI\-\-pretty\fR \- Pretty print output\. Only applicable together with \-\-format pn or json
|
75
|
+
.
|
76
|
+
.IP
|
55
77
|
\fI\-\-[no\-]validate\fR \- Whether or not to validate the parsed result, if no\-validate only syntax errors are reported
|
56
78
|
.
|
57
79
|
.IP
|
@@ -60,9 +82,8 @@ The output format of the dumped tree is intended for debugging purposes and is n
|
|
60
82
|
.IP
|
61
83
|
A dump of the resulting AST model unless there are syntax or validation errors\.
|
62
84
|
.
|
63
|
-
.
|
64
|
-
\fBvalidate\fR \- Validate the syntax of one or more Puppet manifests
|
65
|
-
\fBSYNOPSIS\fR
|
85
|
+
.IP "\(bu" 4
|
86
|
+
\fBvalidate\fR \- Validate the syntax of one or more Puppet manifests\.: \fBSYNOPSIS\fR
|
66
87
|
.
|
67
88
|
.IP
|
68
89
|
puppet parser validate [\fImanifest\fR] [\fImanifest\fR \.\.\.]
|
@@ -82,6 +103,8 @@ When validating multiple issues per file are reported up to the settings of max_
|
|
82
103
|
.IP
|
83
104
|
Nothing, or the first syntax error encountered\.
|
84
105
|
.
|
106
|
+
.IP "" 0
|
107
|
+
.
|
85
108
|
.SH "EXAMPLES"
|
86
109
|
\fBvalidate\fR
|
87
110
|
.
|
data/man/man8/puppet-plugin.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-PLUGIN" "8" "
|
4
|
+
.TH "PUPPET\-PLUGIN" "8" "March 2018" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-plugin\fR \- Interact with the Puppet plugin system\.
|
data/man/man8/puppet-report.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-REPORT" "8" "
|
4
|
+
.TH "PUPPET\-REPORT" "8" "March 2018" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-report\fR \- Create, display, and submit reports\.
|
data/man/man8/puppet-resource.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-RESOURCE" "8" "
|
4
|
+
.TH "PUPPET\-RESOURCE" "8" "March 2018" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-resource\fR \- The resource abstraction layer shell
|
@@ -0,0 +1,67 @@
|
|
1
|
+
.\" generated with Ronn/v0.7.3
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
|
+
.
|
4
|
+
.TH "PUPPET\-SCRIPT" "8" "March 2018" "Puppet, Inc." "Puppet manual"
|
5
|
+
.
|
6
|
+
.SH "NAME"
|
7
|
+
\fBpuppet\-script\fR \- Run a puppet manifests as a script without compiling a catalog
|
8
|
+
.
|
9
|
+
.SH "SYNOPSIS"
|
10
|
+
Runs a puppet language script without compiling a catalog\.
|
11
|
+
.
|
12
|
+
.SH "USAGE"
|
13
|
+
puppet script [\-h|\-\-help] [\-V|\-\-version] [\-d|\-\-debug] [\-v|\-\-verbose] [\-e|\-\-execute] [\-l|\-\-logdest syslog|eventlog|\fIFILE\fR|console] [\-\-noop] \fIfile\fR
|
14
|
+
.
|
15
|
+
.SH "DESCRIPTION"
|
16
|
+
This is a standalone puppet script runner tool; use it to run puppet code without compiling a catalog\.
|
17
|
+
.
|
18
|
+
.P
|
19
|
+
When provided with a modulepath, via command line or config file, puppet script can load functions, types, tasks and plans from modules\.
|
20
|
+
.
|
21
|
+
.SH "OPTIONS"
|
22
|
+
Note that any setting that\'s valid in the configuration file is also a valid long argument\. For example, \'environment\' is a valid setting, so you can specify \'\-\-environment mytest\' as an argument\.
|
23
|
+
.
|
24
|
+
.P
|
25
|
+
See the configuration file documentation at https://docs\.puppetlabs\.com/puppet/latest/reference/configuration\.html for the full list of acceptable parameters\. A commented list of all configuration options can also be generated by running puppet with \'\-\-genconfig\'\.
|
26
|
+
.
|
27
|
+
.TP
|
28
|
+
\-\-debug
|
29
|
+
Enable full debugging\.
|
30
|
+
.
|
31
|
+
.TP
|
32
|
+
\-\-help
|
33
|
+
Print this help message
|
34
|
+
.
|
35
|
+
.TP
|
36
|
+
\-\-logdest
|
37
|
+
Where to send log messages\. Choose between \'syslog\' (the POSIX syslog service), \'eventlog\' (the Windows Event Log), \'console\', or the path to a log file\. Defaults to \'console\'\.
|
38
|
+
.
|
39
|
+
.IP
|
40
|
+
A path ending with \'\.json\' will receive structured output in JSON format\. The log file will not have an ending \']\' automatically written to it due to the appending nature of logging\. It must be appended manually to make the content valid JSON\.
|
41
|
+
.
|
42
|
+
.TP
|
43
|
+
\-\-noop
|
44
|
+
Use \'noop\' mode where Puppet runs in a no\-op or dry\-run mode\. This is useful for seeing what changes Puppet will make without actually executing the changes\. Applies to tasks only\.
|
45
|
+
.
|
46
|
+
.TP
|
47
|
+
\-\-execute
|
48
|
+
Execute a specific piece of Puppet code
|
49
|
+
.
|
50
|
+
.TP
|
51
|
+
\-\-verbose
|
52
|
+
Print extra information\.
|
53
|
+
.
|
54
|
+
.SH "EXAMPLE"
|
55
|
+
.
|
56
|
+
.nf
|
57
|
+
|
58
|
+
$ puppet script \-l /tmp/manifest\.log manifest\.pp
|
59
|
+
$ puppet script \-\-modulepath=/root/dev/modules \-e \'notice("hello world")\'
|
60
|
+
.
|
61
|
+
.fi
|
62
|
+
.
|
63
|
+
.SH "AUTHOR"
|
64
|
+
Henrik Lindberg
|
65
|
+
.
|
66
|
+
.SH "COPYRIGHT"
|
67
|
+
Copyright (c) 2017 Puppet Inc\., LLC Licensed under the Apache 2\.0 License
|
data/man/man8/puppet-status.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-STATUS" "8" "
|
4
|
+
.TH "PUPPET\-STATUS" "8" "March 2018" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-status\fR \- View puppet server status\.
|
data/man/man8/puppet.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET" "8" "
|
4
|
+
.TH "PUPPET" "8" "March 2018" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\fR
|
@@ -13,7 +13,7 @@ Usage: puppet \fIsubcommand\fR [options] \fIaction\fR [options]
|
|
13
13
|
Available subcommands:
|
14
14
|
.
|
15
15
|
.P
|
16
|
-
agent The puppet agent daemon apply Apply Puppet manifests locally ca Local Puppet Certificate Authority management\. (Deprecated) catalog Compile, save, view, and convert catalogs\. cert Manage certificates and requests certificate Provide access to the CA for certificate management\. certificate_request Manage certificate requests\. (Deprecated) certificate_revocation_list Manage the list of revoked certificates\. (Deprecated) config Interact with Puppet\'s settings\. describe Display help about resource types device Manage remote network devices doc Generate Puppet references epp Interact directly with the EPP template parser/renderer\. facts Retrieve and store facts\. filebucket Store and retrieve files in a filebucket generate Generates Puppet code from Ruby definitions\. help Display Puppet help\. key Create, save, and remove certificate keys\. (Deprecated) lookup Interactive Hiera lookup man Display Puppet manual pages\. master The puppet master daemon module Creates, installs and searches for modules on the Puppet Forge\. node View and manage node definitions\. parser Interact directly with the parser\. plugin Interact with the Puppet plugin system\. report Create, display, and submit reports\. resource The resource abstraction layer shell status View puppet server status\. (Deprecated)
|
16
|
+
agent The puppet agent daemon apply Apply Puppet manifests locally ca Local Puppet Certificate Authority management\. (Deprecated) catalog Compile, save, view, and convert catalogs\. cert Manage certificates and requests certificate Provide access to the CA for certificate management\. certificate_request Manage certificate requests\. (Deprecated) certificate_revocation_list Manage the list of revoked certificates\. (Deprecated) config Interact with Puppet\'s settings\. describe Display help about resource types device Manage remote network devices doc Generate Puppet references epp Interact directly with the EPP template parser/renderer\. facts Retrieve and store facts\. filebucket Store and retrieve files in a filebucket generate Generates Puppet code from Ruby definitions\. help Display Puppet help\. key Create, save, and remove certificate keys\. (Deprecated) lookup Interactive Hiera lookup man Display Puppet manual pages\. (Deprecated) master The puppet master daemon module Creates, installs and searches for modules on the Puppet Forge\. node View and manage node definitions\. parser Interact directly with the parser\. plugin Interact with the Puppet plugin system\. report Create, display, and submit reports\. resource The resource abstraction layer shell script Run a puppet manifests as a script without compiling a catalog status View puppet server status\. (Deprecated)
|
17
17
|
.
|
18
18
|
.P
|
19
|
-
See \'puppet help \fIsubcommand\fR \fIaction\fR\' for help on a specific subcommand action\. See \'puppet help \fIsubcommand\fR\' for help on a specific subcommand\. Puppet v5\.
|
19
|
+
See \'puppet help \fIsubcommand\fR \fIaction\fR\' for help on a specific subcommand action\. See \'puppet help \fIsubcommand\fR\' for help on a specific subcommand\. Puppet v5\.5\.0
|
@@ -11,7 +11,7 @@ module PuppetX
|
|
11
11
|
factory = ::Puppet::Pops::Binder::BindingsFactory
|
12
12
|
bindings = factory.named_bindings("echo")
|
13
13
|
bindings.bind.name(uri.path.gsub(/\//, '::')).to("echo: #{uri.path.gsub(/\//, ' ').strip!}")
|
14
|
-
|
14
|
+
factory.contributed_bindings("echo", bindings.model) ### , nil)
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -470,13 +470,13 @@ class amod::bad_type {
|
|
470
470
|
catalog = compile_to_catalog(execute, node)
|
471
471
|
apply = Puppet::Application[:apply]
|
472
472
|
apply.options[:catalog] = file_containing('manifest', catalog.to_json)
|
473
|
-
apply.expects(:apply_catalog).with do |
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
473
|
+
apply.expects(:apply_catalog).with do |cat|
|
474
|
+
cat.resource(:notify, 'rx')['message'].is_a?(String)
|
475
|
+
cat.resource(:notify, 'bin')['message'].is_a?(String)
|
476
|
+
cat.resource(:notify, 'ver')['message'].is_a?(String)
|
477
|
+
cat.resource(:notify, 'vrange')['message'].is_a?(String)
|
478
|
+
cat.resource(:notify, 'tspan')['message'].is_a?(String)
|
479
|
+
cat.resource(:notify, 'tstamp')['message'].is_a?(String)
|
480
480
|
end
|
481
481
|
apply.run
|
482
482
|
end
|
@@ -493,7 +493,7 @@ class amod::bad_type {
|
|
493
493
|
|
494
494
|
it 'will log a warning that a value of unknown type is converted into a string' do
|
495
495
|
logs = []
|
496
|
-
|
496
|
+
Puppet::Util::Log.with_destination(Puppet::Test::LogCollector.new(logs)) do
|
497
497
|
compile_to_catalog('include amod::bad_type', node).to_json
|
498
498
|
end
|
499
499
|
logs = logs.select { |log| log.level == :warning }.map { |log| log.message }
|
@@ -509,13 +509,13 @@ class amod::bad_type {
|
|
509
509
|
catalog = compile_to_catalog(execute, node)
|
510
510
|
apply = Puppet::Application[:apply]
|
511
511
|
apply.options[:catalog] = file_containing('manifest', catalog.to_json)
|
512
|
-
apply.expects(:apply_catalog).with do |
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
512
|
+
apply.expects(:apply_catalog).with do |cat|
|
513
|
+
cat.resource(:notify, 'rx')['message'].is_a?(Regexp)
|
514
|
+
cat.resource(:notify, 'bin')['message'].is_a?(Puppet::Pops::Types::PBinaryType::Binary)
|
515
|
+
cat.resource(:notify, 'ver')['message'].is_a?(SemanticPuppet::Version)
|
516
|
+
cat.resource(:notify, 'vrange')['message'].is_a?(SemanticPuppet::VersionRange)
|
517
|
+
cat.resource(:notify, 'tspan')['message'].is_a?(Puppet::Pops::Time::Timespan)
|
518
|
+
cat.resource(:notify, 'tstamp')['message'].is_a?(Puppet::Pops::Time::Timestamp)
|
519
519
|
end
|
520
520
|
apply.run
|
521
521
|
end
|
@@ -90,6 +90,27 @@ describe 'lookup' do
|
|
90
90
|
expect(lookup('a')).to eql('value a')
|
91
91
|
end
|
92
92
|
|
93
|
+
context 'uses node_terminus' do
|
94
|
+
require 'puppet/indirector/node/exec'
|
95
|
+
require 'puppet/indirector/node/plain'
|
96
|
+
|
97
|
+
let(:node) { Puppet::Node.new('testnode', :environment => env) }
|
98
|
+
|
99
|
+
it ':plain without --compile' do
|
100
|
+
Puppet.settings[:node_terminus] = 'exec'
|
101
|
+
Puppet::Node::Plain.any_instance.expects(:find).returns(node)
|
102
|
+
Puppet::Node::Exec.any_instance.expects(:find).never
|
103
|
+
expect(lookup('a')).to eql('value a')
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'configured in Puppet settings with --compile' do
|
107
|
+
Puppet.settings[:node_terminus] = 'exec'
|
108
|
+
Puppet::Node::Plain.any_instance.expects(:find).never
|
109
|
+
Puppet::Node::Exec.any_instance.expects(:find).returns(node)
|
110
|
+
expect(lookup('a', :compile => true)).to eql('value a')
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
93
114
|
context 'configured with the wrong environment' do
|
94
115
|
let(:env) { Puppet::Node::Environment.create(env_name.to_sym, [File.join(populated_env_dir, env_name, 'modules')]) }
|
95
116
|
it 'does not find data in non-existing environment' do
|
@@ -57,11 +57,21 @@ rando_key=foobar
|
|
57
57
|
end
|
58
58
|
|
59
59
|
context 'when getting / setting UTF8 values' do
|
60
|
+
|
61
|
+
let(:config) { described_class }
|
62
|
+
|
63
|
+
def render(action, result)
|
64
|
+
config.get_action(action).when_rendering(:console).call(result)
|
65
|
+
end
|
66
|
+
|
67
|
+
before :each do
|
68
|
+
subject.stubs(:report_section_and_environment)
|
69
|
+
end
|
70
|
+
|
60
71
|
# key must be a defined setting
|
61
72
|
['rando_key', MIXED_UTF8].each do |key|
|
62
73
|
it "can change '#{key}' keyed ASCII value to a UTF-8 value and read it back" do
|
63
|
-
|
64
|
-
value = "value#{MIXED_UTF8.reverse}value"
|
74
|
+
value = "value#{key.reverse}value"
|
65
75
|
|
66
76
|
# needed for the subject.set to write to correct file
|
67
77
|
Puppet.settings.stubs(:which_configuration_file).returns(tmp_config)
|
@@ -72,8 +82,10 @@ rando_key=foobar
|
|
72
82
|
# instead of the default Puppet.settings (implementation detail)
|
73
83
|
Puppet.stubs(:settings).returns(test_settings)
|
74
84
|
|
75
|
-
|
76
|
-
expect
|
85
|
+
result = subject.print()
|
86
|
+
expect(render(:print, result)).to match(/^#{key} = #{value}$/)
|
87
|
+
result = subject.print(key, :section => 'main')
|
88
|
+
expect(render(:print, result)).to eq("#{value}\n")
|
77
89
|
end
|
78
90
|
end
|
79
91
|
end
|
@@ -7,7 +7,7 @@ require 'puppet/network/http/rack/rest'
|
|
7
7
|
require 'puppet/indirector_proxy'
|
8
8
|
require 'puppet_spec/files'
|
9
9
|
require 'puppet_spec/network'
|
10
|
-
require 'json'
|
10
|
+
require 'puppet/util/json'
|
11
11
|
|
12
12
|
describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
13
13
|
include PuppetSpec::Files
|
@@ -33,7 +33,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
33
33
|
{:accept_header => 'unknown, text/pson'},
|
34
34
|
{:environment => 'production', :checksum_type => checksum_type})
|
35
35
|
handler.call(request, response)
|
36
|
-
resp =
|
36
|
+
resp = Puppet::Util::Json.load(response.body)
|
37
37
|
|
38
38
|
expect(resp['checksum']['type']).to eq(checksum_type)
|
39
39
|
expect(checksum_valid(checksum_type, checksum, resp['checksum']['value'])).to be_truthy
|
@@ -44,7 +44,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
44
44
|
{:accept_header => 'unknown, text/pson'},
|
45
45
|
{:environment => 'production', :checksum_type => checksum_type, :recurse => 'yes'})
|
46
46
|
handler.call(request, response)
|
47
|
-
resp =
|
47
|
+
resp = Puppet::Util::Json.load(response.body)
|
48
48
|
|
49
49
|
expect(resp.length).to eq(2)
|
50
50
|
file = resp.find {|x| x['relative_path'] == 'file.rb'}
|
@@ -67,7 +67,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
67
67
|
handler.process(request, response)
|
68
68
|
|
69
69
|
expect(response.header["Content-Type"]).to match(/json/)
|
70
|
-
resp =
|
70
|
+
resp = Puppet::Util::Json.load(response.body.first)
|
71
71
|
expect(resp["message"]).to match(/The indirection name must be purely alphanumeric/)
|
72
72
|
expect(resp["issue_kind"]).to be_a_kind_of(String)
|
73
73
|
end
|
@@ -79,7 +79,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
79
79
|
handler.process(request, response)
|
80
80
|
|
81
81
|
expect(response.header["Content-Type"]).to match(/json/)
|
82
|
-
resp =
|
82
|
+
resp = Puppet::Util::Json.load(response.body.first)
|
83
83
|
expect(resp["message"]).to match(/Could not find indirection/)
|
84
84
|
expect(resp["issue_kind"]).to be_a_kind_of(String)
|
85
85
|
end
|
@@ -90,7 +90,7 @@ describe "A catalog" do
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def master_catalog_for(manifest)
|
93
|
-
|
93
|
+
Puppet::Resource::Catalog::Compiler.new.filter(compile_to_catalog(manifest, node))
|
94
94
|
end
|
95
95
|
|
96
96
|
def master_and_agent_catalogs_for(manifest)
|
@@ -180,7 +180,7 @@ describe 'collectors' do
|
|
180
180
|
it "does not collect classes" do
|
181
181
|
node = Puppet::Node.new('the node')
|
182
182
|
expect do
|
183
|
-
|
183
|
+
compile_to_catalog(<<-MANIFEST, node)
|
184
184
|
class theclass {
|
185
185
|
@notify { "testing": message => "good message" }
|
186
186
|
}
|
@@ -192,7 +192,7 @@ describe 'collectors' do
|
|
192
192
|
it "does not collect resources that don't exist" do
|
193
193
|
node = Puppet::Node.new('the node')
|
194
194
|
expect do
|
195
|
-
|
195
|
+
compile_to_catalog(<<-MANIFEST, node)
|
196
196
|
class theclass {
|
197
197
|
@notify { "testing": message => "good message" }
|
198
198
|
}
|
@@ -259,7 +259,7 @@ describe Puppet::Parser::Compiler do
|
|
259
259
|
it "should not create duplicate resources when a class is referenced both directly and indirectly by the node classifier (4792)" do
|
260
260
|
node = Puppet::Node.new("testnodex")
|
261
261
|
node.classes = ['foo', 'bar']
|
262
|
-
|
262
|
+
compile_to_catalog(<<-PP, node)
|
263
263
|
class foo
|
264
264
|
{
|
265
265
|
notify { foo_notify: }
|
@@ -401,7 +401,7 @@ describe Puppet::Parser::Compiler do
|
|
401
401
|
|
402
402
|
it "should not favor local name scope" do
|
403
403
|
expect {
|
404
|
-
|
404
|
+
compile_to_catalog(<<-PP)
|
405
405
|
class experiment {
|
406
406
|
class baz {
|
407
407
|
}
|
@@ -683,7 +683,7 @@ describe Puppet::Parser::Compiler do
|
|
683
683
|
|
684
684
|
it 'an initial underscore in not ok if elsewhere than last segment' do
|
685
685
|
expect do
|
686
|
-
|
686
|
+
compile_to_catalog(<<-MANIFEST)
|
687
687
|
class a { $_a = 10}
|
688
688
|
include a
|
689
689
|
notify { 'test': message => $_a::_a }
|
@@ -769,7 +769,7 @@ describe Puppet::Parser::Compiler do
|
|
769
769
|
|
770
770
|
it 'accepts anything when parameters are untyped' do
|
771
771
|
expect do
|
772
|
-
|
772
|
+
compile_to_catalog(<<-MANIFEST)
|
773
773
|
define foo($a, $b, $c) { }
|
774
774
|
foo { 'test': a => String, b=>10, c=>undef }
|
775
775
|
MANIFEST
|
@@ -778,7 +778,7 @@ describe Puppet::Parser::Compiler do
|
|
778
778
|
|
779
779
|
it 'denies non type compliant arguments' do
|
780
780
|
expect do
|
781
|
-
|
781
|
+
compile_to_catalog(<<-MANIFEST)
|
782
782
|
define foo(Integer $x) { }
|
783
783
|
foo { 'test': x =>'say friend' }
|
784
784
|
MANIFEST
|
@@ -787,7 +787,7 @@ describe Puppet::Parser::Compiler do
|
|
787
787
|
|
788
788
|
it 'denies undef for a non-optional type' do
|
789
789
|
expect do
|
790
|
-
|
790
|
+
compile_to_catalog(<<-MANIFEST)
|
791
791
|
define foo(Integer $x) { }
|
792
792
|
foo { 'test': x => undef }
|
793
793
|
MANIFEST
|
@@ -796,7 +796,7 @@ describe Puppet::Parser::Compiler do
|
|
796
796
|
|
797
797
|
it 'denies non type compliant default argument' do
|
798
798
|
expect do
|
799
|
-
|
799
|
+
compile_to_catalog(<<-MANIFEST)
|
800
800
|
define foo(Integer $x = 'pow') { }
|
801
801
|
foo { 'test': }
|
802
802
|
MANIFEST
|
@@ -805,7 +805,7 @@ describe Puppet::Parser::Compiler do
|
|
805
805
|
|
806
806
|
it 'denies undef as the default for a non-optional type' do
|
807
807
|
expect do
|
808
|
-
|
808
|
+
compile_to_catalog(<<-MANIFEST)
|
809
809
|
define foo(Integer $x = undef) { }
|
810
810
|
foo { 'test': }
|
811
811
|
MANIFEST
|
@@ -826,7 +826,7 @@ describe Puppet::Parser::Compiler do
|
|
826
826
|
|
827
827
|
it 'uses infer_set when reporting type mismatch' do
|
828
828
|
expect do
|
829
|
-
|
829
|
+
compile_to_catalog(<<-MANIFEST)
|
830
830
|
define foo(Struct[{b => Integer, d=>String}] $a) { }
|
831
831
|
foo{ bar: a => {b => 5, c => 'stuff'}}
|
832
832
|
MANIFEST
|
@@ -855,7 +855,7 @@ describe Puppet::Parser::Compiler do
|
|
855
855
|
|
856
856
|
it 'accepts anything when parameters are untyped' do
|
857
857
|
expect do
|
858
|
-
|
858
|
+
compile_to_catalog(<<-MANIFEST)
|
859
859
|
class foo($a, $b, $c) { }
|
860
860
|
class { 'foo': a => String, b=>10, c=>undef }
|
861
861
|
MANIFEST
|
@@ -864,7 +864,7 @@ describe Puppet::Parser::Compiler do
|
|
864
864
|
|
865
865
|
it 'denies non type compliant arguments' do
|
866
866
|
expect do
|
867
|
-
|
867
|
+
compile_to_catalog(<<-MANIFEST)
|
868
868
|
class foo(Integer $x) { }
|
869
869
|
class { 'foo': x =>'say friend' }
|
870
870
|
MANIFEST
|
@@ -873,7 +873,7 @@ describe Puppet::Parser::Compiler do
|
|
873
873
|
|
874
874
|
it 'denies undef for a non-optional type' do
|
875
875
|
expect do
|
876
|
-
|
876
|
+
compile_to_catalog(<<-MANIFEST)
|
877
877
|
class foo(Integer $x) { }
|
878
878
|
class { 'foo': x => undef }
|
879
879
|
MANIFEST
|
@@ -882,7 +882,7 @@ describe Puppet::Parser::Compiler do
|
|
882
882
|
|
883
883
|
it 'denies non type compliant default argument' do
|
884
884
|
expect do
|
885
|
-
|
885
|
+
compile_to_catalog(<<-MANIFEST)
|
886
886
|
class foo(Integer $x = 'pow') { }
|
887
887
|
class { 'foo': }
|
888
888
|
MANIFEST
|
@@ -891,7 +891,7 @@ describe Puppet::Parser::Compiler do
|
|
891
891
|
|
892
892
|
it 'denies undef as the default for a non-optional type' do
|
893
893
|
expect do
|
894
|
-
|
894
|
+
compile_to_catalog(<<-MANIFEST)
|
895
895
|
class foo(Integer $x = undef) { }
|
896
896
|
class { 'foo': }
|
897
897
|
MANIFEST
|
@@ -900,7 +900,7 @@ describe Puppet::Parser::Compiler do
|
|
900
900
|
|
901
901
|
it 'denies a regexp (rich data) argument given to class String parameter (even if later encoding of it is a string)' do
|
902
902
|
expect do
|
903
|
-
|
903
|
+
compile_to_catalog(<<-MANIFEST)
|
904
904
|
class foo(String $x) { }
|
905
905
|
class { 'foo': x => /I am a regexp and I don't want to be a String/}
|
906
906
|
MANIFEST
|
@@ -909,7 +909,7 @@ describe Puppet::Parser::Compiler do
|
|
909
909
|
|
910
910
|
it 'denies a regexp (rich data) argument given to define String parameter (even if later encoding of it is a string)' do
|
911
911
|
expect do
|
912
|
-
|
912
|
+
compile_to_catalog(<<-MANIFEST)
|
913
913
|
define foo(String $x) { }
|
914
914
|
foo { 'foo': x => /I am a regexp and I don't want to be a String/}
|
915
915
|
MANIFEST
|
@@ -1162,7 +1162,7 @@ describe Puppet::Parser::Compiler do
|
|
1162
1162
|
it 'errors when an alias cannot be found when relationship is formed with -> operator' do
|
1163
1163
|
node = Puppet::Node.new("testnodex")
|
1164
1164
|
expect {
|
1165
|
-
|
1165
|
+
compile_to_catalog(<<-PP, node)
|
1166
1166
|
notify { 'actual_2': }
|
1167
1167
|
notify { 'actual_1': alias => 'alias_1' }
|
1168
1168
|
Notify[actual_2] -> Notify[alias_2]
|
@@ -1190,7 +1190,6 @@ describe Puppet::Parser::Compiler do
|
|
1190
1190
|
include foo
|
1191
1191
|
include bar
|
1192
1192
|
MANIFEST
|
1193
|
-
package = catalog.resource('Package', 'pip')
|
1194
1193
|
expect(catalog.resource('Package', 'pip')[:require].to_s).to eql('Package[python]')
|
1195
1194
|
end
|
1196
1195
|
|