puppet 4.5.3-x86-mingw32 → 4.6.1-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/Gemfile +10 -1
- data/ext/debian/control +2 -4
- data/ext/project_data.yaml +4 -4
- data/install.rb +6 -2
- data/lib/puppet.rb +3 -1
- data/lib/puppet/agent/locker.rb +1 -1
- data/lib/puppet/application.rb +6 -4
- data/lib/puppet/application/agent.rb +2 -1
- data/lib/puppet/application/cert.rb +35 -2
- data/lib/puppet/application/device.rb +1 -1
- data/lib/puppet/application/generate.rb +5 -0
- data/lib/puppet/application/lookup.rb +3 -3
- data/lib/puppet/application_support.rb +1 -1
- data/lib/puppet/compilable_resource_type.rb +15 -0
- data/lib/puppet/configurer.rb +67 -10
- data/lib/puppet/configurer/plugin_handler.rb +2 -4
- data/lib/puppet/data_providers/hiera_config.rb +1 -1
- data/lib/puppet/defaults.rb +34 -7
- data/lib/puppet/environments.rb +4 -2
- data/lib/puppet/error.rb +1 -1
- data/lib/puppet/external/dot.rb +1 -1
- data/lib/puppet/face/ca.rb +4 -1
- data/lib/puppet/face/certificate.rb +7 -1
- data/lib/puppet/face/epp.rb +5 -5
- data/lib/puppet/face/generate.rb +64 -0
- data/lib/puppet/face/help.rb +19 -13
- data/lib/puppet/face/man.rb +1 -1
- data/lib/puppet/feature/external_facts.rb +1 -1
- data/lib/puppet/file_system.rb +16 -0
- data/lib/puppet/file_system/file_impl.rb +5 -0
- data/lib/puppet/file_system/memory_impl.rb +4 -0
- data/lib/puppet/file_system/path_pattern.rb +1 -0
- data/lib/puppet/file_system/windows.rb +19 -0
- data/lib/puppet/functions.rb +3 -5
- data/lib/puppet/functions/assert_type.rb +1 -1
- data/lib/puppet/functions/defined.rb +7 -5
- data/lib/puppet/functions/dig.rb +2 -18
- data/lib/puppet/functions/hiera.rb +1 -1
- data/lib/puppet/functions/lest.rb +1 -37
- data/lib/puppet/functions/new.rb +2 -473
- data/lib/puppet/functions/reverse_each.rb +2 -59
- data/lib/puppet/functions/scanf.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -63
- data/lib/puppet/functions/then.rb +1 -61
- data/lib/puppet/functions/type.rb +1 -40
- data/lib/puppet/functions/unwrap.rb +40 -0
- data/lib/puppet/generate/models/type/property.rb +70 -0
- data/lib/puppet/generate/models/type/type.rb +57 -0
- data/lib/puppet/generate/templates/type/pcore.erb +41 -0
- data/lib/puppet/generate/type.rb +239 -0
- data/lib/puppet/graph/simple_graph.rb +2 -6
- data/lib/puppet/indirector/catalog/static_compiler.rb +5 -2
- data/lib/puppet/indirector/facts/facter.rb +1 -1
- data/lib/puppet/indirector/key/ca.rb +2 -2
- data/lib/puppet/indirector/request.rb +25 -4
- data/lib/puppet/indirector/rest.rb +73 -3
- data/lib/puppet/info_service/class_information_service.rb +1 -2
- data/lib/puppet/interface/documentation.rb +1 -1
- data/lib/puppet/loaders.rb +2 -0
- data/lib/puppet/metatype/manager.rb +6 -6
- data/lib/puppet/module.rb +8 -1
- data/lib/puppet/module_tool.rb +2 -2
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/errors/installer.rb +2 -2
- data/lib/puppet/module_tool/metadata.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +23 -32
- data/lib/puppet/network/http/rack/rest.rb +15 -1
- data/lib/puppet/network/rights.rb +1 -11
- data/lib/puppet/node/environment.rb +7 -3
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/parameter.rb +23 -3
- data/lib/puppet/parameter/boolean.rb +1 -1
- data/lib/puppet/parameter/value.rb +1 -1
- data/lib/puppet/parser.rb +0 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +1 -1
- data/lib/puppet/parser/ast/resource.rb +5 -0
- data/lib/puppet/parser/ast/resource_instance.rb +5 -1
- data/lib/puppet/parser/ast/resourceparam.rb +5 -0
- data/lib/puppet/parser/compiler.rb +14 -17
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +1 -1
- data/lib/puppet/parser/environment_compiler.rb +10 -0
- data/lib/puppet/parser/functions/create_resources.rb +39 -24
- data/lib/puppet/parser/functions/defined.rb +2 -26
- data/lib/puppet/parser/functions/dig.rb +29 -0
- data/lib/puppet/parser/functions/lest.rb +49 -0
- data/lib/puppet/parser/functions/new.rb +530 -0
- data/lib/puppet/parser/functions/require.rb +1 -1
- data/lib/puppet/parser/functions/reverse_each.rb +83 -0
- data/lib/puppet/parser/functions/scanf.rb +4 -4
- data/lib/puppet/parser/functions/step.rb +84 -0
- data/lib/puppet/parser/functions/then.rb +73 -0
- data/lib/puppet/parser/functions/type.rb +53 -0
- data/lib/puppet/parser/resource.rb +16 -7
- data/lib/puppet/parser/scope.rb +36 -28
- data/lib/puppet/parser/type_loader.rb +1 -1
- data/lib/puppet/plugins/data_providers/data_provider.rb +1 -1
- data/lib/puppet/pops.rb +13 -0
- data/lib/puppet/pops/adapters.rb +49 -49
- data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +39 -2
- data/lib/puppet/pops/evaluator/closure.rb +39 -13
- data/lib/puppet/pops/evaluator/collector_transformer.rb +10 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +16 -11
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -1
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +0 -1
- data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -2
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +119 -0
- data/lib/puppet/pops/evaluator/runtime3_support.rb +19 -45
- data/lib/puppet/pops/functions/function.rb +5 -0
- data/lib/puppet/pops/issues.rb +1 -1
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/base_loader.rb +12 -15
- data/lib/puppet/pops/loader/loader.rb +15 -50
- data/lib/puppet/pops/loader/loader_paths.rb +28 -2
- data/lib/puppet/pops/loader/module_loaders.rb +16 -1
- data/lib/puppet/pops/loader/null_loader.rb +17 -1
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +12 -11
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +80 -0
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +2 -3
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +52 -13
- data/lib/puppet/pops/loader/static_loader.rb +55 -0
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +30 -14
- data/lib/puppet/pops/loader/typed_name.rb +50 -0
- data/lib/puppet/pops/loaders.rb +64 -19
- data/lib/puppet/pops/merge_strategy.rb +7 -7
- data/lib/puppet/pops/migration/migration_checker.rb +4 -0
- data/lib/puppet/pops/model/model_label_provider.rb +2 -0
- data/lib/puppet/pops/parser/egrammar.ra +8 -5
- data/lib/puppet/pops/parser/eparser.rb +1550 -1498
- data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
- data/lib/puppet/pops/parser/interpolation_support.rb +7 -0
- data/lib/puppet/pops/parser/lexer2.rb +14 -1
- data/lib/puppet/pops/parser/locator.rb +30 -1
- data/lib/puppet/pops/parser/parser_support.rb +0 -3
- data/lib/puppet/pops/parser/slurp_support.rb +3 -3
- data/lib/puppet/pops/patterns.rb +9 -1
- data/lib/puppet/pops/pcore.rb +67 -11
- data/lib/puppet/pops/puppet_stack.rb +43 -0
- data/lib/puppet/pops/resource/param.rb +51 -0
- data/lib/puppet/pops/resource/resource_type_impl.rb +301 -0
- data/lib/puppet/pops/resource/resource_type_set.pcore +21 -0
- data/lib/puppet/pops/serialization.rb +17 -0
- data/lib/puppet/pops/serialization/abstract_reader.rb +149 -0
- data/lib/puppet/pops/serialization/abstract_writer.rb +179 -0
- data/lib/puppet/pops/serialization/deserializer.rb +60 -0
- data/lib/puppet/pops/serialization/extension.rb +126 -0
- data/lib/puppet/pops/serialization/instance_reader.rb +19 -0
- data/lib/puppet/pops/serialization/instance_writer.rb +14 -0
- data/lib/puppet/pops/serialization/json.rb +247 -0
- data/lib/puppet/pops/serialization/object.rb +63 -0
- data/lib/puppet/pops/serialization/rgen.rb +151 -0
- data/lib/puppet/pops/serialization/serializer.rb +91 -0
- data/lib/puppet/pops/serialization/time_factory.rb +66 -0
- data/lib/puppet/pops/types/annotatable.rb +36 -0
- data/lib/puppet/pops/types/implementation_registry.rb +3 -8
- data/lib/puppet/pops/types/p_meta_type.rb +83 -0
- data/lib/puppet/pops/types/p_object_type.rb +110 -117
- data/lib/puppet/pops/types/p_runtime_type.rb +13 -0
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +23 -0
- data/lib/puppet/pops/types/p_sem_ver_type.rb +30 -2
- data/lib/puppet/pops/types/p_sensitive_type.rb +69 -0
- data/lib/puppet/pops/types/p_type_set_type.rb +361 -0
- data/lib/puppet/pops/types/puppet_object.rb +0 -5
- data/lib/puppet/pops/types/ruby_generator.rb +9 -2
- data/lib/puppet/pops/types/type_calculator.rb +6 -1
- data/lib/puppet/pops/types/type_factory.rb +14 -12
- data/lib/puppet/pops/types/type_formatter.rb +78 -33
- data/lib/puppet/pops/types/type_mismatch_describer.rb +0 -2
- data/lib/puppet/pops/types/type_parser.rb +27 -2
- data/lib/puppet/pops/types/type_set_reference.rb +59 -0
- data/lib/puppet/pops/types/types.rb +366 -13
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/validation/checker4_0.rb +5 -2
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property.rb +64 -5
- data/lib/puppet/provider.rb +1 -1
- data/lib/puppet/provider/aixobject.rb +3 -3
- data/lib/puppet/provider/group/aix.rb +4 -4
- data/lib/puppet/provider/macauthorization/macauthorization.rb +1 -1
- data/lib/puppet/provider/mailalias/aliases.rb +1 -1
- data/lib/puppet/provider/mcx/mcxcontent.rb +2 -2
- data/lib/puppet/provider/mount/parsed.rb +1 -1
- data/lib/puppet/provider/nameservice/directoryservice.rb +5 -5
- data/lib/puppet/provider/package/appdmg.rb +3 -3
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/dnf.rb +5 -0
- data/lib/puppet/provider/package/nim.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +2 -2
- data/lib/puppet/provider/package/pip.rb +5 -3
- data/lib/puppet/provider/package/pip3.rb +1 -1
- data/lib/puppet/provider/package/pkg.rb +5 -5
- data/lib/puppet/provider/package/pkgdmg.rb +4 -4
- data/lib/puppet/provider/package/pkgin.rb +1 -1
- data/lib/puppet/provider/package/pkgutil.rb +1 -1
- data/lib/puppet/provider/package/portage.rb +48 -8
- data/lib/puppet/provider/package/sun.rb +1 -1
- data/lib/puppet/provider/package/tdnf.rb +28 -0
- data/lib/puppet/provider/package/yum.rb +22 -4
- data/lib/puppet/provider/parsedfile.rb +2 -2
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/bsd.rb +1 -1
- data/lib/puppet/provider/service/daemontools.rb +2 -2
- data/lib/puppet/provider/service/debian.rb +3 -3
- data/lib/puppet/provider/service/init.rb +5 -3
- data/lib/puppet/provider/service/launchd.rb +16 -2
- data/lib/puppet/provider/service/runit.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +8 -1
- data/lib/puppet/provider/service/systemd.rb +39 -6
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
- data/lib/puppet/provider/user/aix.rb +3 -2
- data/lib/puppet/provider/user/directoryservice.rb +4 -3
- data/lib/puppet/provider/user/hpux.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/windows_adsi.rb +3 -0
- data/lib/puppet/provider/zfs/zfs.rb +1 -1
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/resource.rb +33 -7
- data/lib/puppet/resource/capability_finder.rb +74 -54
- data/lib/puppet/resource/status.rb +11 -2
- data/lib/puppet/settings.rb +17 -6
- data/lib/puppet/settings/environment_conf.rb +1 -1
- data/lib/puppet/settings/server_list_setting.rb +20 -0
- data/lib/puppet/ssl/certificate_authority.rb +32 -9
- data/lib/puppet/ssl/certificate_authority/interface.rb +164 -24
- data/lib/puppet/ssl/host.rb +3 -3
- data/lib/puppet/ssl/oids.rb +10 -0
- data/lib/puppet/ssl/validator/default_validator.rb +2 -2
- data/lib/puppet/test/test_helper.rb +2 -2
- data/lib/puppet/transaction.rb +12 -0
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +29 -2
- data/lib/puppet/transaction/event_manager.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +84 -0
- data/lib/puppet/transaction/report.rb +49 -2
- data/lib/puppet/transaction/resource_harness.rb +98 -18
- data/lib/puppet/type.rb +63 -21
- data/lib/puppet/type/augeas.rb +3 -3
- data/lib/puppet/type/cron.rb +1 -1
- data/lib/puppet/type/file.rb +39 -2
- data/lib/puppet/type/file/data_sync.rb +13 -5
- data/lib/puppet/type/host.rb +1 -1
- data/lib/puppet/type/mount.rb +2 -6
- data/lib/puppet/type/notify.rb +1 -1
- data/lib/puppet/type/package.rb +1 -1
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/scheduled_task.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +2 -2
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/yumrepo.rb +3 -3
- data/lib/puppet/type/zone.rb +1 -1
- data/lib/puppet/util.rb +2 -2
- data/lib/puppet/util/classgen.rb +1 -1
- data/lib/puppet/util/command_line.rb +6 -2
- data/lib/puppet/util/command_line/trollop.rb +1 -1
- data/lib/puppet/util/execution.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +1 -1
- data/lib/puppet/util/inifile.rb +1 -1
- data/lib/puppet/util/instance_loader.rb +1 -1
- data/lib/puppet/util/logging.rb +1 -1
- data/lib/puppet/util/multi_match.rb +1 -1
- data/lib/puppet/util/plist.rb +15 -5
- data/lib/puppet/util/profiler.rb +1 -1
- data/lib/puppet/util/profiler/around_profiler.rb +1 -1
- data/lib/puppet/util/psych_support.rb +1 -1
- data/lib/puppet/util/rdoc.rb +2 -2
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/watcher/periodic_watcher.rb +2 -2
- data/lib/puppet/util/windows/access_control_entry.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +30 -8
- data/lib/puppet/util/windows/api_types.rb +1 -1
- data/lib/puppet/util/windows/file.rb +59 -0
- data/lib/puppet/util/windows/process.rb +10 -0
- data/lib/puppet/util/windows/security.rb +1 -1
- data/lib/puppet/util/windows/user.rb +22 -4
- data/lib/puppet/util/yaml.rb +15 -3
- data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +1 -1
- data/lib/puppet/vendor/rgen_patch.rb +1 -1
- data/lib/puppet/version.rb +2 -2
- data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +10 -0
- data/spec/integration/agent/logging_spec.rb +15 -14
- data/spec/integration/application/apply_spec.rb +1 -0
- data/spec/integration/directory_environments_spec.rb +16 -0
- data/spec/integration/environments/settings_spec.rb +32 -4
- data/spec/integration/faces/documentation_spec.rb +1 -1
- data/spec/integration/network/http/api/indirected_routes_spec.rb +33 -0
- data/spec/integration/node/environment_spec.rb +21 -0
- data/spec/integration/parser/collection_spec.rb +10 -0
- data/spec/integration/parser/compiler_spec.rb +76 -840
- data/spec/integration/parser/functions/require_spec.rb +3 -3
- data/spec/integration/parser/parameter_defaults_spec.rb +6 -2
- data/spec/integration/parser/pcore_resource_spec.rb +208 -0
- data/spec/integration/parser/resource_expressions_spec.rb +4 -2
- data/spec/integration/provider/yumrepo_spec.rb +4 -1
- data/spec/integration/transaction/report_spec.rb +666 -0
- data/spec/integration/type/file_spec.rb +11 -12
- data/spec/integration/util/windows/adsi_spec.rb +99 -0
- data/spec/integration/util/windows/principal_spec.rb +109 -60
- data/spec/integration/util/windows/process_spec.rb +4 -2
- data/spec/integration/util/windows/security_spec.rb +34 -8
- data/spec/integration/util/windows/user_spec.rb +26 -4
- data/spec/lib/puppet_spec/files.rb +2 -2
- data/spec/lib/puppet_spec/network.rb +12 -8
- data/spec/shared_examples/rhel_package_provider.rb +341 -0
- data/spec/spec_helper.rb +8 -2
- data/spec/unit/application/cert_spec.rb +20 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +0 -26
- data/spec/unit/configurer_spec.rb +46 -0
- data/spec/unit/defaults_spec.rb +14 -0
- data/spec/unit/face/generate_spec.rb +230 -0
- data/spec/unit/face/help_spec.rb +53 -0
- data/spec/unit/face/parser_spec.rb +6 -0
- data/spec/unit/face/plugin_spec.rb +0 -4
- data/spec/unit/file_system_spec.rb +85 -0
- data/spec/unit/functions/lookup_spec.rb +4 -4
- data/spec/unit/functions/match_spec.rb +2 -2
- data/spec/unit/functions/regsubst_spec.rb +1 -1
- data/spec/unit/functions/split_spec.rb +1 -1
- data/spec/unit/functions/unwrap_spec.rb +29 -0
- data/spec/unit/functions/versioncmp_spec.rb +1 -1
- data/spec/unit/functions4_spec.rb +8 -8
- data/spec/unit/indirector/facts/facter_spec.rb +1 -9
- data/spec/unit/indirector/rest_spec.rb +95 -9
- data/spec/unit/module_spec.rb +43 -7
- data/spec/unit/module_tool/applications/installer_spec.rb +10 -1
- data/spec/unit/module_tool/applications/unpacker_spec.rb +2 -1
- data/spec/unit/module_tool/applications/upgrader_spec.rb +8 -0
- data/spec/unit/module_tool/tar/mini_spec.rb +3 -3
- data/spec/unit/network/http/api/indirected_routes_spec.rb +49 -58
- data/spec/unit/network/http/api/master/v3_spec.rb +7 -4
- data/spec/unit/network/rights_spec.rb +1 -1
- data/spec/unit/parameter_spec.rb +11 -0
- data/spec/unit/parser/compiler_spec.rb +19 -33
- data/spec/unit/{appmgmt_spec.rb → parser/environment_compiler_spec.rb} +12 -1
- data/spec/unit/parser/functions/create_resources_spec.rb +76 -4
- data/spec/unit/parser/functions/require_spec.rb +2 -2
- data/spec/unit/parser/resource_spec.rb +21 -11
- data/spec/unit/parser/scope_spec.rb +1 -5
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +1 -1
- data/spec/unit/pops/loaders/dependency_loader_spec.rb +1 -1
- data/spec/unit/pops/loaders/loader_paths_spec.rb +1 -1
- data/spec/unit/pops/loaders/loaders_spec.rb +63 -5
- data/spec/unit/pops/loaders/module_loaders_spec.rb +2 -2
- data/spec/unit/pops/loaders/static_loader_spec.rb +1 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +27 -3
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +8 -0
- data/spec/unit/pops/parser/parse_calls_spec.rb +9 -0
- data/spec/unit/pops/puppet_stack_spec.rb +79 -0
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +37 -0
- data/spec/unit/pops/serialization/packer_spec.rb +153 -0
- data/spec/unit/pops/serialization/rgen_spec.rb +88 -0
- data/spec/unit/pops/serialization/serialization_spec.rb +228 -0
- data/spec/unit/pops/types/p_object_type_spec.rb +44 -2
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +42 -0
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +139 -0
- data/spec/unit/pops/types/p_type_set_type_spec.rb +424 -0
- data/spec/unit/pops/types/ruby_generator_spec.rb +497 -181
- data/spec/unit/pops/types/type_calculator_spec.rb +10 -4
- data/spec/unit/pops/types/type_formatter_spec.rb +1 -1
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +2 -2
- data/spec/unit/pops/types/type_parser_spec.rb +1 -1
- data/spec/unit/pops/types/types_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +18 -1
- data/spec/unit/property_spec.rb +48 -11
- data/spec/unit/provider/group/windows_adsi_spec.rb +11 -1
- data/spec/unit/provider/package/dnf_spec.rb +1 -99
- data/spec/unit/provider/package/pacman_spec.rb +4 -4
- data/spec/unit/provider/package/pip_spec.rb +14 -0
- data/spec/unit/provider/package/pkg_spec.rb +6 -0
- data/spec/unit/provider/package/pkgdmg_spec.rb +0 -3
- data/spec/unit/provider/package/portage_spec.rb +64 -8
- data/spec/unit/provider/package/tdnf_spec.rb +18 -0
- data/spec/unit/provider/package/windows/package_spec.rb +4 -1
- data/spec/unit/provider/package/windows_spec.rb +8 -2
- data/spec/unit/provider/package/yum_spec.rb +6 -377
- data/spec/unit/provider/service/base_spec.rb +6 -0
- data/spec/unit/provider/service/debian_spec.rb +16 -7
- data/spec/unit/provider/service/gentoo_spec.rb +6 -0
- data/spec/unit/provider/service/init_spec.rb +7 -0
- data/spec/unit/provider/service/launchd_spec.rb +35 -4
- data/spec/unit/provider/service/openrc_spec.rb +6 -0
- data/spec/unit/provider/service/smf_spec.rb +31 -6
- data/spec/unit/provider/service/src_spec.rb +6 -0
- data/spec/unit/provider/service/systemd_spec.rb +70 -20
- data/spec/unit/provider/service/upstart_spec.rb +6 -0
- data/spec/unit/provider/user/aix_spec.rb +7 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +30 -1
- data/spec/unit/provider/user/windows_adsi_spec.rb +19 -0
- data/spec/unit/resource/capability_finder_spec.rb +51 -3
- data/spec/unit/resource/catalog_spec.rb +5 -0
- data/spec/unit/resource/type_spec.rb +2 -2
- data/spec/unit/resource_spec.rb +19 -0
- data/spec/unit/settings_spec.rb +13 -0
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +176 -10
- data/spec/unit/ssl/certificate_authority_spec.rb +63 -22
- data/spec/unit/ssl/host_spec.rb +1 -1
- data/spec/unit/ssl/oids_spec.rb +24 -21
- data/spec/unit/transaction/event_spec.rb +3 -1
- data/spec/unit/transaction/persistence_spec.rb +173 -0
- data/spec/unit/transaction/report_spec.rb +64 -1
- data/spec/unit/transaction/resource_harness_spec.rb +91 -0
- data/spec/unit/type/file/content_spec.rb +47 -15
- data/spec/unit/type/file_spec.rb +28 -0
- data/spec/unit/type/mount_spec.rb +5 -12
- data/spec/unit/type/yumrepo_spec.rb +1 -5
- data/spec/unit/type_spec.rb +32 -0
- data/spec/unit/util/command_line_spec.rb +11 -0
- data/spec/unit/util/execution_spec.rb +1 -1
- data/spec/unit/util/plist_spec.rb +16 -3
- data/spec/unit/util/storage_spec.rb +4 -1
- data/spec/unit/util/windows/adsi_spec.rb +23 -2
- data/spec/unit/util/windows/file_spec.rb +56 -1
- data/spec/unit/util/windows/sid_spec.rb +31 -7
- data/spec/unit/util/yaml_spec.rb +12 -0
- data/spec/unit/util_spec.rb +87 -20
- metadata +91 -48
- data/ext/puppetlisten/puppetlisten.rb +0 -77
- data/ext/puppetlisten/puppetrun.rb +0 -38
- data/lib/puppet/resource/type_collection_helper.rb +0 -7
- data/spec/unit/parser/functions/defined_spec.rb +0 -120
- data/spec/unit/resource/type_collection_helper_spec.rb +0 -24
data/spec/unit/module_spec.rb
CHANGED
@@ -614,13 +614,6 @@ describe Puppet::Module do
|
|
614
614
|
expect(@module).to be_has_metadata
|
615
615
|
end
|
616
616
|
|
617
|
-
it "should have metadata if it has a metadata file and its data is not empty" do
|
618
|
-
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns true
|
619
|
-
File.stubs(:read).with(@module.metadata_file, {:encoding => 'utf-8'}).returns "{\"foo\" : \"bar\"}"
|
620
|
-
|
621
|
-
expect(@module).to be_has_metadata
|
622
|
-
end
|
623
|
-
|
624
617
|
it "should not have metadata if has a metadata file and its data is empty" do
|
625
618
|
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns true
|
626
619
|
File.stubs(:read).with(@module.metadata_file, {:encoding => 'utf-8'}).returns "This is some invalid json.\n"
|
@@ -651,6 +644,49 @@ describe Puppet::Module do
|
|
651
644
|
expect(@module.has_metadata?).to be_falsey
|
652
645
|
end
|
653
646
|
|
647
|
+
describe 'when --strict is warning' do
|
648
|
+
before :each do
|
649
|
+
Puppet[:strict] = :warning
|
650
|
+
end
|
651
|
+
|
652
|
+
it "should warn about a failure to parse" do
|
653
|
+
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns true
|
654
|
+
File.stubs(:read).with(@module.metadata_file, {:encoding => 'utf-8'}).returns(my_fixture('trailing-comma.json'))
|
655
|
+
|
656
|
+
expect(@module.has_metadata?).to be_falsey
|
657
|
+
expect(@logs).to have_matching_log(/mymod has an invalid and unparsable metadata\.json file/)
|
658
|
+
end
|
659
|
+
end
|
660
|
+
|
661
|
+
describe 'when --strict is off' do
|
662
|
+
before :each do
|
663
|
+
Puppet[:strict] = :off
|
664
|
+
end
|
665
|
+
|
666
|
+
it "should warn about a failure to parse" do
|
667
|
+
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns true
|
668
|
+
File.stubs(:read).with(@module.metadata_file, {:encoding => 'utf-8'}).returns(my_fixture('trailing-comma.json'))
|
669
|
+
|
670
|
+
expect(@module.has_metadata?).to be_falsey
|
671
|
+
expect(@logs).to have_matching_log(/mymod has an invalid and unparsable metadata\.json file.*/)
|
672
|
+
end
|
673
|
+
end
|
674
|
+
|
675
|
+
describe 'when --strict is error' do
|
676
|
+
before :each do
|
677
|
+
Puppet[:strict] = :error
|
678
|
+
end
|
679
|
+
|
680
|
+
it "should fail on a failure to parse" do
|
681
|
+
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns true
|
682
|
+
File.stubs(:read).with(@module.metadata_file, {:encoding => 'utf-8'}).returns(my_fixture('trailing-comma.json'))
|
683
|
+
|
684
|
+
expect do
|
685
|
+
expect(@module.has_metadata?).to be_falsey
|
686
|
+
end.to raise_error(/mymod has an invalid and unparsable metadata\.json file/)
|
687
|
+
end
|
688
|
+
end
|
689
|
+
|
654
690
|
def a_module_with_metadata(data)
|
655
691
|
text = data.to_pson
|
656
692
|
|
@@ -4,6 +4,8 @@ require 'puppet_spec/module_tool/shared_functions'
|
|
4
4
|
require 'puppet_spec/module_tool/stub_source'
|
5
5
|
require 'semver'
|
6
6
|
|
7
|
+
require 'tmpdir'
|
8
|
+
|
7
9
|
describe Puppet::ModuleTool::Applications::Installer do
|
8
10
|
include PuppetSpec::ModuleTool::SharedFunctions
|
9
11
|
include PuppetSpec::Files
|
@@ -32,6 +34,13 @@ describe Puppet::ModuleTool::Applications::Installer do
|
|
32
34
|
installer.stubs(:module_repository).returns(remote_source)
|
33
35
|
end
|
34
36
|
|
37
|
+
if Puppet.features.microsoft_windows?
|
38
|
+
before :each do
|
39
|
+
Puppet.settings.stubs(:[])
|
40
|
+
Puppet.settings.stubs(:[]).with(:module_working_dir).returns(Dir.mktmpdir('installertmp'))
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
35
44
|
def installer(modname, target_dir, options)
|
36
45
|
Puppet::ModuleTool.set_option_defaults(options)
|
37
46
|
Puppet::ModuleTool::Applications::Installer.new(modname, target_dir, options)
|
@@ -358,6 +367,6 @@ describe Puppet::ModuleTool::Applications::Installer do
|
|
358
367
|
end
|
359
368
|
end
|
360
369
|
end
|
361
|
-
|
362
370
|
end
|
371
|
+
|
363
372
|
end
|
@@ -14,7 +14,8 @@ describe Puppet::ModuleTool::Applications::Unpacker do
|
|
14
14
|
let(:working_dir) { tmpdir("working_dir") }
|
15
15
|
|
16
16
|
before :each do
|
17
|
-
Puppet.settings[
|
17
|
+
Puppet.settings.stubs(:[])
|
18
|
+
Puppet.settings.stubs(:[]).with(:module_working_dir).returns(working_dir)
|
18
19
|
end
|
19
20
|
|
20
21
|
it "should attempt to untar file to temporary location" do
|
@@ -3,6 +3,7 @@ require 'puppet/module_tool/applications'
|
|
3
3
|
require 'puppet_spec/module_tool/shared_functions'
|
4
4
|
require 'puppet_spec/module_tool/stub_source'
|
5
5
|
require 'semver'
|
6
|
+
require 'tmpdir'
|
6
7
|
|
7
8
|
describe Puppet::ModuleTool::Applications::Upgrader do
|
8
9
|
include PuppetSpec::ModuleTool::SharedFunctions
|
@@ -31,6 +32,13 @@ describe Puppet::ModuleTool::Applications::Upgrader do
|
|
31
32
|
installer.stubs(:module_repository).returns(remote_source)
|
32
33
|
end
|
33
34
|
|
35
|
+
if Puppet.features.microsoft_windows?
|
36
|
+
before :each do
|
37
|
+
Puppet.settings.stubs(:[])
|
38
|
+
Puppet.settings.stubs(:[]).with(:module_working_dir).returns(Dir.mktmpdir('upgradertmp'))
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
34
42
|
def upgrader(name, options = {})
|
35
43
|
Puppet::ModuleTool.set_option_defaults(options)
|
36
44
|
Puppet::ModuleTool::Applications::Upgrader.new(name, options)
|
@@ -20,7 +20,7 @@ describe Puppet::ModuleTool::Tar::Mini, :if => (Puppet.features.minitar? and Pup
|
|
20
20
|
expect {
|
21
21
|
minitar.unpack(sourcefile, destdir, 'uid')
|
22
22
|
}.to raise_error(Puppet::ModuleTool::Errors::InvalidPathInPackageError,
|
23
|
-
"Attempt to install file into \"/thefile\" under \"#{destdir}\"")
|
23
|
+
"Attempt to install file with an invalid path into \"/thefile\" under \"#{destdir}\"")
|
24
24
|
end
|
25
25
|
|
26
26
|
it "does not allow a file to be written outside the destination directory" do
|
@@ -29,7 +29,7 @@ describe Puppet::ModuleTool::Tar::Mini, :if => (Puppet.features.minitar? and Pup
|
|
29
29
|
expect {
|
30
30
|
minitar.unpack(sourcefile, destdir, 'uid')
|
31
31
|
}.to raise_error(Puppet::ModuleTool::Errors::InvalidPathInPackageError,
|
32
|
-
"Attempt to install file into \"#{File.expand_path('/the/thefile')}\" under \"#{destdir}\"")
|
32
|
+
"Attempt to install file with an invalid path into \"#{File.expand_path('/the/thefile')}\" under \"#{destdir}\"")
|
33
33
|
end
|
34
34
|
|
35
35
|
it "does not allow a directory to be written outside the destination directory" do
|
@@ -38,7 +38,7 @@ describe Puppet::ModuleTool::Tar::Mini, :if => (Puppet.features.minitar? and Pup
|
|
38
38
|
expect {
|
39
39
|
minitar.unpack(sourcefile, destdir, 'uid')
|
40
40
|
}.to raise_error(Puppet::ModuleTool::Errors::InvalidPathInPackageError,
|
41
|
-
"Attempt to install file into \"#{File.expand_path('/the/thedir')}\" under \"#{destdir}\"")
|
41
|
+
"Attempt to install file with an invalid path into \"#{File.expand_path('/the/thedir')}\" under \"#{destdir}\"")
|
42
42
|
end
|
43
43
|
|
44
44
|
it "packs a tar file" do
|
@@ -16,7 +16,6 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
16
16
|
before do
|
17
17
|
Puppet::IndirectorTesting.indirection.terminus_class = :memory
|
18
18
|
Puppet::IndirectorTesting.indirection.terminus.clear
|
19
|
-
handler.stubs(:check_authorization)
|
20
19
|
handler.stubs(:warn_if_near_expiration)
|
21
20
|
end
|
22
21
|
|
@@ -40,19 +39,19 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
40
39
|
end
|
41
40
|
|
42
41
|
it "should fail if there is no environment specified" do
|
43
|
-
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/node/bar", {}) }).to raise_error(
|
42
|
+
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/node/bar", {}) }).to raise_error(bad_request_error)
|
44
43
|
end
|
45
44
|
|
46
45
|
it "should fail if the environment is not alphanumeric" do
|
47
|
-
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/node/bar", {:environment => "env ness"}) }).to raise_error(
|
46
|
+
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/node/bar", {:environment => "env ness"}) }).to raise_error(bad_request_error)
|
48
47
|
end
|
49
48
|
|
50
49
|
it "should fail if the indirection does not match the prefix" do
|
51
|
-
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/certificate/foo", params) }).to raise_error(
|
50
|
+
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/certificate/foo", params) }).to raise_error(bad_request_error)
|
52
51
|
end
|
53
52
|
|
54
53
|
it "should fail if the indirection does not have the correct version" do
|
55
|
-
expect(lambda { handler.uri2indirection("GET", "#{Puppet::Network::HTTP::CA_URL_PREFIX}/v3/certificate/foo", params) }).to raise_error(
|
54
|
+
expect(lambda { handler.uri2indirection("GET", "#{Puppet::Network::HTTP::CA_URL_PREFIX}/v3/certificate/foo", params) }).to raise_error(bad_request_error)
|
56
55
|
end
|
57
56
|
|
58
57
|
it "should not pass a buck_path parameter through (See Bugs #13553, #13518, #13511)" do
|
@@ -76,7 +75,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
76
75
|
end
|
77
76
|
|
78
77
|
it "should fail if the indirection name is not alphanumeric" do
|
79
|
-
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/foo ness/bar", params) }).to raise_error(
|
78
|
+
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/foo ness/bar", params) }).to raise_error(bad_request_error)
|
80
79
|
end
|
81
80
|
|
82
81
|
it "should use the remainder of the URI as the indirection key" do
|
@@ -88,7 +87,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
88
87
|
end
|
89
88
|
|
90
89
|
it "should fail if no indirection key is specified" do
|
91
|
-
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/node", params) }).to raise_error(
|
90
|
+
expect(lambda { handler.uri2indirection("GET", "#{master_url_prefix}/node", params) }).to raise_error(bad_request_error)
|
92
91
|
end
|
93
92
|
|
94
93
|
it "should choose 'find' as the indirection method if the http method is a GET and the indirection name is singular" do
|
@@ -124,7 +123,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
124
123
|
end
|
125
124
|
|
126
125
|
it "should fail if an indirection method cannot be picked" do
|
127
|
-
expect(lambda { handler.uri2indirection("UPDATE", "#{master_url_prefix}/node/bar", params) }).to raise_error(
|
126
|
+
expect(lambda { handler.uri2indirection("UPDATE", "#{master_url_prefix}/node/bar", params) }).to raise_error(method_not_allowed_error)
|
128
127
|
end
|
129
128
|
|
130
129
|
it "should not URI unescape the indirection key" do
|
@@ -146,7 +145,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
146
145
|
Not(has_entry(:environment)))
|
147
146
|
expect(lambda { handler.uri2indirection("GET",
|
148
147
|
"#{master_url_prefix}/node/bar",
|
149
|
-
{:environment => 'bogus'}) }).to raise_error(
|
148
|
+
{:environment => 'bogus'}) }).to raise_error(not_found_error)
|
150
149
|
end
|
151
150
|
|
152
151
|
it "should not URI unescape the indirection key as passed through to a call to check_authorization" do
|
@@ -219,46 +218,37 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
219
218
|
end
|
220
219
|
|
221
220
|
describe "when processing a request" do
|
222
|
-
it "should
|
223
|
-
|
221
|
+
it "should raise not_authorized_error when authorization fails" do
|
222
|
+
data = Puppet::IndirectorTesting.new("my data")
|
223
|
+
indirection.save(data, "my data")
|
224
|
+
request = a_request_that_heads(data)
|
224
225
|
|
225
226
|
handler.expects(:check_authorization).raises(Puppet::Network::AuthorizationError.new("forbidden"))
|
226
227
|
|
227
|
-
|
228
|
-
|
229
|
-
|
228
|
+
expect {
|
229
|
+
handler.call(request, response)
|
230
|
+
}.to raise_error(not_authorized_error)
|
230
231
|
end
|
231
232
|
|
232
|
-
it "should
|
233
|
+
it "should raise not_found_error if the indirection does not support remote requests" do
|
233
234
|
request = a_request_that_heads(Puppet::IndirectorTesting.new("my data"))
|
234
235
|
|
235
236
|
indirection.expects(:allow_remote_requests?).returns(false)
|
236
237
|
|
237
|
-
|
238
|
-
|
239
|
-
|
238
|
+
expect {
|
239
|
+
handler.call(request, response)
|
240
|
+
}.to raise_error(not_found_error)
|
240
241
|
end
|
241
242
|
|
242
|
-
it "should
|
243
|
+
it "should raise not_found_error if the environment does not exist" do
|
243
244
|
Puppet.override(:environments => Puppet::Environments::Static.new()) do
|
244
245
|
request = a_request_that_heads(Puppet::IndirectorTesting.new("my data"))
|
245
246
|
|
246
|
-
|
247
|
-
|
248
|
-
|
247
|
+
expect {
|
248
|
+
handler.call(request, response)
|
249
|
+
}.to raise_error(not_found_error)
|
249
250
|
end
|
250
251
|
end
|
251
|
-
|
252
|
-
it "should serialize a controller exception when an exception is thrown while finding the model instance" do
|
253
|
-
request = a_request_that_finds(Puppet::IndirectorTesting.new("key"))
|
254
|
-
handler.expects(:do_find).raises(ArgumentError, "The exception")
|
255
|
-
|
256
|
-
handler.call(request, response)
|
257
|
-
|
258
|
-
expect(response.code).to eq(bad_request_code)
|
259
|
-
expect(response.body).to eq("The exception")
|
260
|
-
expect(response.type).to eq("text/plain")
|
261
|
-
end
|
262
252
|
end
|
263
253
|
|
264
254
|
describe "when finding a model instance" do
|
@@ -273,24 +263,24 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
273
263
|
expect(response.type).to eq(Puppet::Network::FormatHandler.format(:pson))
|
274
264
|
end
|
275
265
|
|
276
|
-
it "
|
266
|
+
it "raises not_acceptable_error when no accept header is provided" do
|
277
267
|
data = Puppet::IndirectorTesting.new("my data")
|
278
268
|
indirection.save(data, "my data")
|
279
269
|
request = a_request_that_finds(data, :accept_header => nil)
|
280
270
|
|
281
|
-
|
282
|
-
|
283
|
-
|
271
|
+
expect {
|
272
|
+
handler.call(request, response)
|
273
|
+
}.to raise_error(not_acceptable_error)
|
284
274
|
end
|
285
275
|
|
286
|
-
it "raises
|
276
|
+
it "raises not_acceptable_error when no accepted formats are known" do
|
287
277
|
data = Puppet::IndirectorTesting.new("my data")
|
288
278
|
indirection.save(data, "my data")
|
289
279
|
request = a_request_that_finds(data, :accept_header => "unknown, also/unknown")
|
290
280
|
|
291
|
-
|
292
|
-
|
293
|
-
|
281
|
+
expect {
|
282
|
+
handler.call(request, response)
|
283
|
+
}.to raise_error(not_acceptable_error)
|
294
284
|
end
|
295
285
|
|
296
286
|
it "should pass the result through without rendering it if the result is a string" do
|
@@ -305,12 +295,13 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
305
295
|
expect(response.type).to eq(Puppet::Network::FormatHandler.format(:pson))
|
306
296
|
end
|
307
297
|
|
308
|
-
it "should
|
298
|
+
it "should raise not_found_error when no model instance can be found" do
|
309
299
|
data = Puppet::IndirectorTesting.new("my data")
|
310
300
|
request = a_request_that_finds(data, :accept_header => "unknown, text/pson")
|
311
301
|
|
312
|
-
|
313
|
-
|
302
|
+
expect {
|
303
|
+
handler.call(request, response)
|
304
|
+
}.to raise_error(not_found_error)
|
314
305
|
end
|
315
306
|
end
|
316
307
|
|
@@ -335,13 +326,13 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
335
326
|
expect(response.type).to eq(Puppet::Network::FormatHandler.format(:pson))
|
336
327
|
end
|
337
328
|
|
338
|
-
it "should
|
329
|
+
it "should raise not_found_error when searching returns nil" do
|
339
330
|
request = a_request_that_searches(Puppet::IndirectorTesting.new("nothing"), :accept_header => "unknown, text/pson")
|
340
331
|
indirection.expects(:search).returns(nil)
|
341
332
|
|
342
|
-
|
343
|
-
|
344
|
-
|
333
|
+
expect {
|
334
|
+
handler.call(request, response)
|
335
|
+
}.to raise_error(not_found_error)
|
345
336
|
end
|
346
337
|
end
|
347
338
|
|
@@ -383,9 +374,10 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
383
374
|
indirection.save(data, "my data")
|
384
375
|
request = a_request_that_destroys(data, :accept_header => "unknown, also/unknown")
|
385
376
|
|
386
|
-
|
377
|
+
expect {
|
378
|
+
handler.call(request, response)
|
379
|
+
}.to raise_error(not_acceptable_error)
|
387
380
|
|
388
|
-
expect(response.code).to eq(not_acceptable_code)
|
389
381
|
expect(Puppet::IndirectorTesting.indirection.find("my data")).not_to be_nil
|
390
382
|
end
|
391
383
|
end
|
@@ -449,10 +441,11 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
449
441
|
data = Puppet::IndirectorTesting.new("my data")
|
450
442
|
request = a_request_that_submits(data, :accept_header => "unknown, also/unknown")
|
451
443
|
|
452
|
-
|
444
|
+
expect {
|
445
|
+
handler.call(request, response)
|
446
|
+
}.to raise_error(not_acceptable_error)
|
453
447
|
|
454
448
|
expect(Puppet::IndirectorTesting.indirection.find("my data")).to be_nil
|
455
|
-
expect(response.code).to eq(not_acceptable_code)
|
456
449
|
end
|
457
450
|
end
|
458
451
|
|
@@ -467,15 +460,13 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
|
|
467
460
|
expect(response.code).to eq(nil)
|
468
461
|
end
|
469
462
|
|
470
|
-
it "should
|
463
|
+
it "should raise not_found_error when the model head call returns false" do
|
471
464
|
data = Puppet::IndirectorTesting.new("my data")
|
472
465
|
request = a_request_that_heads(data)
|
473
466
|
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
expect(response.type).to eq("text/plain")
|
478
|
-
expect(response.body).to eq("Not Found: Could not find indirector_testing my data")
|
467
|
+
expect {
|
468
|
+
handler.call(request, response)
|
469
|
+
}.to raise_error(not_found_error)
|
479
470
|
end
|
480
471
|
end
|
481
472
|
end
|
@@ -1,8 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
require 'puppet/network/http'
|
4
|
+
require 'puppet_spec/network'
|
4
5
|
|
5
6
|
describe Puppet::Network::HTTP::API::Master::V3 do
|
7
|
+
include PuppetSpec::Network
|
8
|
+
|
6
9
|
let(:response) { Puppet::Network::HTTP::MemoryResponse.new }
|
7
10
|
let(:master_url_prefix) { "#{Puppet::Network::HTTP::MASTER_URL_PREFIX}/v3" }
|
8
11
|
let(:master_routes) {
|
@@ -29,11 +32,11 @@ describe Puppet::Network::HTTP::API::Master::V3 do
|
|
29
32
|
expect(response.code).to eq(200)
|
30
33
|
end
|
31
34
|
|
32
|
-
it "responds to unknown paths
|
35
|
+
it "responds to unknown paths by raising not_found_error" do
|
33
36
|
request = Puppet::Network::HTTP::Request.from_hash(:path => "#{master_url_prefix}/unknown")
|
34
|
-
master_routes.process(request, response)
|
35
37
|
|
36
|
-
expect
|
37
|
-
|
38
|
+
expect {
|
39
|
+
master_routes.process(request, response)
|
40
|
+
}.to raise_error(not_found_error)
|
38
41
|
end
|
39
42
|
end
|
@@ -24,7 +24,7 @@ describe Puppet::Network::Rights do
|
|
24
24
|
rights = Puppet::Network::Rights.new
|
25
25
|
why_forbidden = rights.is_request_forbidden_and_why?(:head, "/indirection_name/key", {})
|
26
26
|
expect(why_forbidden).to be_instance_of(Puppet::Network::AuthorizationError)
|
27
|
-
expect(why_forbidden.to_s).to eq("Forbidden request:
|
27
|
+
expect(why_forbidden.to_s).to eq("Forbidden request: /indirection_name/key [find]")
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
data/spec/unit/parameter_spec.rb
CHANGED
@@ -190,4 +190,15 @@ describe Puppet::Parameter do
|
|
190
190
|
)).to eq("{'1' => 'foo', 'bar' => ['2', '3', '4'], 'baz' => {'quux' => 'two', 'qux' => '1'}}")
|
191
191
|
end
|
192
192
|
end
|
193
|
+
|
194
|
+
describe 'formatting messages' do
|
195
|
+
it "formats messages as-is when the parameter is not sensitive" do
|
196
|
+
expect(@parameter.format("hello %s", "world")).to eq("hello world")
|
197
|
+
end
|
198
|
+
|
199
|
+
it "formats messages with redacted values when the parameter is not sensitive" do
|
200
|
+
@parameter.sensitive = true
|
201
|
+
expect(@parameter.format("hello %s", "world")).to eq("hello [redacted]")
|
202
|
+
end
|
203
|
+
end
|
193
204
|
end
|