puppet 3.4.3 → 3.5.0.rc1
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/CONTRIBUTING.md +6 -6
- data/Gemfile +22 -16
- data/LICENSE +1 -1
- data/README.md +33 -11
- data/Rakefile +1 -1
- data/conf/auth.conf +4 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/debian/control +6 -6
- data/ext/ips/transforms +1 -1
- data/ext/nagios/naggen +1 -1
- data/ext/project_data.yaml +21 -1
- data/ext/puppet-test +3 -3
- data/ext/redhat/puppet.spec.erb +28 -2
- data/ext/suse/puppet.spec +1 -1
- data/ext/upload_facts.rb +1 -1
- data/ext/windows/service/daemon.rb +99 -20
- data/lib/hiera_puppet.rb +2 -2
- data/lib/puppet.rb +68 -5
- data/lib/puppet/agent.rb +5 -1
- data/lib/puppet/application.rb +20 -11
- data/lib/puppet/application/agent.rb +1 -1
- data/lib/puppet/application/apply.rb +61 -41
- data/lib/puppet/application/cert.rb +3 -3
- data/lib/puppet/application/device.rb +7 -8
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +3 -3
- data/lib/puppet/application/kick.rb +2 -2
- data/lib/puppet/application/master.rb +1 -1
- data/lib/puppet/application/queue.rb +9 -9
- data/lib/puppet/application/resource.rb +2 -2
- data/lib/puppet/bindings.rb +6 -6
- data/lib/puppet/configurer.rb +17 -14
- data/lib/puppet/configurer/fact_handler.rb +1 -1
- data/lib/puppet/confine/any.rb +26 -0
- data/lib/puppet/confine/exists.rb +1 -1
- data/lib/puppet/confiner.rb +1 -0
- data/lib/puppet/context.rb +55 -0
- data/lib/puppet/context/trusted_information.rb +56 -0
- data/lib/puppet/defaults.rb +97 -26
- data/lib/puppet/environments.rb +187 -0
- data/lib/puppet/error.rb +2 -1
- data/lib/puppet/external/pson/common.rb +1 -1
- data/lib/puppet/external/pson/pure/generator.rb +1 -1
- data/lib/puppet/external/pson/pure/parser.rb +1 -1
- data/lib/puppet/face/config.rb +73 -15
- data/lib/puppet/face/file/store.rb +1 -1
- data/lib/puppet/face/help.rb +2 -1
- data/lib/puppet/face/help/action.erb +1 -0
- data/lib/puppet/face/help/face.erb +1 -0
- data/lib/puppet/face/help/global.erb +1 -0
- data/lib/puppet/face/help/man.erb +9 -8
- data/lib/puppet/face/module/list.rb +13 -7
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/parser.rb +11 -5
- data/lib/puppet/face/status.rb +1 -1
- data/lib/puppet/feature/external_facts.rb +2 -2
- data/lib/puppet/feature/libuser.rb +1 -1
- data/lib/puppet/feature/msgpack.rb +2 -0
- data/lib/puppet/feature/rails.rb +2 -2
- data/lib/puppet/file_bucket/dipper.rb +9 -9
- data/lib/puppet/file_bucket/file.rb +9 -5
- data/lib/puppet/file_serving/base.rb +1 -1
- data/lib/puppet/file_serving/configuration.rb +1 -1
- data/lib/puppet/file_serving/configuration/parser.rb +3 -3
- data/lib/puppet/file_serving/content.rb +2 -2
- data/lib/puppet/file_serving/fileset.rb +4 -4
- data/lib/puppet/file_serving/metadata.rb +69 -15
- data/lib/puppet/file_serving/mount/file.rb +1 -1
- data/lib/puppet/file_system.rb +361 -1
- data/lib/puppet/file_system/file18.rb +3 -3
- data/lib/puppet/file_system/file19.rb +3 -3
- data/lib/puppet/file_system/file19windows.rb +18 -23
- data/lib/puppet/file_system/file_impl.rb +145 -0
- data/lib/puppet/file_system/memory_file.rb +23 -9
- data/lib/puppet/file_system/memory_impl.rb +64 -0
- data/lib/puppet/forge.rb +4 -3
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/graph/relationship_graph.rb +7 -7
- data/lib/puppet/indirector.rb +1 -0
- data/lib/puppet/indirector/catalog/compiler.rb +3 -30
- data/lib/puppet/indirector/catalog/msgpack.rb +6 -0
- data/lib/puppet/indirector/catalog/static_compiler.rb +3 -7
- data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
- data/lib/puppet/indirector/direct_file_server.rb +2 -2
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/face.rb +3 -2
- data/lib/puppet/indirector/facts/facter.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +25 -15
- data/lib/puppet/indirector/file_metadata/file.rb +1 -1
- data/lib/puppet/indirector/file_server.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/key/file.rb +8 -5
- data/lib/puppet/indirector/ldap.rb +1 -1
- data/lib/puppet/indirector/memory.rb +4 -0
- data/lib/puppet/indirector/msgpack.rb +82 -0
- data/lib/puppet/indirector/node/exec.rb +1 -1
- data/lib/puppet/indirector/node/ldap.rb +3 -3
- data/lib/puppet/indirector/node/msgpack.rb +7 -0
- data/lib/puppet/indirector/node/yaml.rb +15 -0
- data/lib/puppet/indirector/queue.rb +3 -2
- data/lib/puppet/indirector/report/msgpack.rb +11 -0
- data/lib/puppet/indirector/request.rb +17 -20
- data/lib/puppet/indirector/resource/rest.rb +1 -1
- data/lib/puppet/indirector/resource_type/parser.rb +3 -13
- data/lib/puppet/indirector/rest.rb +6 -7
- data/lib/puppet/indirector/ssl_file.rb +7 -7
- data/lib/puppet/indirector/yaml.rb +9 -13
- data/lib/puppet/metatype/manager.rb +12 -7
- data/lib/puppet/module.rb +14 -9
- data/lib/puppet/module_tool.rb +21 -26
- data/lib/puppet/module_tool/applications/application.rb +1 -1
- data/lib/puppet/module_tool/applications/generator.rb +2 -1
- data/lib/puppet/module_tool/applications/installer.rb +9 -4
- data/lib/puppet/module_tool/applications/uninstaller.rb +10 -7
- data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +11 -8
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/contents_description.rb +2 -0
- data/lib/puppet/module_tool/dependency.rb +4 -5
- data/lib/puppet/module_tool/errors.rb +2 -0
- data/lib/puppet/module_tool/install_directory.rb +3 -0
- data/lib/puppet/module_tool/metadata.rb +3 -5
- data/lib/puppet/module_tool/modulefile.rb +3 -0
- data/lib/puppet/module_tool/shared_behaviors.rb +6 -1
- data/lib/puppet/module_tool/skeleton.rb +3 -0
- data/lib/puppet/module_tool/tar.rb +3 -0
- data/lib/puppet/network/auth_config_parser.rb +1 -1
- data/lib/puppet/network/authconfig.rb +5 -2
- data/lib/puppet/network/authentication.rb +7 -2
- data/lib/puppet/network/authorization.rb +2 -2
- data/lib/puppet/network/format_support.rb +4 -0
- data/lib/puppet/network/formats.rb +9 -14
- data/lib/puppet/network/http.rb +11 -0
- data/lib/puppet/network/http/api.rb +0 -2
- data/lib/puppet/network/http/api/v1.rb +146 -11
- data/lib/puppet/network/http/api/v2.rb +32 -0
- data/lib/puppet/network/http/api/v2/authorization.rb +13 -0
- data/lib/puppet/network/http/api/v2/environments.rb +21 -0
- data/lib/puppet/network/http/connection.rb +94 -37
- data/lib/puppet/network/http/error.rb +69 -0
- data/lib/puppet/network/http/handler.rb +28 -196
- data/lib/puppet/network/http/issues.rb +9 -0
- data/lib/puppet/network/http/memory_response.rb +13 -0
- data/lib/puppet/network/http/rack/rest.rb +10 -18
- data/lib/puppet/network/http/request.rb +56 -0
- data/lib/puppet/network/http/response.rb +11 -0
- data/lib/puppet/network/http/route.rb +91 -0
- data/lib/puppet/network/http/webrick.rb +1 -1
- data/lib/puppet/network/http/webrick/rest.rb +7 -12
- data/lib/puppet/network/http_pool.rb +3 -3
- data/lib/puppet/network/rights.rb +4 -4
- data/lib/puppet/node.rb +23 -14
- data/lib/puppet/node/environment.rb +149 -125
- data/lib/puppet/node/facts.rb +6 -5
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast.rb +1 -1
- data/lib/puppet/parser/ast/block_expression.rb +1 -6
- data/lib/puppet/parser/ast/collexpr.rb +54 -2
- data/lib/puppet/parser/ast/lambda.rb +9 -0
- data/lib/puppet/parser/ast/leaf.rb +15 -0
- data/lib/puppet/parser/ast/pops_bridge.rb +168 -0
- data/lib/puppet/parser/code_merger.rb +13 -0
- data/lib/puppet/parser/collector.rb +1 -1
- data/lib/puppet/parser/compiler.rb +28 -30
- data/lib/puppet/parser/e4_parser_adapter.rb +81 -0
- data/lib/puppet/parser/e_parser_adapter.rb +0 -1
- data/lib/puppet/parser/files.rb +12 -7
- data/lib/puppet/parser/functions.rb +36 -29
- data/lib/puppet/parser/functions/collect.rb +1 -1
- data/lib/puppet/parser/functions/defined.rb +40 -16
- data/lib/puppet/parser/functions/each.rb +55 -41
- data/lib/puppet/parser/functions/epp.rb +41 -0
- data/lib/puppet/parser/functions/extlookup.rb +2 -2
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/filter.rb +68 -16
- data/lib/puppet/parser/functions/generate.rb +1 -1
- data/lib/puppet/parser/functions/include.rb +3 -2
- data/lib/puppet/parser/functions/inline_epp.rb +79 -0
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/lookup.rb +127 -27
- data/lib/puppet/parser/functions/map.rb +64 -12
- data/lib/puppet/parser/functions/reduce.rb +40 -16
- data/lib/puppet/parser/functions/select.rb +1 -1
- data/lib/puppet/parser/functions/slice.rb +42 -23
- data/lib/puppet/parser/grammar.ra +3 -0
- data/lib/puppet/parser/lexer.rb +10 -9
- data/lib/puppet/parser/parser.rb +15 -12
- data/lib/puppet/parser/parser_factory.rb +26 -1
- data/lib/puppet/parser/parser_support.rb +13 -4
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/parser/scope.rb +246 -97
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +13 -2
- data/lib/puppet/pops.rb +15 -1
- data/lib/puppet/pops/adapters.rb +64 -32
- data/lib/puppet/pops/binder/binder.rb +122 -150
- data/lib/puppet/pops/binder/binder_issues.rb +1 -21
- data/lib/puppet/pops/binder/bindings_checker.rb +0 -20
- data/lib/puppet/pops/binder/bindings_composer.rb +4 -70
- data/lib/puppet/pops/binder/bindings_factory.rb +16 -58
- data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -3
- data/lib/puppet/pops/binder/bindings_loader.rb +13 -4
- data/lib/puppet/pops/binder/bindings_model.rb +17 -31
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +2 -20
- data/lib/puppet/pops/binder/config/binder_config.rb +8 -40
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +2 -43
- data/lib/puppet/pops/binder/config/issues.rb +1 -21
- data/lib/puppet/pops/binder/injector.rb +86 -7
- data/lib/puppet/pops/binder/injector_entry.rb +6 -2
- data/lib/puppet/pops/binder/key_factory.rb +7 -1
- data/lib/puppet/pops/binder/lookup.rb +191 -0
- data/lib/puppet/pops/binder/producers.rb +5 -5
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +2 -3
- data/lib/puppet/pops/binder/system_bindings.rb +4 -16
- data/lib/puppet/pops/containment.rb +72 -5
- data/lib/puppet/pops/evaluator/access_operator.rb +548 -0
- data/lib/puppet/pops/evaluator/closure.rb +57 -0
- data/lib/puppet/pops/evaluator/compare_operator.rb +168 -0
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +87 -0
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +1069 -0
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +49 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +156 -0
- data/lib/puppet/pops/evaluator/runtime3_support.rb +489 -0
- data/lib/puppet/pops/issue_reporter.rb +8 -4
- data/lib/puppet/pops/issues.rb +199 -4
- data/lib/puppet/pops/label_provider.rb +5 -0
- data/lib/puppet/pops/model/ast_transformer.rb +55 -31
- data/lib/puppet/pops/model/ast_tree_dumper.rb +9 -1
- data/lib/puppet/pops/model/factory.rb +265 -111
- data/lib/puppet/pops/model/model.rb +179 -140
- data/lib/puppet/pops/model/model_label_provider.rb +38 -9
- data/lib/puppet/pops/model/model_tree_dumper.rb +38 -13
- data/lib/puppet/pops/parser/code_merger.rb +17 -0
- data/lib/puppet/pops/parser/egrammar.ra +110 -61
- data/lib/puppet/pops/parser/eparser.rb +1415 -1092
- data/lib/puppet/pops/parser/epp_parser.rb +51 -0
- data/lib/puppet/pops/parser/epp_support.rb +247 -0
- data/lib/puppet/pops/parser/evaluating_parser.rb +53 -15
- data/lib/puppet/pops/parser/heredoc_support.rb +139 -0
- data/lib/puppet/pops/parser/interpolation_support.rb +227 -0
- data/lib/puppet/pops/parser/lexer.rb +83 -192
- data/lib/puppet/pops/parser/lexer2.rb +684 -0
- data/lib/puppet/pops/parser/lexer_support.rb +107 -0
- data/lib/puppet/pops/parser/locatable.rb +23 -0
- data/lib/puppet/pops/parser/locator.rb +291 -0
- data/lib/puppet/pops/parser/makefile +1 -8
- data/lib/puppet/pops/parser/parser_support.rb +76 -48
- data/lib/puppet/pops/parser/slurp_support.rb +95 -0
- data/lib/puppet/pops/patterns.rb +13 -4
- data/lib/puppet/pops/types/class_loader.rb +2 -2
- data/lib/puppet/pops/types/enumeration.rb +34 -0
- data/lib/puppet/pops/types/type_calculator.rb +983 -58
- data/lib/puppet/pops/types/type_factory.rb +203 -15
- data/lib/puppet/pops/types/type_parser.rb +355 -12
- data/lib/puppet/pops/types/types.rb +314 -24
- data/lib/puppet/pops/utils.rb +23 -7
- data/lib/puppet/pops/validation.rb +14 -8
- data/lib/puppet/pops/validation/checker3_1.rb +17 -12
- data/lib/puppet/pops/validation/checker4_0.rb +514 -0
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +31 -0
- data/lib/puppet/pops/visitor.rb +146 -4
- data/lib/puppet/property.rb +1 -1
- data/lib/puppet/property/ensure.rb +1 -1
- data/lib/puppet/provider.rb +47 -26
- data/lib/puppet/provider/aixobject.rb +3 -3
- data/lib/puppet/provider/augeas/augeas.rb +11 -11
- data/lib/puppet/provider/cron/crontab.rb +10 -1
- data/lib/puppet/provider/exec.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +1 -1
- data/lib/puppet/provider/exec/windows.rb +1 -1
- data/lib/puppet/provider/file/posix.rb +2 -2
- data/lib/puppet/provider/file/windows.rb +15 -9
- data/lib/puppet/provider/group/aix.rb +2 -2
- data/lib/puppet/provider/macauthorization/macauthorization.rb +3 -3
- data/lib/puppet/provider/mount.rb +7 -0
- data/lib/puppet/provider/mount/parsed.rb +0 -1
- data/lib/puppet/provider/naginator.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +3 -3
- data/lib/puppet/provider/nameservice/directoryservice.rb +3 -3
- data/lib/puppet/provider/package/aix.rb +1 -1
- data/lib/puppet/provider/package/appdmg.rb +1 -4
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +1 -1
- data/lib/puppet/provider/package/blastwave.rb +1 -1
- data/lib/puppet/provider/package/fink.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +3 -3
- data/lib/puppet/provider/package/openbsd.rb +6 -4
- data/lib/puppet/provider/package/pacman.rb +58 -5
- data/lib/puppet/provider/package/pip.rb +2 -2
- data/lib/puppet/provider/package/pkgdmg.rb +25 -10
- data/lib/puppet/provider/package/pkgin.rb +48 -23
- data/lib/puppet/provider/package/pkgutil.rb +1 -1
- data/lib/puppet/provider/package/ports.rb +1 -1
- data/lib/puppet/provider/package/portupgrade.rb +7 -7
- data/lib/puppet/provider/package/rpm.rb +16 -8
- data/lib/puppet/provider/package/windows.rb +1 -1
- data/lib/puppet/provider/package/windows/package.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/selboolean/getsetsebool.rb +1 -1
- data/lib/puppet/provider/selmodule/semodule.rb +5 -5
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/bsd.rb +3 -3
- data/lib/puppet/provider/service/daemontools.rb +20 -20
- data/lib/puppet/provider/service/debian.rb +1 -1
- data/lib/puppet/provider/service/freebsd.rb +3 -3
- data/lib/puppet/provider/service/gentoo.rb +2 -2
- data/lib/puppet/provider/service/init.rb +5 -5
- data/lib/puppet/provider/service/launchd.rb +4 -4
- data/lib/puppet/provider/service/redhat.rb +2 -2
- data/lib/puppet/provider/service/runit.rb +4 -4
- data/lib/puppet/provider/service/service.rb +3 -4
- data/lib/puppet/provider/service/smf.rb +1 -1
- data/lib/puppet/provider/service/src.rb +3 -3
- data/lib/puppet/provider/service/systemd.rb +4 -4
- data/lib/puppet/provider/service/upstart.rb +22 -7
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +3 -3
- data/lib/puppet/provider/user/aix.rb +5 -5
- data/lib/puppet/provider/user/directoryservice.rb +8 -5
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +2 -2
- data/lib/puppet/provider/user/useradd.rb +19 -5
- data/lib/puppet/provider/yumrepo/inifile.rb +187 -0
- data/lib/puppet/provider/zone/solaris.rb +4 -4
- data/lib/puppet/rails.rb +16 -11
- data/lib/puppet/rails/benchmark.rb +1 -1
- data/lib/puppet/rails/resource.rb +5 -1
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/report.rb +1 -1
- data/lib/puppet/relationship.rb +10 -5
- data/lib/puppet/reports/http.rb +8 -2
- data/lib/puppet/reports/rrdgraph.rb +1 -1
- data/lib/puppet/reports/store.rb +3 -3
- data/lib/puppet/reports/tagmail.rb +4 -4
- data/lib/puppet/resource.rb +37 -44
- data/lib/puppet/resource/catalog.rb +18 -20
- data/lib/puppet/resource/status.rb +7 -6
- data/lib/puppet/resource/type.rb +6 -5
- data/lib/puppet/resource/type_collection.rb +2 -2
- data/lib/puppet/run.rb +9 -8
- data/lib/puppet/settings.rb +395 -244
- data/lib/puppet/settings/base_setting.rb +10 -4
- data/lib/puppet/settings/config_file.rb +81 -44
- data/lib/puppet/settings/directory_setting.rb +1 -2
- data/lib/puppet/settings/file_setting.rb +12 -5
- data/lib/puppet/settings/ini_file.rb +171 -0
- data/lib/puppet/ssl/base.rb +4 -0
- data/lib/puppet/ssl/certificate_authority.rb +16 -11
- data/lib/puppet/ssl/certificate_authority/interface.rb +3 -2
- data/lib/puppet/ssl/certificate_factory.rb +50 -5
- data/lib/puppet/ssl/certificate_request.rb +2 -2
- data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
- data/lib/puppet/ssl/certificate_revocation_list.rb +3 -1
- data/lib/puppet/ssl/host.rb +9 -8
- data/lib/puppet/ssl/inventory.rb +1 -1
- data/lib/puppet/ssl/key.rb +1 -1
- data/lib/puppet/ssl/validator/default_validator.rb +1 -1
- data/lib/puppet/status.rb +8 -7
- data/lib/puppet/test/test_helper.rb +35 -4
- data/lib/puppet/transaction/event.rb +6 -5
- data/lib/puppet/transaction/report.rb +10 -10
- data/lib/puppet/type.rb +1 -3
- data/lib/puppet/type/augeas.rb +2 -1
- data/lib/puppet/type/cron.rb +41 -11
- data/lib/puppet/type/exec.rb +5 -5
- data/lib/puppet/type/file.rb +42 -4
- data/lib/puppet/type/file/content.rb +5 -6
- data/lib/puppet/type/file/ensure.rb +3 -3
- data/lib/puppet/type/file/source.rb +12 -6
- data/lib/puppet/type/file/target.rb +5 -5
- data/lib/puppet/type/k5login.rb +4 -4
- data/lib/puppet/type/mount.rb +1 -1
- data/lib/puppet/type/package.rb +79 -3
- data/lib/puppet/type/resources.rb +34 -5
- data/lib/puppet/type/selboolean.rb +1 -1
- data/lib/puppet/type/selmodule.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +2 -1
- data/lib/puppet/type/sshkey.rb +2 -1
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/user.rb +4 -1
- data/lib/puppet/type/yumrepo.rb +219 -344
- data/lib/puppet/type/zone.rb +15 -5
- data/lib/puppet/util.rb +14 -13
- data/lib/puppet/util/adsi.rb +19 -3
- data/lib/puppet/util/autoload.rb +27 -24
- data/lib/puppet/util/backups.rb +6 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +1 -1
- data/lib/puppet/util/colors.rb +4 -12
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/command_line/trollop.rb +3 -3
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +8 -1
- data/lib/puppet/util/execution.rb +12 -5
- data/lib/puppet/util/filetype.rb +5 -5
- data/lib/puppet/util/inifile.rb +19 -4
- data/lib/puppet/util/instrumentation/data.rb +5 -0
- data/lib/puppet/util/instrumentation/indirection_probe.rb +6 -1
- data/lib/puppet/util/instrumentation/listener.rb +6 -1
- data/lib/puppet/util/json_lockfile.rb +4 -1
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/lockfile.rb +10 -6
- data/lib/puppet/util/log.rb +6 -1
- data/lib/puppet/util/log/destinations.rb +2 -2
- data/lib/puppet/util/metric.rb +9 -4
- data/lib/puppet/util/nagios_maker.rb +26 -1
- data/lib/puppet/util/network_device.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +1 -1
- data/lib/puppet/util/network_device/transport/ssh.rb +3 -3
- data/lib/puppet/util/plugins.rb +1 -1
- data/lib/puppet/util/profiler.rb +13 -1
- data/lib/puppet/util/pson.rb +1 -1
- data/lib/puppet/util/queue/stomp.rb +2 -2
- data/lib/puppet/util/rdoc.rb +1 -1
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +19 -19
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/retryaction.rb +1 -1
- data/lib/puppet/util/selinux.rb +2 -2
- data/lib/puppet/util/storage.rb +3 -3
- data/lib/puppet/util/symbolic_file_mode.rb +1 -1
- data/lib/puppet/util/tag_set.rb +15 -3
- data/lib/puppet/util/tagging.rb +12 -17
- data/lib/puppet/util/watched_file.rb +1 -1
- data/lib/puppet/util/watcher.rb +1 -1
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +20 -4
- data/lib/puppet/util/windows/registry.rb +2 -2
- data/lib/puppet/vendor/safe_yaml/CHANGES.md +1 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppetx.rb +1 -21
- data/lib/puppetx/puppet/syntax_checker.rb +1 -1
- data/lib/puppetx/puppetlabs/syntax_checkers/json.rb +9 -11
- data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +2 -0
- data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +6 -0
- data/spec/fixtures/{unit/pops/binder/hiera2/yaml_backend/empty/common.yaml → integration/node/environment/sitedir/03_empty.pp} +0 -0
- data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +2 -0
- data/spec/fixtures/integration/provider/cron/crontab/purged +8 -0
- data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +1 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +3 -12
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +10 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +20 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/{awesome/lib/puppetx/awesome → awesome2/lib/puppetx/awesome2}/echo_scheme_handler.rb +2 -2
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +5 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +6 -0
- data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +2 -2
- data/spec/fixtures/unit/provider/service/systemd/{list_units → list_units_services} +0 -1
- data/spec/integration/agent/logging_spec.rb +1 -1
- data/spec/integration/application/apply_spec.rb +78 -3
- data/spec/integration/application/doc_spec.rb +3 -2
- data/spec/integration/configurer_spec.rb +5 -3
- data/spec/integration/directory_environments_spec.rb +50 -0
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
- data/spec/integration/indirector/file_content/file_server_spec.rb +4 -5
- data/spec/integration/network/authconfig_spec.rb +4 -4
- data/spec/integration/network/formats_spec.rb +1 -1
- data/spec/integration/node/environment_spec.rb +67 -15
- data/spec/integration/node/facts_spec.rb +1 -1
- data/spec/integration/node_spec.rb +1 -1
- data/spec/integration/parser/catalog_spec.rb +100 -60
- data/spec/integration/parser/compiler_spec.rb +102 -13
- data/spec/integration/parser/future_compiler_spec.rb +416 -0
- data/spec/integration/parser/parser_spec.rb +44 -105
- data/spec/integration/parser/scope_spec.rb +614 -528
- data/spec/integration/provider/cron/crontab_spec.rb +21 -0
- data/spec/integration/provider/mount_spec.rb +15 -2
- data/spec/integration/resource/catalog_spec.rb +1 -1
- data/spec/integration/resource/type_collection_spec.rb +3 -4
- data/spec/integration/ssl/autosign_spec.rb +1 -1
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
- data/spec/integration/ssl/host_spec.rb +1 -1
- data/spec/integration/transaction_spec.rb +13 -13
- data/spec/integration/type/exec_spec.rb +2 -2
- data/spec/integration/type/file_spec.rb +114 -41
- data/spec/integration/type/nagios_spec.rb +80 -0
- data/spec/integration/type/tidy_spec.rb +2 -2
- data/spec/integration/util/execution_spec.rb +17 -0
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/settings_spec.rb +1 -1
- data/spec/integration/util/windows/security_spec.rb +27 -2
- data/spec/lib/matchers/include.rb +27 -0
- data/spec/lib/matchers/include_spec.rb +32 -0
- data/spec/lib/matchers/json.rb +135 -79
- data/spec/lib/matchers/match_tokens2.rb +74 -0
- data/spec/lib/matchers/resource.rb +35 -0
- data/spec/lib/puppet/indirector/indirector_testing/memory.rb +7 -0
- data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +6 -0
- data/spec/lib/puppet/indirector_testing.rb +12 -2
- data/spec/lib/puppet_spec/files.rb +1 -0
- data/spec/lib/puppet_spec/matchers.rb +5 -0
- data/spec/lib/puppet_spec/modules.rb +1 -1
- data/spec/lib/puppet_spec/scope.rb +14 -0
- data/spec/shared_behaviours/file_server_terminus.rb +2 -2
- data/spec/spec_helper.rb +47 -17
- data/spec/unit/agent_spec.rb +8 -1
- data/spec/unit/application/agent_spec.rb +5 -4
- data/spec/unit/application/apply_spec.rb +34 -15
- data/spec/unit/application/device_spec.rb +27 -32
- data/spec/unit/application/doc_spec.rb +4 -4
- data/spec/unit/application/filebucket_spec.rb +1 -1
- data/spec/unit/application/master_spec.rb +2 -2
- data/spec/unit/application_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +1 -1
- data/spec/unit/configurer/fact_handler_spec.rb +5 -16
- data/spec/unit/configurer_spec.rb +2 -2
- data/spec/unit/confine/exists_spec.rb +5 -5
- data/spec/unit/context/trusted_information_spec.rb +124 -0
- data/spec/unit/context_spec.rb +74 -0
- data/spec/unit/environments_spec.rb +126 -0
- data/spec/unit/face/config_spec.rb +31 -16
- data/spec/unit/face/module/build_spec.rb +1 -0
- data/spec/unit/face/module/install_spec.rb +21 -104
- data/spec/unit/face/module/list_spec.rb +52 -36
- data/spec/unit/face/module/uninstall_spec.rb +18 -25
- data/spec/unit/face/parser_spec.rb +39 -23
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_serving/base_spec.rb +9 -13
- data/spec/unit/file_serving/configuration/parser_spec.rb +8 -2
- data/spec/unit/file_serving/configuration_spec.rb +7 -7
- data/spec/unit/file_serving/content_spec.rb +7 -12
- data/spec/unit/file_serving/fileset_spec.rb +49 -53
- data/spec/unit/file_serving/metadata_spec.rb +83 -32
- data/spec/unit/file_serving/mount/file_spec.rb +10 -10
- data/spec/unit/file_system/tempfile_spec.rb +3 -3
- data/spec/unit/file_system_spec.rb +508 -0
- data/spec/unit/forge/errors_spec.rb +1 -1
- data/spec/unit/forge/repository_spec.rb +1 -3
- data/spec/unit/hiera/scope_spec.rb +6 -2
- data/spec/unit/hiera_puppet_spec.rb +13 -6
- data/spec/unit/indirector/catalog/msgpack_spec.rb +12 -0
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +42 -11
- data/spec/unit/indirector/direct_file_server_spec.rb +6 -6
- data/spec/unit/indirector/facts/facter_spec.rb +5 -5
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -4
- data/spec/unit/indirector/file_metadata/file_spec.rb +2 -2
- data/spec/unit/indirector/file_server_spec.rb +4 -4
- data/spec/unit/indirector/json_spec.rb +6 -6
- data/spec/unit/indirector/key/file_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +191 -0
- data/spec/unit/indirector/node/active_record_spec.rb +1 -1
- data/spec/unit/indirector/node/ldap_spec.rb +16 -7
- data/spec/unit/indirector/node/msgpack_spec.rb +24 -0
- data/spec/unit/indirector/node/plain_spec.rb +1 -1
- data/spec/unit/indirector/queue_spec.rb +1 -1
- data/spec/unit/indirector/report/msgpack_spec.rb +28 -0
- data/spec/unit/indirector/request_spec.rb +16 -8
- data/spec/unit/indirector/rest_spec.rb +0 -4
- data/spec/unit/indirector/ssl_file_spec.rb +12 -11
- data/spec/unit/indirector/yaml_spec.rb +4 -4
- data/spec/unit/man_spec.rb +32 -0
- data/spec/unit/module_spec.rb +60 -46
- data/spec/unit/module_tool/applications/checksummer_spec.rb +1 -1
- data/spec/unit/module_tool/applications/installer_spec.rb +53 -16
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +26 -25
- data/spec/unit/module_tool/tar_spec.rb +1 -1
- data/spec/unit/module_tool_spec.rb +17 -90
- data/spec/unit/network/authconfig_spec.rb +3 -4
- data/spec/unit/network/authentication_spec.rb +20 -6
- data/spec/unit/network/authorization_spec.rb +11 -1
- data/spec/unit/network/formats_spec.rb +32 -9
- data/spec/unit/network/http/api/v1_spec.rb +365 -62
- data/spec/unit/network/http/api/v2/authorization_spec.rb +57 -0
- data/spec/unit/network/http/api/v2/environments_spec.rb +42 -0
- data/spec/unit/network/http/api/v2_spec.rb +14 -0
- data/spec/unit/network/http/connection_spec.rb +39 -5
- data/spec/unit/network/http/error_spec.rb +30 -0
- data/spec/unit/network/http/handler_spec.rb +69 -419
- data/spec/unit/network/http/rack/rest_spec.rb +20 -28
- data/spec/unit/network/http/route_spec.rb +75 -0
- data/spec/unit/network/http/webrick/rest_spec.rb +21 -58
- data/spec/unit/network/http_pool_spec.rb +3 -3
- data/spec/unit/network/rights_spec.rb +2 -2
- data/spec/unit/node/environment_spec.rb +108 -89
- data/spec/unit/node/facts_spec.rb +5 -12
- data/spec/unit/node_spec.rb +22 -22
- data/spec/unit/parser/ast/collection_spec.rb +1 -1
- data/spec/unit/parser/ast/leaf_spec.rb +2 -0
- data/spec/unit/parser/ast/resource_spec.rb +1 -1
- data/spec/unit/parser/compiler_spec.rb +5 -3
- data/spec/unit/parser/files_spec.rb +40 -50
- data/spec/unit/parser/functions/defined_spec.rb +80 -18
- data/spec/unit/parser/functions/epp_spec.rb +88 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +4 -1
- data/spec/unit/parser/functions/generate_spec.rb +6 -2
- data/spec/unit/parser/functions/hiera_array_spec.rb +5 -2
- data/spec/unit/parser/functions/hiera_hash_spec.rb +4 -1
- data/spec/unit/parser/functions/hiera_include_spec.rb +6 -3
- data/spec/unit/parser/functions/hiera_spec.rb +5 -2
- data/spec/unit/parser/functions/include_spec.rb +0 -1
- data/spec/unit/parser/functions/inline_epp_spec.rb +82 -0
- data/spec/unit/parser/functions/lookup_spec.rb +66 -16
- data/spec/unit/parser/functions_spec.rb +25 -91
- data/spec/unit/parser/lexer_spec.rb +1 -1
- data/spec/unit/parser/methods/filter_spec.rb +56 -0
- data/spec/unit/parser/methods/map_spec.rb +94 -5
- data/spec/unit/parser/methods/reduce_spec.rb +10 -0
- data/spec/unit/parser/methods/shared.rb +2 -18
- data/spec/unit/parser/methods/slice_spec.rb +39 -1
- data/spec/unit/parser/parser_spec.rb +14 -10
- data/spec/unit/parser/resource_spec.rb +3 -9
- data/spec/unit/parser/scope_spec.rb +81 -78
- data/spec/unit/parser/type_loader_spec.rb +0 -4
- data/spec/unit/pops/benchmark_spec.rb +142 -0
- data/spec/unit/pops/binder/binder_spec.rb +15 -34
- data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -41
- data/spec/unit/pops/binder/bindings_composer_spec.rb +6 -31
- data/spec/unit/pops/binder/config/binder_config_spec.rb +5 -18
- data/spec/unit/pops/binder/injector_spec.rb +76 -81
- data/spec/unit/pops/evaluator/access_ops_spec.rb +376 -0
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +77 -0
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +103 -0
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +111 -0
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +256 -0
- data/spec/unit/pops/evaluator/conditionals_spec.rb +190 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +1045 -0
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +75 -0
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +90 -0
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +44 -0
- data/spec/unit/pops/evaluator/variables_spec.rb +194 -0
- data/spec/unit/pops/factory_spec.rb +6 -29
- data/spec/unit/pops/issues_spec.rb +1 -1
- data/spec/unit/pops/model/ast_transformer_spec.rb +6 -9
- data/spec/unit/pops/model/model_spec.rb +2 -2
- data/spec/unit/pops/parser/epp_parser_spec.rb +86 -0
- data/spec/unit/pops/parser/evaluating_parser_spec.rb +4 -2
- data/spec/unit/pops/parser/lexer2_spec.rb +428 -0
- data/spec/unit/pops/parser/lexer_spec.rb +25 -86
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +29 -4
- data/spec/unit/pops/parser/parse_calls_spec.rb +10 -6
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -9
- data/spec/unit/pops/parser/parse_containers_spec.rb +43 -12
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +73 -0
- data/spec/unit/pops/parser/parse_resource_spec.rb +14 -0
- data/spec/unit/pops/parser/parser_spec.rb +3 -1
- data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +4 -4
- data/spec/unit/pops/transformer/transform_calls_spec.rb +41 -6
- data/spec/unit/pops/transformer/transform_conditionals_spec.rb +0 -9
- data/spec/unit/pops/transformer/transform_containers_spec.rb +12 -4
- data/spec/unit/pops/types/enumeration_spec.rb +50 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +1171 -196
- data/spec/unit/pops/types/type_factory_spec.rb +108 -4
- data/spec/unit/pops/types/type_parser_spec.rb +114 -10
- data/spec/unit/pops/validator/validator_spec.rb +36 -1
- data/spec/unit/provider/augeas/augeas_spec.rb +39 -16
- data/spec/unit/provider/cron/parsed_spec.rb +27 -31
- data/spec/unit/provider/file/posix_spec.rb +2 -2
- data/spec/unit/provider/group/windows_adsi_spec.rb +1 -0
- data/spec/unit/provider/mount_spec.rb +12 -1
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +3 -3
- data/spec/unit/provider/package/apt_spec.rb +1 -1
- data/spec/unit/provider/package/aptrpm_spec.rb +1 -1
- data/spec/unit/provider/package/gem_spec.rb +12 -0
- data/spec/unit/provider/package/msi_spec.rb +4 -0
- data/spec/unit/provider/package/openbsd_spec.rb +10 -10
- data/spec/unit/provider/package/pacman_spec.rb +36 -7
- data/spec/unit/provider/package/pkgin_spec.rb +57 -55
- data/spec/unit/provider/package/rpm_spec.rb +51 -6
- data/spec/unit/provider/service/base_spec.rb +4 -4
- data/spec/unit/provider/service/daemontools_spec.rb +8 -13
- data/spec/unit/provider/service/freebsd_spec.rb +3 -3
- data/spec/unit/provider/service/gentoo_spec.rb +24 -24
- data/spec/unit/provider/service/init_spec.rb +15 -15
- data/spec/unit/provider/service/openbsd_spec.rb +16 -16
- data/spec/unit/provider/service/openrc_spec.rb +20 -20
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +5 -8
- data/spec/unit/provider/service/src_spec.rb +4 -4
- data/spec/unit/provider/service/systemd_spec.rb +24 -14
- data/spec/unit/provider/service/upstart_spec.rb +12 -4
- data/spec/unit/provider/service/windows_spec.rb +1 -1
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +21 -23
- data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
- data/spec/unit/provider/user/useradd_spec.rb +43 -15
- data/spec/unit/provider/user/windows_adsi_spec.rb +1 -0
- data/spec/unit/provider/yumrepo/inifile_spec.rb +105 -0
- data/spec/unit/provider/zone/solaris_spec.rb +1 -1
- data/spec/unit/provider_spec.rb +120 -62
- data/spec/unit/rails/host_spec.rb +1 -1
- data/spec/unit/rails/param_value_spec.rb +4 -0
- data/spec/unit/relationship_spec.rb +4 -4
- data/spec/unit/reports/http_spec.rb +14 -3
- data/spec/unit/reports/rrdgraph_spec.rb +0 -1
- data/spec/unit/reports/store_spec.rb +2 -2
- data/spec/unit/resource/catalog_spec.rb +17 -29
- data/spec/unit/resource/status_spec.rb +1 -1
- data/spec/unit/resource/type_collection_spec.rb +28 -47
- data/spec/unit/resource/type_spec.rb +12 -23
- data/spec/unit/resource_spec.rb +54 -93
- data/spec/unit/run_spec.rb +3 -3
- data/spec/unit/settings/autosign_setting_spec.rb +1 -1
- data/spec/unit/settings/config_file_spec.rb +68 -15
- data/spec/unit/settings/file_setting_spec.rb +2 -2
- data/spec/unit/settings/ini_file_spec.rb +184 -0
- data/spec/unit/settings_spec.rb +137 -79
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +3 -1
- data/spec/unit/ssl/certificate_authority_spec.rb +11 -9
- data/spec/unit/ssl/certificate_factory_spec.rb +19 -4
- data/spec/unit/ssl/certificate_request_attributes_spec.rb +1 -1
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +101 -72
- data/spec/unit/ssl/host_spec.rb +8 -20
- data/spec/unit/ssl/inventory_spec.rb +2 -2
- data/spec/unit/ssl/key_spec.rb +4 -4
- data/spec/unit/status_spec.rb +6 -4
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -11
- data/spec/unit/transaction/event_spec.rb +2 -2
- data/spec/unit/transaction/report_spec.rb +24 -15
- data/spec/unit/transaction/resource_harness_spec.rb +1 -1
- data/spec/unit/type/cron_spec.rb +39 -1
- data/spec/unit/type/file/content_spec.rb +4 -5
- data/spec/unit/type/file/ctime_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +5 -4
- data/spec/unit/type/file/mtime_spec.rb +1 -1
- data/spec/unit/type/file/source_spec.rb +30 -7
- data/spec/unit/type/file_spec.rb +8 -8
- data/spec/unit/type/k5login_spec.rb +3 -3
- data/spec/unit/type/nagios_spec.rb +6 -0
- data/spec/unit/type/package/package_settings_spec.rb +135 -0
- data/spec/unit/type/package_spec.rb +13 -1
- data/spec/unit/type/resources_spec.rb +155 -0
- data/spec/unit/type/service_spec.rb +3 -3
- data/spec/unit/type/ssh_authorized_key_spec.rb +96 -93
- data/spec/unit/type/sshkey_spec.rb +39 -30
- data/spec/unit/type/tidy_spec.rb +19 -12
- data/spec/unit/type/user_spec.rb +47 -2
- data/spec/unit/type/whit_spec.rb +2 -2
- data/spec/unit/type/yumrepo_spec.rb +32 -177
- data/spec/unit/type/zone_spec.rb +2 -2
- data/spec/unit/type_spec.rb +11 -0
- data/spec/unit/util/adsi_spec.rb +48 -1
- data/spec/unit/util/autoload_spec.rb +24 -39
- data/spec/unit/util/backups_spec.rb +25 -28
- data/spec/unit/util/checksums_spec.rb +1 -3
- data/spec/unit/util/colors_spec.rb +14 -0
- data/spec/unit/util/docs_spec.rb +9 -0
- data/spec/unit/util/execution_spec.rb +1 -1
- data/spec/unit/util/filetype_spec.rb +7 -7
- data/spec/unit/util/instrumentation/data_spec.rb +3 -1
- data/spec/unit/util/instrumentation/indirection_probe_spec.rb +2 -0
- data/spec/unit/util/instrumentation/listener_spec.rb +3 -2
- data/spec/unit/util/json_lockfile_spec.rb +25 -4
- data/spec/unit/util/lockfile_spec.rb +49 -7
- data/spec/unit/util/log/destinations_spec.rb +1 -0
- data/spec/unit/util/log_spec.rb +1 -1
- data/spec/unit/util/metric_spec.rb +1 -1
- data/spec/unit/util/pidlock_spec.rb +6 -6
- data/spec/unit/util/pson_spec.rb +2 -2
- data/spec/unit/util/rdoc/parser_spec.rb +32 -29
- data/spec/unit/util/resource_template_spec.rb +3 -3
- data/spec/unit/util/selinux_spec.rb +5 -5
- data/spec/unit/util/storage_spec.rb +4 -4
- data/spec/unit/util/tag_set_spec.rb +1 -1
- data/spec/unit/util/watcher_spec.rb +1 -4
- data/spec/unit/util/yaml_spec.rb +2 -2
- data/spec/unit/util_spec.rb +7 -7
- data/tasks/benchmark.rake +0 -1
- data/tasks/parallel.rake +408 -0
- data/tasks/yard.rake +59 -0
- metadata +2889 -2782
- checksums.yaml +0 -7
- data/README_DEVELOPER.md +0 -809
- data/lib/puppet/file_system/file.rb +0 -271
- data/lib/puppet/network/http/rack/httphandler.rb +0 -13
- data/lib/puppet/pops/binder/hiera2.rb +0 -10
- data/lib/puppet/pops/binder/hiera2/bindings_provider.rb +0 -148
- data/lib/puppet/pops/binder/hiera2/config.rb +0 -69
- data/lib/puppet/pops/binder/hiera2/config_checker.rb +0 -68
- data/lib/puppet/pops/binder/hiera2/diagnostic_producer.rb +0 -36
- data/lib/puppet/pops/binder/hiera2/issues.rb +0 -67
- data/lib/puppet/pops/binder/hiera2/json_backend.rb +0 -18
- data/lib/puppet/pops/binder/hiera2/yaml_backend.rb +0 -21
- data/lib/puppet/pops/binder/scheme_handler/confdir_hiera_scheme.rb +0 -67
- data/lib/puppet/pops/binder/scheme_handler/module_hiera_scheme.rb +0 -92
- data/lib/puppet/pops/parser/grammar.ra +0 -746
- data/lib/puppet/provider/port/parsed.rb +0 -173
- data/lib/puppet/type/port.rb +0 -119
- data/lib/puppetx/puppet/hiera2_backend.rb +0 -31
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/binder_config.yaml +0 -18
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/hiera.yaml +0 -8
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/common.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/hiera.yaml +0 -10
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/common.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/hiera.yaml +0 -11
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/localhost.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/common.yaml +0 -3
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/hiera.yaml +0 -13
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppet/bindings/awesome/default.rb +0 -4
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppetx/awesome/echo_backend.rb +0 -11
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/localhost.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/common.yaml +0 -3
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/hiera_config.yaml +0 -9
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/common.yaml +0 -2
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/hiera.yaml +0 -11
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/hiera.yaml +0 -9
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.json +0 -9
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.yaml +0 -5
- data/spec/fixtures/unit/pops/binder/hiera2/config/bad_syntax/hiera.yaml +0 -10
- data/spec/fixtures/unit/pops/binder/hiera2/config/malformed_hierarchy/hiera.yaml +0 -8
- data/spec/fixtures/unit/pops/binder/hiera2/config/missing/foo.txt +0 -1
- data/spec/fixtures/unit/pops/binder/hiera2/config/no_backends/hiera.yaml +0 -7
- data/spec/fixtures/unit/pops/binder/hiera2/config/no_hierarchy/hiera.yaml +0 -4
- data/spec/fixtures/unit/pops/binder/hiera2/config/not_a_hash/hiera.yaml +0 -2
- data/spec/fixtures/unit/pops/binder/hiera2/config/ok/hiera.yaml +0 -8
- data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/invalid/common.yaml +0 -1
- data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/ok/common.yaml +0 -2
- data/spec/unit/file_system/file_spec.rb +0 -486
- data/spec/unit/pops/binder/hiera2/bindings_provider_spec.rb +0 -74
- data/spec/unit/pops/binder/hiera2/config_spec.rb +0 -61
- data/spec/unit/pops/binder/hiera2/yaml_backend_spec.rb +0 -33
data/spec/unit/resource_spec.rb
CHANGED
@@ -5,7 +5,8 @@ require 'puppet/resource'
|
|
5
5
|
describe Puppet::Resource do
|
6
6
|
include PuppetSpec::Files
|
7
7
|
|
8
|
-
let
|
8
|
+
let(:basepath) { make_absolute("/somepath") }
|
9
|
+
let(:environment) { Puppet::Node::Environment.create(:testing, [], '') }
|
9
10
|
|
10
11
|
[:catalog, :file, :line].each do |attr|
|
11
12
|
it "should have an #{attr} attribute" do
|
@@ -120,10 +121,6 @@ describe Puppet::Resource do
|
|
120
121
|
resource.should be_exported
|
121
122
|
end
|
122
123
|
|
123
|
-
it "should support an environment attribute" do
|
124
|
-
Puppet::Resource.new("file", "/my/file", :environment => :foo).environment.name.should == :foo
|
125
|
-
end
|
126
|
-
|
127
124
|
describe "and munging its type and title" do
|
128
125
|
describe "when modeling a builtin resource" do
|
129
126
|
it "should be able to find the resource type" do
|
@@ -139,19 +136,19 @@ describe Puppet::Resource do
|
|
139
136
|
describe "that exists" do
|
140
137
|
before do
|
141
138
|
@type = Puppet::Resource::Type.new(:definition, "foo::bar")
|
142
|
-
|
139
|
+
environment.known_resource_types.add @type
|
143
140
|
end
|
144
141
|
|
145
142
|
it "should set its type to the capitalized type name" do
|
146
|
-
Puppet::Resource.new("foo::bar", "/my/file").type.should == "Foo::Bar"
|
143
|
+
Puppet::Resource.new("foo::bar", "/my/file", :environment => environment).type.should == "Foo::Bar"
|
147
144
|
end
|
148
145
|
|
149
146
|
it "should be able to find the resource type" do
|
150
|
-
Puppet::Resource.new("foo::bar", "/my/file").resource_type.should equal(@type)
|
147
|
+
Puppet::Resource.new("foo::bar", "/my/file", :environment => environment).resource_type.should equal(@type)
|
151
148
|
end
|
152
149
|
|
153
150
|
it "should set its title to the provided title" do
|
154
|
-
Puppet::Resource.new("foo::bar", "/my/file").title.should == "/my/file"
|
151
|
+
Puppet::Resource.new("foo::bar", "/my/file", :environment => environment).title.should == "/my/file"
|
155
152
|
end
|
156
153
|
end
|
157
154
|
|
@@ -179,15 +176,15 @@ describe Puppet::Resource do
|
|
179
176
|
describe "that exists" do
|
180
177
|
before do
|
181
178
|
@type = Puppet::Resource::Type.new(:hostclass, "foo::bar")
|
182
|
-
|
179
|
+
environment.known_resource_types.add @type
|
183
180
|
end
|
184
181
|
|
185
182
|
it "should set its title to the capitalized, fully qualified resource type" do
|
186
|
-
Puppet::Resource.new("class", "foo::bar").title.should == "Foo::Bar"
|
183
|
+
Puppet::Resource.new("class", "foo::bar", :environment => environment).title.should == "Foo::Bar"
|
187
184
|
end
|
188
185
|
|
189
186
|
it "should be able to find the resource type" do
|
190
|
-
Puppet::Resource.new("class", "foo::bar").resource_type.should equal(@type)
|
187
|
+
Puppet::Resource.new("class", "foo::bar", :environment => environment).resource_type.should equal(@type)
|
191
188
|
end
|
192
189
|
end
|
193
190
|
|
@@ -207,9 +204,9 @@ describe Puppet::Resource do
|
|
207
204
|
describe "and a class exists whose name is the empty string" do # this was a bit tough to track down
|
208
205
|
it "should set its title to :main" do
|
209
206
|
@type = Puppet::Resource::Type.new(:hostclass, "")
|
210
|
-
|
207
|
+
environment.known_resource_types.add @type
|
211
208
|
|
212
|
-
Puppet::Resource.new("class", "").title.should == :main
|
209
|
+
Puppet::Resource.new("class", "", :environment => environment).title.should == :main
|
213
210
|
end
|
214
211
|
end
|
215
212
|
end
|
@@ -222,9 +219,9 @@ describe Puppet::Resource do
|
|
222
219
|
describe "and a class exists whose name is the empty string" do # this was a bit tough to track down
|
223
220
|
it "should set its title to :main" do
|
224
221
|
@type = Puppet::Resource::Type.new(:hostclass, "")
|
225
|
-
|
222
|
+
environment.known_resource_types.add @type
|
226
223
|
|
227
|
-
Puppet::Resource.new("class", :main).title.should == :main
|
224
|
+
Puppet::Resource.new("class", :main, :environment => environment).title.should == :main
|
228
225
|
end
|
229
226
|
end
|
230
227
|
end
|
@@ -237,8 +234,8 @@ describe Puppet::Resource do
|
|
237
234
|
|
238
235
|
it "should not fail when an invalid parameter is used and strict mode is disabled" do
|
239
236
|
type = Puppet::Resource::Type.new(:definition, "foobar")
|
240
|
-
|
241
|
-
resource = Puppet::Resource.new("foobar", "/my/file")
|
237
|
+
environment.known_resource_types.add type
|
238
|
+
resource = Puppet::Resource.new("foobar", "/my/file", :environment => environment)
|
242
239
|
resource[:yay] = true
|
243
240
|
end
|
244
241
|
|
@@ -267,7 +264,7 @@ describe Puppet::Resource do
|
|
267
264
|
end
|
268
265
|
|
269
266
|
describe "when setting default parameters" do
|
270
|
-
let(:foo_node) { Puppet::Node.new('foo') }
|
267
|
+
let(:foo_node) { Puppet::Node.new('foo', :environment => environment) }
|
271
268
|
let(:compiler) { Puppet::Parser::Compiler.new(foo_node) }
|
272
269
|
let(:scope) { Puppet::Parser::Scope.new(compiler) }
|
273
270
|
|
@@ -276,15 +273,15 @@ describe Puppet::Resource do
|
|
276
273
|
end
|
277
274
|
|
278
275
|
it "should fail when asked to set default values and it is not a parser resource" do
|
279
|
-
|
276
|
+
environment.known_resource_types.add(
|
280
277
|
Puppet::Resource::Type.new(:definition, "default_param", :arguments => {"a" => ast_string("default")})
|
281
278
|
)
|
282
|
-
resource = Puppet::Resource.new("default_param", "name")
|
279
|
+
resource = Puppet::Resource.new("default_param", "name", :environment => environment)
|
283
280
|
lambda { resource.set_default_parameters(scope) }.should raise_error(Puppet::DevError)
|
284
281
|
end
|
285
282
|
|
286
283
|
it "should evaluate and set any default values when no value is provided" do
|
287
|
-
|
284
|
+
environment.known_resource_types.add(
|
288
285
|
Puppet::Resource::Type.new(:definition, "default_param", :arguments => {"a" => ast_string("a_default_value")})
|
289
286
|
)
|
290
287
|
resource = Puppet::Parser::Resource.new("default_param", "name", :scope => scope)
|
@@ -293,7 +290,7 @@ describe Puppet::Resource do
|
|
293
290
|
end
|
294
291
|
|
295
292
|
it "should skip attributes with no default value" do
|
296
|
-
|
293
|
+
environment.known_resource_types.add(
|
297
294
|
Puppet::Resource::Type.new(:definition, "no_default_param", :arguments => {"a" => ast_string("a_default_value")})
|
298
295
|
)
|
299
296
|
resource = Puppet::Parser::Resource.new("no_default_param", "name", :scope => scope)
|
@@ -301,7 +298,7 @@ describe Puppet::Resource do
|
|
301
298
|
end
|
302
299
|
|
303
300
|
it "should return the list of default parameters set" do
|
304
|
-
|
301
|
+
environment.known_resource_types.add(
|
305
302
|
Puppet::Resource::Type.new(:definition, "default_param", :arguments => {"a" => ast_string("a_default_value")})
|
306
303
|
)
|
307
304
|
resource = Puppet::Parser::Resource.new("default_param", "name", :scope => scope)
|
@@ -315,11 +312,10 @@ describe Puppet::Resource do
|
|
315
312
|
let(:apache) { Puppet::Resource::Type.new(:hostclass, 'apache', :arguments => { 'port' => port }) }
|
316
313
|
|
317
314
|
before do
|
318
|
-
environment = Puppet::Node::Environment.new(environment_name)
|
319
315
|
environment.known_resource_types.add(apache)
|
320
316
|
|
321
317
|
scope.stubs(:host).returns('host')
|
322
|
-
scope.stubs(:environment).returns(
|
318
|
+
scope.stubs(:environment).returns(environment)
|
323
319
|
scope.stubs(:facts).returns(Puppet::Node::Facts.new("facts", fact_values))
|
324
320
|
end
|
325
321
|
|
@@ -338,14 +334,6 @@ describe Puppet::Resource do
|
|
338
334
|
resource.set_default_parameters(scope)
|
339
335
|
end
|
340
336
|
|
341
|
-
it "should query the injector using a namespaced key" do
|
342
|
-
compiler.injector.expects(:lookup).with(scope, 'apache::port').returns("8081")
|
343
|
-
|
344
|
-
resource.set_default_parameters(scope)
|
345
|
-
|
346
|
-
resource[:port].should == "8081"
|
347
|
-
end
|
348
|
-
|
349
337
|
it "should use the value from the data_binding terminus" do
|
350
338
|
Puppet::DataBinding.indirection.expects(:find).returns('443')
|
351
339
|
|
@@ -354,23 +342,6 @@ describe Puppet::Resource do
|
|
354
342
|
resource[:port].should == '443'
|
355
343
|
end
|
356
344
|
|
357
|
-
it "should use the value from the injector" do
|
358
|
-
compiler.injector.expects(:lookup).with(scope, 'apache::port').returns('443')
|
359
|
-
|
360
|
-
resource.set_default_parameters(scope)
|
361
|
-
|
362
|
-
resource[:port].should == '443'
|
363
|
-
end
|
364
|
-
|
365
|
-
it "should not call the DataBinding terminus when injector produces a value" do
|
366
|
-
compiler.injector.expects(:lookup).with(scope, 'apache::port').returns('443')
|
367
|
-
Puppet::DataBinding.indirection.expects(:find).never()
|
368
|
-
|
369
|
-
resource.set_default_parameters(scope)
|
370
|
-
|
371
|
-
resource[:port].should == '443'
|
372
|
-
end
|
373
|
-
|
374
345
|
it "should use the default value if the data_binding terminus returns nil" do
|
375
346
|
Puppet::DataBinding.indirection.expects(:find).returns(nil)
|
376
347
|
|
@@ -386,14 +357,6 @@ describe Puppet::Resource do
|
|
386
357
|
}.to raise_error(Puppet::Error, /Error from DataBinding 'hiera' while looking up 'apache::port':.*Forgettabotit/)
|
387
358
|
end
|
388
359
|
|
389
|
-
it "should use the default value if the injector returns nil" do
|
390
|
-
compiler.injector.expects(:lookup).returns(nil)
|
391
|
-
Puppet::DataBinding.indirection.expects(:find).returns(nil)
|
392
|
-
|
393
|
-
resource.set_default_parameters(scope)
|
394
|
-
|
395
|
-
resource[:port].should == '80'
|
396
|
-
end
|
397
360
|
end
|
398
361
|
|
399
362
|
context "when a value is provided" do
|
@@ -431,17 +394,17 @@ describe Puppet::Resource do
|
|
431
394
|
|
432
395
|
describe "when validating all required parameters are present" do
|
433
396
|
it "should be able to validate that all required parameters are present" do
|
434
|
-
|
397
|
+
environment.known_resource_types.add(
|
435
398
|
Puppet::Resource::Type.new(:definition, "required_param", :arguments => {"a" => nil})
|
436
399
|
)
|
437
|
-
lambda { Puppet::Resource.new("required_param", "name").validate_complete }.should raise_error(Puppet::ParseError)
|
400
|
+
lambda { Puppet::Resource.new("required_param", "name", :environment => environment).validate_complete }.should raise_error(Puppet::ParseError)
|
438
401
|
end
|
439
402
|
|
440
403
|
it "should not fail when all required parameters are present" do
|
441
|
-
|
404
|
+
environment.known_resource_types.add(
|
442
405
|
Puppet::Resource::Type.new(:definition, "no_required_param")
|
443
406
|
)
|
444
|
-
resource = Puppet::Resource.new("no_required_param", "name")
|
407
|
+
resource = Puppet::Resource.new("no_required_param", "name", :environment => environment)
|
445
408
|
resource["a"] = "meh"
|
446
409
|
lambda { resource.validate_complete }.should_not raise_error
|
447
410
|
end
|
@@ -488,14 +451,14 @@ describe Puppet::Resource do
|
|
488
451
|
|
489
452
|
it "should correctly detect when provided parameters are not valid for defined resource types" do
|
490
453
|
type = Puppet::Resource::Type.new(:definition, "foobar")
|
491
|
-
|
492
|
-
Puppet::Resource.new("foobar", "/my/file").should_not be_valid_parameter("myparam")
|
454
|
+
environment.known_resource_types.add type
|
455
|
+
Puppet::Resource.new("foobar", "/my/file", :environment => environment).should_not be_valid_parameter("myparam")
|
493
456
|
end
|
494
457
|
|
495
458
|
it "should correctly detect when provided parameters are valid for defined resource types" do
|
496
459
|
type = Puppet::Resource::Type.new(:definition, "foobar", :arguments => {"myparam" => nil})
|
497
|
-
|
498
|
-
Puppet::Resource.new("foobar", "/my/file").should be_valid_parameter("myparam")
|
460
|
+
environment.known_resource_types.add type
|
461
|
+
Puppet::Resource.new("foobar", "/my/file", :environment => environment).should be_valid_parameter("myparam")
|
499
462
|
end
|
500
463
|
|
501
464
|
it "should allow setting and retrieving of parameters" do
|
@@ -636,11 +599,9 @@ describe Puppet::Resource do
|
|
636
599
|
describe "when serializing a defined type" do
|
637
600
|
before do
|
638
601
|
type = Puppet::Resource::Type.new(:definition, "foo::bar")
|
639
|
-
|
640
|
-
end
|
602
|
+
environment.known_resource_types.add type
|
641
603
|
|
642
|
-
|
643
|
-
@resource = Puppet::Resource.new('foo::bar', 'xyzzy')
|
604
|
+
@resource = Puppet::Resource.new('foo::bar', 'xyzzy', :environment => environment)
|
644
605
|
@resource['one'] = 'test'
|
645
606
|
@resource['two'] = 'other'
|
646
607
|
@resource.resource_type
|
@@ -710,45 +671,45 @@ describe Puppet::Resource do
|
|
710
671
|
# trap the actual data structure then.
|
711
672
|
|
712
673
|
it "should set its type to the provided type" do
|
713
|
-
Puppet::Resource.
|
674
|
+
Puppet::Resource.from_data_hash(PSON.parse(Puppet::Resource.new("File", "/foo").to_pson)).type.should == "File"
|
714
675
|
end
|
715
676
|
|
716
677
|
it "should set its title to the provided title" do
|
717
|
-
Puppet::Resource.
|
678
|
+
Puppet::Resource.from_data_hash(PSON.parse(Puppet::Resource.new("File", "/foo").to_pson)).title.should == "/foo"
|
718
679
|
end
|
719
680
|
|
720
681
|
it "should include all tags from the resource" do
|
721
682
|
resource = Puppet::Resource.new("File", "/foo")
|
722
683
|
resource.tag("yay")
|
723
684
|
|
724
|
-
Puppet::Resource.
|
685
|
+
Puppet::Resource.from_data_hash(PSON.parse(resource.to_pson)).tags.should == resource.tags
|
725
686
|
end
|
726
687
|
|
727
688
|
it "should include the file if one is set" do
|
728
689
|
resource = Puppet::Resource.new("File", "/foo")
|
729
690
|
resource.file = "/my/file"
|
730
691
|
|
731
|
-
Puppet::Resource.
|
692
|
+
Puppet::Resource.from_data_hash(PSON.parse(resource.to_pson)).file.should == "/my/file"
|
732
693
|
end
|
733
694
|
|
734
695
|
it "should include the line if one is set" do
|
735
696
|
resource = Puppet::Resource.new("File", "/foo")
|
736
697
|
resource.line = 50
|
737
698
|
|
738
|
-
Puppet::Resource.
|
699
|
+
Puppet::Resource.from_data_hash(PSON.parse(resource.to_pson)).line.should == 50
|
739
700
|
end
|
740
701
|
|
741
702
|
it "should include the 'exported' value if one is set" do
|
742
703
|
resource = Puppet::Resource.new("File", "/foo")
|
743
704
|
resource.exported = true
|
744
705
|
|
745
|
-
Puppet::Resource.
|
706
|
+
Puppet::Resource.from_data_hash(PSON.parse(resource.to_pson)).exported?.should be_true
|
746
707
|
end
|
747
708
|
|
748
709
|
it "should set 'exported' to false if no value is set" do
|
749
710
|
resource = Puppet::Resource.new("File", "/foo")
|
750
711
|
|
751
|
-
Puppet::Resource.
|
712
|
+
Puppet::Resource.from_data_hash(PSON.parse(resource.to_pson)).exported?.should be_false
|
752
713
|
end
|
753
714
|
|
754
715
|
it "should set all of its parameters as the 'parameters' entry" do
|
@@ -756,7 +717,7 @@ describe Puppet::Resource do
|
|
756
717
|
resource[:foo] = %w{bar eh}
|
757
718
|
resource[:fee] = %w{baz}
|
758
719
|
|
759
|
-
result = Puppet::Resource.
|
720
|
+
result = Puppet::Resource.from_data_hash(PSON.parse(resource.to_pson))
|
760
721
|
result["foo"].should == %w{bar eh}
|
761
722
|
result["fee"].should == %w{baz}
|
762
723
|
end
|
@@ -764,14 +725,14 @@ describe Puppet::Resource do
|
|
764
725
|
it "should serialize relationships as reference strings" do
|
765
726
|
resource = Puppet::Resource.new("File", "/foo")
|
766
727
|
resource[:requires] = Puppet::Resource.new("File", "/bar")
|
767
|
-
result = Puppet::Resource.
|
728
|
+
result = Puppet::Resource.from_data_hash(PSON.parse(resource.to_pson))
|
768
729
|
result[:requires].should == "File[/bar]"
|
769
730
|
end
|
770
731
|
|
771
732
|
it "should serialize multiple relationships as arrays of reference strings" do
|
772
733
|
resource = Puppet::Resource.new("File", "/foo")
|
773
734
|
resource[:requires] = [Puppet::Resource.new("File", "/bar"), Puppet::Resource.new("File", "/baz")]
|
774
|
-
result = Puppet::Resource.
|
735
|
+
result = Puppet::Resource.from_data_hash(PSON.parse(resource.to_pson))
|
775
736
|
result[:requires].should == [ "File[/bar]", "File[/baz]" ]
|
776
737
|
end
|
777
738
|
end
|
@@ -789,64 +750,64 @@ describe Puppet::Resource do
|
|
789
750
|
end
|
790
751
|
|
791
752
|
it "should set its type to the provided type" do
|
792
|
-
Puppet::Resource.
|
753
|
+
Puppet::Resource.from_data_hash(@data).type.should == "File"
|
793
754
|
end
|
794
755
|
|
795
756
|
it "should set its title to the provided title" do
|
796
|
-
Puppet::Resource.
|
757
|
+
Puppet::Resource.from_data_hash(@data).title.should == basepath+"/yay"
|
797
758
|
end
|
798
759
|
|
799
760
|
it "should tag the resource with any provided tags" do
|
800
761
|
@data['tags'] = %w{foo bar}
|
801
|
-
resource = Puppet::Resource.
|
762
|
+
resource = Puppet::Resource.from_data_hash(@data)
|
802
763
|
resource.tags.should be_include("foo")
|
803
764
|
resource.tags.should be_include("bar")
|
804
765
|
end
|
805
766
|
|
806
767
|
it "should set its file to the provided file" do
|
807
768
|
@data['file'] = "/foo/bar"
|
808
|
-
Puppet::Resource.
|
769
|
+
Puppet::Resource.from_data_hash(@data).file.should == "/foo/bar"
|
809
770
|
end
|
810
771
|
|
811
772
|
it "should set its line to the provided line" do
|
812
773
|
@data['line'] = 50
|
813
|
-
Puppet::Resource.
|
774
|
+
Puppet::Resource.from_data_hash(@data).line.should == 50
|
814
775
|
end
|
815
776
|
|
816
777
|
it "should 'exported' to true if set in the pson data" do
|
817
778
|
@data['exported'] = true
|
818
|
-
Puppet::Resource.
|
779
|
+
Puppet::Resource.from_data_hash(@data).exported.should be_true
|
819
780
|
end
|
820
781
|
|
821
782
|
it "should 'exported' to false if not set in the pson data" do
|
822
|
-
Puppet::Resource.
|
783
|
+
Puppet::Resource.from_data_hash(@data).exported.should be_false
|
823
784
|
end
|
824
785
|
|
825
786
|
it "should fail if no title is provided" do
|
826
787
|
@data.delete('title')
|
827
|
-
expect { Puppet::Resource.
|
788
|
+
expect { Puppet::Resource.from_data_hash(@data) }.to raise_error(ArgumentError)
|
828
789
|
end
|
829
790
|
|
830
791
|
it "should fail if no type is provided" do
|
831
792
|
@data.delete('type')
|
832
|
-
expect { Puppet::Resource.
|
793
|
+
expect { Puppet::Resource.from_data_hash(@data) }.to raise_error(ArgumentError)
|
833
794
|
end
|
834
795
|
|
835
796
|
it "should set each of the provided parameters" do
|
836
797
|
@data['parameters'] = {'foo' => %w{one two}, 'fee' => %w{three four}}
|
837
|
-
resource = Puppet::Resource.
|
798
|
+
resource = Puppet::Resource.from_data_hash(@data)
|
838
799
|
resource['foo'].should == %w{one two}
|
839
800
|
resource['fee'].should == %w{three four}
|
840
801
|
end
|
841
802
|
|
842
803
|
it "should convert single-value array parameters to normal values" do
|
843
804
|
@data['parameters'] = {'foo' => %w{one}}
|
844
|
-
resource = Puppet::Resource.
|
805
|
+
resource = Puppet::Resource.from_data_hash(@data)
|
845
806
|
resource['foo'].should == %w{one}
|
846
807
|
end
|
847
808
|
end
|
848
809
|
|
849
|
-
|
810
|
+
it "implements copy_as_resource" do
|
850
811
|
resource = Puppet::Resource.new("file", "/my/file")
|
851
812
|
resource.copy_as_resource.should == resource
|
852
813
|
end
|
data/spec/unit/run_spec.rb
CHANGED
@@ -121,14 +121,14 @@ describe Puppet::Run do
|
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
124
|
-
describe ".
|
124
|
+
describe ".from_data_hash" do
|
125
125
|
it "should read from a hash that represents the 'options' to initialize" do
|
126
126
|
options = {
|
127
127
|
"tags" => "whatever",
|
128
128
|
"background" => true,
|
129
129
|
"ignoreschedules" => false,
|
130
130
|
}
|
131
|
-
run = Puppet::Run.
|
131
|
+
run = Puppet::Run.from_data_hash(options)
|
132
132
|
|
133
133
|
run.options.should == {
|
134
134
|
:tags => "whatever",
|
@@ -145,7 +145,7 @@ describe Puppet::Run do
|
|
145
145
|
"tags" => [],
|
146
146
|
"ignoreschedules" => false},
|
147
147
|
"status" => "success"}
|
148
|
-
run = Puppet::Run.
|
148
|
+
run = Puppet::Run.from_data_hash(hash)
|
149
149
|
|
150
150
|
run.options.should == {
|
151
151
|
:pluginsync => true,
|
@@ -74,7 +74,7 @@ describe Puppet::Settings::AutosignSetting do
|
|
74
74
|
it "converts the file path to a file resource" do
|
75
75
|
path = File.expand_path('/path/to/autosign.conf')
|
76
76
|
settings.stubs(:value).with('autosign').returns(path)
|
77
|
-
Puppet::FileSystem
|
77
|
+
Puppet::FileSystem.stubs(:exist?).with(path).returns true
|
78
78
|
Puppet.stubs(:features).returns(stub(:root? => true, :microsoft_windows? => false))
|
79
79
|
|
80
80
|
setting.mode = '0664'
|
@@ -20,8 +20,15 @@ describe Puppet::Settings::ConfigFile do
|
|
20
20
|
|
21
21
|
let(:filename) { "a/fake/filename.conf" }
|
22
22
|
|
23
|
+
Conf = Puppet::Settings::ConfigFile::Conf
|
24
|
+
Section = Puppet::Settings::ConfigFile::Section
|
25
|
+
Meta = Puppet::Settings::ConfigFile::Meta
|
26
|
+
NO_META = Puppet::Settings::ConfigFile::NO_META
|
27
|
+
|
23
28
|
it "interprets an empty file to contain a main section with no entries" do
|
24
|
-
the_parse_of("")
|
29
|
+
result = the_parse_of("")
|
30
|
+
|
31
|
+
expect(result).to eq(Conf.new.with_section(Section.new(:main)))
|
25
32
|
end
|
26
33
|
|
27
34
|
it "interprets an empty main section the same as an empty file" do
|
@@ -29,39 +36,71 @@ describe Puppet::Settings::ConfigFile do
|
|
29
36
|
end
|
30
37
|
|
31
38
|
it "places an entry in no section in main" do
|
32
|
-
the_parse_of("var = value")
|
39
|
+
result = the_parse_of("var = value")
|
40
|
+
|
41
|
+
expect(result).to eq(Conf.new.with_section(Section.new(:main).with_setting(:var, "value", NO_META)))
|
33
42
|
end
|
34
43
|
|
35
44
|
it "places an entry after a section header in that section" do
|
36
|
-
the_parse_of("[section]", "var = value")
|
37
|
-
|
45
|
+
result = the_parse_of("[section]", "var = value")
|
46
|
+
|
47
|
+
expect(result).to eq(Conf.new.
|
48
|
+
with_section(Section.new(:main)).
|
49
|
+
with_section(Section.new(:section).
|
50
|
+
with_setting(:var, "value", NO_META)))
|
38
51
|
end
|
39
52
|
|
40
53
|
it "does not include trailing whitespace in the value" do
|
41
|
-
the_parse_of("var = value\t ")
|
54
|
+
result = the_parse_of("var = value\t ")
|
55
|
+
|
56
|
+
expect(result).to eq(Conf.new.
|
57
|
+
with_section(Section.new(:main).
|
58
|
+
with_setting(:var, "value", NO_META)))
|
42
59
|
end
|
43
60
|
|
44
61
|
it "does not include leading whitespace in the name" do
|
45
|
-
the_parse_of(" \t var=value")
|
62
|
+
result = the_parse_of(" \t var=value")
|
63
|
+
|
64
|
+
expect(result).to eq(Conf.new.
|
65
|
+
with_section(Section.new(:main).
|
66
|
+
with_setting(:var, "value", NO_META)))
|
46
67
|
end
|
47
68
|
|
48
69
|
it "skips lines that are commented out" do
|
49
|
-
the_parse_of("#var = value")
|
70
|
+
result = the_parse_of("#var = value")
|
71
|
+
|
72
|
+
expect(result).to eq(Conf.new.with_section(Section.new(:main)))
|
50
73
|
end
|
51
74
|
|
52
75
|
it "skips lines that are entirely whitespace" do
|
53
|
-
the_parse_of(" \t ")
|
76
|
+
result = the_parse_of(" \t ")
|
77
|
+
|
78
|
+
expect(result).to eq(Conf.new.with_section(Section.new(:main)))
|
54
79
|
end
|
55
80
|
|
56
81
|
it "errors when a line is not a known form" do
|
57
82
|
expect { the_parse_of("unknown") }.to raise_error Puppet::Settings::ParseError, /Could not match line/
|
58
83
|
end
|
59
84
|
|
85
|
+
it "errors providing correct line number when line is not a known form" do
|
86
|
+
multi_line_config = <<-EOF
|
87
|
+
[main]
|
88
|
+
foo=bar
|
89
|
+
badline
|
90
|
+
EOF
|
91
|
+
expect { the_parse_of(multi_line_config) }.to(
|
92
|
+
raise_error(Puppet::Settings::ParseError, /Could not match line/) do |exception|
|
93
|
+
expect(exception.line).to eq(3)
|
94
|
+
end
|
95
|
+
)
|
96
|
+
end
|
97
|
+
|
60
98
|
it "stores file meta information in the _meta section" do
|
61
|
-
the_parse_of("var = value { owner = me, group = you, mode = 0666 }")
|
62
|
-
|
63
|
-
|
64
|
-
|
99
|
+
result = the_parse_of("var = value { owner = me, group = you, mode = 0666 }")
|
100
|
+
|
101
|
+
expect(result).to eq(Conf.new.with_section(Section.new(:main).
|
102
|
+
with_setting(:var, "value",
|
103
|
+
Meta.new("me", "you", "0666"))))
|
65
104
|
end
|
66
105
|
|
67
106
|
it "errors when there is unknown meta information" do
|
@@ -82,19 +121,33 @@ describe Puppet::Settings::ConfigFile do
|
|
82
121
|
it "errors when an application_defaults section is created" do
|
83
122
|
expect { the_parse_of("[application_defaults]") }.
|
84
123
|
to raise_error Puppet::Error,
|
85
|
-
"Illegal section 'application_defaults' in config file #{filename} at line
|
124
|
+
"Illegal section 'application_defaults' in config file #{filename} at line 1"
|
125
|
+
end
|
126
|
+
|
127
|
+
it "errors when a global_defaults section is created" do
|
128
|
+
expect { the_parse_of("[main]\n[global_defaults]") }.
|
129
|
+
to raise_error Puppet::Error,
|
130
|
+
"Illegal section 'global_defaults' in config file #{filename} at line 2"
|
86
131
|
end
|
87
132
|
|
88
133
|
it "transforms values with the given function" do
|
89
134
|
config = Puppet::Settings::ConfigFile.new(Proc.new { |value| value + " changed" })
|
90
135
|
|
91
|
-
config.parse_file(filename, "var = value")
|
136
|
+
result = config.parse_file(filename, "var = value")
|
137
|
+
|
138
|
+
expect(result).to eq(Conf.new.
|
139
|
+
with_section(Section.new(:main).
|
140
|
+
with_setting(:var, "value changed", NO_META)))
|
92
141
|
end
|
93
142
|
|
94
143
|
it "does not try to transform an entry named 'mode'" do
|
95
144
|
config = Puppet::Settings::ConfigFile.new(Proc.new { raise "Should not transform" })
|
96
145
|
|
97
|
-
config.parse_file(filename, "mode = value")
|
146
|
+
result = config.parse_file(filename, "mode = value")
|
147
|
+
|
148
|
+
expect(result).to eq(Conf.new.
|
149
|
+
with_section(Section.new(:main).
|
150
|
+
with_setting(:mode, "value", NO_META)))
|
98
151
|
end
|
99
152
|
end
|
100
153
|
|