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
@@ -9,7 +9,7 @@ describe "Puppet::Node::ActiveRecord", :if => Puppet.features.rails? && Puppet.f
|
|
9
9
|
let(:nodename) { "mynode" }
|
10
10
|
let(:fact_values) { {:afact => "a value"} }
|
11
11
|
let(:facts) { Puppet::Node::Facts.new(nodename, fact_values) }
|
12
|
-
let(:environment) { Puppet::Node::Environment.
|
12
|
+
let(:environment) { Puppet::Node::Environment.create(:myenv, [], '') }
|
13
13
|
let(:request) { Puppet::Indirector::Request.new(:node, :find, nodename, nil, :environment => environment) }
|
14
14
|
let(:node_indirection) { Puppet::Node::ActiveRecord.new }
|
15
15
|
|
@@ -6,7 +6,7 @@ require 'puppet/indirector/node/ldap'
|
|
6
6
|
describe Puppet::Node::Ldap do
|
7
7
|
let(:nodename) { "mynode.domain.com" }
|
8
8
|
let(:node_indirection) { Puppet::Node::Ldap.new }
|
9
|
-
let(:environment) { Puppet::Node::Environment.
|
9
|
+
let(:environment) { Puppet::Node::Environment.create(:myenv, [], '') }
|
10
10
|
let(:fact_values) { {:afact => "a value", "one" => "boo"} }
|
11
11
|
let(:facts) { Puppet::Node::Facts.new(nodename, fact_values) }
|
12
12
|
|
@@ -176,10 +176,13 @@ describe Puppet::Node::Ldap do
|
|
176
176
|
end
|
177
177
|
|
178
178
|
it "should set the node's environment to the environment of the results" do
|
179
|
-
result_env = Puppet::Node::Environment.
|
179
|
+
result_env = Puppet::Node::Environment.create(:local_test, [], '')
|
180
180
|
Puppet::Node::Facts.indirection.stubs(:find).with(nodename, :environment => result_env).returns(facts)
|
181
181
|
@result[:environment] = "local_test"
|
182
|
-
|
182
|
+
|
183
|
+
Puppet.override(:environments => Puppet::Environments::Static.new(result_env)) do
|
184
|
+
node_indirection.find(request).environment.should == result_env
|
185
|
+
end
|
183
186
|
end
|
184
187
|
|
185
188
|
it "should retain false parameter values" do
|
@@ -256,17 +259,20 @@ describe Puppet::Node::Ldap do
|
|
256
259
|
end
|
257
260
|
|
258
261
|
it "should use the parent's environment if the node has none" do
|
259
|
-
env = Puppet::Node::Environment.
|
262
|
+
env = Puppet::Node::Environment.create(:parent, [], '')
|
260
263
|
@entry[:parent] = "parent"
|
261
264
|
|
262
265
|
@parent[:environment] = "parent"
|
263
266
|
|
264
267
|
Puppet::Node::Facts.indirection.stubs(:find).with(nodename, :environment => env).returns(facts)
|
265
|
-
|
268
|
+
|
269
|
+
Puppet.override(:environments => Puppet::Environments::Static.new(env)) do
|
270
|
+
node_indirection.find(request).environment.should == env
|
271
|
+
end
|
266
272
|
end
|
267
273
|
|
268
274
|
it "should prefer the node's environment to the parent's" do
|
269
|
-
child_env = Puppet::Node::Environment.
|
275
|
+
child_env = Puppet::Node::Environment.create(:child, [], '')
|
270
276
|
@entry[:parent] = "parent"
|
271
277
|
@entry[:environment] = "child"
|
272
278
|
|
@@ -274,7 +280,10 @@ describe Puppet::Node::Ldap do
|
|
274
280
|
|
275
281
|
Puppet::Node::Facts.indirection.stubs(:find).with(nodename, :environment => child_env).returns(facts)
|
276
282
|
|
277
|
-
|
283
|
+
Puppet.override(:environments => Puppet::Environments::Static.new(child_env)) do
|
284
|
+
|
285
|
+
node_indirection.find(request).environment.should == child_env
|
286
|
+
end
|
278
287
|
end
|
279
288
|
|
280
289
|
it "should recursively look up parent information" do
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
require 'puppet/node'
|
5
|
+
require 'puppet/indirector/node/msgpack'
|
6
|
+
|
7
|
+
describe Puppet::Node::Msgpack, :if => Puppet.features.msgpack? do
|
8
|
+
it "should be a subclass of the Msgpack terminus" do
|
9
|
+
Puppet::Node::Msgpack.superclass.should equal(Puppet::Indirector::Msgpack)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should have documentation" do
|
13
|
+
Puppet::Node::Msgpack.doc.should_not be_nil
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should be registered with the configuration store indirection" do
|
17
|
+
indirection = Puppet::Indirector::Indirection.instance(:node)
|
18
|
+
Puppet::Node::Msgpack.indirection.should equal(indirection)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should have its name set to :msgpack" do
|
22
|
+
Puppet::Node::Msgpack.name.should == :msgpack
|
23
|
+
end
|
24
|
+
end
|
@@ -7,7 +7,7 @@ describe Puppet::Node::Plain do
|
|
7
7
|
let(:nodename) { "mynode" }
|
8
8
|
let(:fact_values) { {:afact => "a value"} }
|
9
9
|
let(:facts) { Puppet::Node::Facts.new(nodename, fact_values) }
|
10
|
-
let(:environment) { Puppet::Node::Environment.
|
10
|
+
let(:environment) { Puppet::Node::Environment.create(:myenv, [], '') }
|
11
11
|
let(:request) { Puppet::Indirector::Request.new(:node, :find, nodename, nil, :environment => environment) }
|
12
12
|
let(:node_indirection) { Puppet::Node::Plain.new }
|
13
13
|
|
@@ -107,7 +107,7 @@ describe Puppet::Indirector::Queue do
|
|
107
107
|
expect { @store_class.subscribe {|o| o } }.to_not raise_error
|
108
108
|
|
109
109
|
@logs.length.should == 1
|
110
|
-
@logs.first.message.should =~ /Error
|
110
|
+
@logs.first.message.should =~ /Error occurred with subscription to queue my_queue for indirection my_queue: ArgumentError/
|
111
111
|
@logs.first.level.should == :err
|
112
112
|
end
|
113
113
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
require 'puppet/transaction/report'
|
5
|
+
require 'puppet/indirector/report/msgpack'
|
6
|
+
|
7
|
+
describe Puppet::Transaction::Report::Msgpack, :if => Puppet.features.msgpack? do
|
8
|
+
it "should be a subclass of the Msgpack terminus" do
|
9
|
+
Puppet::Transaction::Report::Msgpack.superclass.should equal(Puppet::Indirector::Msgpack)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should have documentation" do
|
13
|
+
Puppet::Transaction::Report::Msgpack.doc.should_not be_nil
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should be registered with the report indirection" do
|
17
|
+
indirection = Puppet::Indirector::Indirection.instance(:report)
|
18
|
+
Puppet::Transaction::Report::Msgpack.indirection.should equal(indirection)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should have its name set to :msgpack" do
|
22
|
+
Puppet::Transaction::Report::Msgpack.name.should == :msgpack
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should unconditionally save/load from the --lastrunreport setting" do
|
26
|
+
subject.path(:me).should == Puppet[:lastrunreport]
|
27
|
+
end
|
28
|
+
end
|
@@ -5,6 +5,7 @@ require 'puppet/indirector/request'
|
|
5
5
|
require 'puppet/util/pson'
|
6
6
|
|
7
7
|
describe Puppet::Indirector::Request do
|
8
|
+
include JSONMatchers
|
8
9
|
|
9
10
|
describe "when registering the document type" do
|
10
11
|
it "should register its document type with JSON" do
|
@@ -217,21 +218,28 @@ describe Puppet::Indirector::Request do
|
|
217
218
|
Puppet::Indirector::Request.new(:myind, :find, "my key", nil).escaped_key.should == URI.escape("my key")
|
218
219
|
end
|
219
220
|
|
220
|
-
it "should have an environment accessor" do
|
221
|
-
Puppet::Indirector::Request.new(:myind, :find, "my key", nil, :environment => "foo").should respond_to(:environment)
|
222
|
-
end
|
223
|
-
|
224
221
|
it "should set its environment to an environment instance when a string is specified as its environment" do
|
225
|
-
Puppet::
|
222
|
+
env = Puppet::Node::Environment.create(:foo, [], '')
|
223
|
+
|
224
|
+
Puppet.override(:environments => Puppet::Environments::Static.new(env)) do
|
225
|
+
Puppet::Indirector::Request.new(:myind, :find, "my key", nil, :environment => "foo").environment.should == env
|
226
|
+
end
|
226
227
|
end
|
227
228
|
|
228
229
|
it "should use any passed in environment instances as its environment" do
|
229
|
-
env = Puppet::Node::Environment.
|
230
|
+
env = Puppet::Node::Environment.create(:foo, [], '')
|
231
|
+
|
230
232
|
Puppet::Indirector::Request.new(:myind, :find, "my key", nil, :environment => env).environment.should equal(env)
|
231
233
|
end
|
232
234
|
|
233
|
-
it "should use the
|
234
|
-
Puppet::
|
235
|
+
it "should use the configured environment when none is provided" do
|
236
|
+
configured = Puppet::Node::Environment.create(:foo, [], '')
|
237
|
+
|
238
|
+
Puppet[:environment] = "foo"
|
239
|
+
|
240
|
+
Puppet.override(:environments => Puppet::Environments::Static.new(configured)) do
|
241
|
+
Puppet::Indirector::Request.new(:myind, :find, "my key", nil).environment.should == configured
|
242
|
+
end
|
235
243
|
end
|
236
244
|
|
237
245
|
it "should support converting its options to a hash" do
|
@@ -164,10 +164,6 @@ describe Puppet::Indirector::REST do
|
|
164
164
|
Puppet::Indirector::Request.new(:test_model, :save, key, instance, options)
|
165
165
|
end
|
166
166
|
|
167
|
-
it "should include the v1 REST API module" do
|
168
|
-
Puppet::Indirector::REST.ancestors.should be_include(Puppet::Network::HTTP::API::V1)
|
169
|
-
end
|
170
|
-
|
171
167
|
it "should have a method for specifying what setting a subclass should use to retrieve its server" do
|
172
168
|
terminus_class.should respond_to(:use_server_setting)
|
173
169
|
end
|
@@ -121,9 +121,9 @@ describe Puppet::Indirector::SslFile do
|
|
121
121
|
describe "when finding certificates on disk" do
|
122
122
|
describe "and no certificate is present" do
|
123
123
|
it "should return nil" do
|
124
|
-
Puppet::FileSystem
|
124
|
+
Puppet::FileSystem.expects(:exist?).with(@path).returns(true)
|
125
125
|
Dir.expects(:entries).with(@path).returns([])
|
126
|
-
Puppet::FileSystem
|
126
|
+
Puppet::FileSystem.expects(:exist?).with(@certpath).returns(false)
|
127
127
|
|
128
128
|
@searcher.find(@request).should be_nil
|
129
129
|
end
|
@@ -139,7 +139,7 @@ describe Puppet::Indirector::SslFile do
|
|
139
139
|
|
140
140
|
context "is readable" do
|
141
141
|
it "should return an instance of the model, which it should use to read the certificate" do
|
142
|
-
Puppet::FileSystem
|
142
|
+
Puppet::FileSystem.expects(:exist?).with(@certpath).returns true
|
143
143
|
|
144
144
|
model.expects(:new).with("myname").returns cert
|
145
145
|
cert.expects(:read).with(@certpath)
|
@@ -150,7 +150,7 @@ describe Puppet::Indirector::SslFile do
|
|
150
150
|
|
151
151
|
context "is unreadable" do
|
152
152
|
it "should raise an exception" do
|
153
|
-
Puppet::FileSystem
|
153
|
+
Puppet::FileSystem.expects(:exist?).with(@certpath).returns(true)
|
154
154
|
|
155
155
|
model.expects(:new).with("myname").returns cert
|
156
156
|
cert.expects(:read).with(@certpath).raises(Errno::EACCES)
|
@@ -171,9 +171,9 @@ describe Puppet::Indirector::SslFile do
|
|
171
171
|
# the support for upper-case certs can be removed around mid-2009.
|
172
172
|
it "should rename the existing file to the lower-case path" do
|
173
173
|
@path = @searcher.path("myhost")
|
174
|
-
Puppet::FileSystem
|
174
|
+
Puppet::FileSystem.expects(:exist?).with(@path).returns(false)
|
175
175
|
dir, file = File.split(@path)
|
176
|
-
Puppet::FileSystem
|
176
|
+
Puppet::FileSystem.expects(:exist?).with(dir).returns true
|
177
177
|
Dir.expects(:entries).with(dir).returns [".", "..", "something.pem", file.upcase]
|
178
178
|
|
179
179
|
File.expects(:rename).with(File.join(dir, file.upcase), @path)
|
@@ -256,7 +256,7 @@ describe Puppet::Indirector::SslFile do
|
|
256
256
|
describe "when destroying certificates" do
|
257
257
|
describe "that do not exist" do
|
258
258
|
before do
|
259
|
-
Puppet::FileSystem
|
259
|
+
Puppet::FileSystem.expects(:exist?).with(Puppet::FileSystem.pathname(@certpath)).returns false
|
260
260
|
end
|
261
261
|
|
262
262
|
it "should return false" do
|
@@ -266,14 +266,15 @@ describe Puppet::Indirector::SslFile do
|
|
266
266
|
|
267
267
|
describe "that exist" do
|
268
268
|
it "should unlink the certificate file" do
|
269
|
-
Puppet::FileSystem
|
270
|
-
Puppet::FileSystem
|
269
|
+
path = Puppet::FileSystem.pathname(@certpath)
|
270
|
+
Puppet::FileSystem.expects(:exist?).with(path).returns true
|
271
|
+
Puppet::FileSystem.expects(:unlink).with(path)
|
271
272
|
@searcher.destroy(@request)
|
272
273
|
end
|
273
274
|
|
274
275
|
it "should log that is removing the file" do
|
275
|
-
Puppet::FileSystem
|
276
|
-
Puppet::FileSystem
|
276
|
+
Puppet::FileSystem.stubs(:exist?).returns true
|
277
|
+
Puppet::FileSystem.stubs(:unlink)
|
277
278
|
Puppet.expects(:notice)
|
278
279
|
@searcher.destroy(@request)
|
279
280
|
end
|
@@ -149,15 +149,15 @@ describe Puppet::Indirector::Yaml do
|
|
149
149
|
end
|
150
150
|
|
151
151
|
it "should unlink the right yaml file if it exists" do
|
152
|
-
Puppet::FileSystem
|
153
|
-
Puppet::FileSystem
|
152
|
+
Puppet::FileSystem.expects(:exist?).with(path).returns true
|
153
|
+
Puppet::FileSystem.expects(:unlink).with(path)
|
154
154
|
|
155
155
|
@store.destroy(@request)
|
156
156
|
end
|
157
157
|
|
158
158
|
it "should not unlink the yaml file if it does not exists" do
|
159
|
-
Puppet::FileSystem
|
160
|
-
Puppet::FileSystem
|
159
|
+
Puppet::FileSystem.expects(:exist?).with(path).returns false
|
160
|
+
Puppet::FileSystem.expects(:unlink).with(path).never
|
161
161
|
|
162
162
|
@store.destroy(@request)
|
163
163
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'puppet/face'
|
4
|
+
|
5
|
+
describe Puppet::Face[:man, :current] do
|
6
|
+
let(:pager) { '/path/to/our/pager' }
|
7
|
+
|
8
|
+
around do |example|
|
9
|
+
oldpager = ENV['MANPAGER']
|
10
|
+
ENV['MANPAGER'] = pager
|
11
|
+
example.run
|
12
|
+
ENV['MANPAGER'] = oldpager
|
13
|
+
end
|
14
|
+
|
15
|
+
it "exits with 0 when generating man documentation for each available application" do
|
16
|
+
Puppet::Util.stubs(:which).with('ronn').returns(nil)
|
17
|
+
Puppet::Util.stubs(:which).with(pager).returns(pager)
|
18
|
+
|
19
|
+
Puppet::Application.available_application_names.each do |name|
|
20
|
+
next if %w{man face_base indirection_base}.include? name
|
21
|
+
|
22
|
+
klass = Puppet::Application.find('man')
|
23
|
+
app = klass.new(Puppet::Util::CommandLine.new('puppet', ['man', name]))
|
24
|
+
|
25
|
+
expect do
|
26
|
+
IO.stubs(:popen).with(pager, anything).yields($stdout)
|
27
|
+
|
28
|
+
expect { app.run }.to exit_with(0)
|
29
|
+
end.to_not have_printed(/undefined method `gsub'/)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/spec/unit/module_spec.rb
CHANGED
@@ -15,7 +15,7 @@ describe Puppet::Module do
|
|
15
15
|
before do
|
16
16
|
# This is necessary because of the extra checks we have for the deprecated
|
17
17
|
# 'plugins' directory
|
18
|
-
Puppet::FileSystem
|
18
|
+
Puppet::FileSystem.stubs(:exist?).returns false
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should have a class method that returns a named module from a given environment" do
|
@@ -90,14 +90,13 @@ describe Puppet::Module do
|
|
90
90
|
|
91
91
|
describe "when finding unmet dependencies" do
|
92
92
|
before do
|
93
|
-
Puppet::FileSystem
|
93
|
+
Puppet::FileSystem.unstub(:exist?)
|
94
94
|
@modpath = tmpdir('modpath')
|
95
95
|
Puppet.settings[:modulepath] = @modpath
|
96
96
|
end
|
97
97
|
|
98
98
|
it "should list modules that are missing" do
|
99
99
|
metadata_file = "#{@modpath}/needy/metadata.json"
|
100
|
-
Puppet::FileSystem::File.expects(:exist?).twice.with(metadata_file).returns true
|
101
100
|
mod = PuppetSpec::Modules.create(
|
102
101
|
'needy',
|
103
102
|
@modpath,
|
@@ -119,7 +118,6 @@ describe Puppet::Module do
|
|
119
118
|
|
120
119
|
it "should list modules that are missing and have invalid names" do
|
121
120
|
metadata_file = "#{@modpath}/needy/metadata.json"
|
122
|
-
Puppet::FileSystem::File.expects(:exist?).with(metadata_file).twice.returns true
|
123
121
|
mod = PuppetSpec::Modules.create(
|
124
122
|
'needy',
|
125
123
|
@modpath,
|
@@ -140,42 +138,43 @@ describe Puppet::Module do
|
|
140
138
|
end
|
141
139
|
|
142
140
|
it "should list modules with unmet version requirement" do
|
143
|
-
[
|
144
|
-
|
145
|
-
Puppet::FileSystem::File.stubs(:exist?).with(metadata_file).returns true
|
146
|
-
end
|
141
|
+
env = Puppet::Node::Environment.create(:testing, [@modpath], '')
|
142
|
+
|
147
143
|
mod = PuppetSpec::Modules.create(
|
148
|
-
'
|
144
|
+
'test_gte_req',
|
149
145
|
@modpath,
|
150
146
|
:metadata => {
|
151
147
|
:dependencies => [{
|
152
148
|
"version_requirement" => ">= 2.2.0",
|
153
149
|
"name" => "baz/foobar"
|
154
150
|
}]
|
155
|
-
}
|
151
|
+
},
|
152
|
+
:environment => env
|
156
153
|
)
|
157
154
|
mod2 = PuppetSpec::Modules.create(
|
158
|
-
'
|
155
|
+
'test_specific_req',
|
159
156
|
@modpath,
|
160
157
|
:metadata => {
|
161
158
|
:dependencies => [{
|
162
159
|
"version_requirement" => "1.0.0",
|
163
160
|
"name" => "baz/foobar"
|
164
161
|
}]
|
165
|
-
}
|
162
|
+
},
|
163
|
+
:environment => env
|
166
164
|
)
|
167
165
|
|
168
166
|
PuppetSpec::Modules.create(
|
169
167
|
'foobar',
|
170
168
|
@modpath,
|
171
|
-
:metadata => { :version => '2.0.0', :author => 'baz' }
|
169
|
+
:metadata => { :version => '2.0.0', :author => 'baz' },
|
170
|
+
:environment => env
|
172
171
|
)
|
173
172
|
|
174
173
|
mod.unmet_dependencies.should == [{
|
175
174
|
:reason => :version_mismatch,
|
176
175
|
:name => "baz/foobar",
|
177
176
|
:version_constraint => ">= 2.2.0",
|
178
|
-
:parent => { :version => "v9.9.9", :name => "puppetlabs/
|
177
|
+
:parent => { :version => "v9.9.9", :name => "puppetlabs/test_gte_req" },
|
179
178
|
:mod_details => { :installed_version => "2.0.0" }
|
180
179
|
}]
|
181
180
|
|
@@ -183,13 +182,15 @@ describe Puppet::Module do
|
|
183
182
|
:reason => :version_mismatch,
|
184
183
|
:name => "baz/foobar",
|
185
184
|
:version_constraint => "v1.0.0",
|
186
|
-
:parent => { :version => "v9.9.9", :name => "puppetlabs/
|
185
|
+
:parent => { :version => "v9.9.9", :name => "puppetlabs/test_specific_req" },
|
187
186
|
:mod_details => { :installed_version => "2.0.0" }
|
188
187
|
}]
|
189
188
|
|
190
189
|
end
|
191
190
|
|
192
191
|
it "should consider a dependency without a version requirement to be satisfied" do
|
192
|
+
env = Puppet::Node::Environment.create(:testing, [@modpath], '')
|
193
|
+
|
193
194
|
mod = PuppetSpec::Modules.create(
|
194
195
|
'foobar',
|
195
196
|
@modpath,
|
@@ -197,7 +198,8 @@ describe Puppet::Module do
|
|
197
198
|
:dependencies => [{
|
198
199
|
"name" => "baz/foobar"
|
199
200
|
}]
|
200
|
-
}
|
201
|
+
},
|
202
|
+
:environment => env
|
201
203
|
)
|
202
204
|
PuppetSpec::Modules.create(
|
203
205
|
'foobar',
|
@@ -205,15 +207,16 @@ describe Puppet::Module do
|
|
205
207
|
:metadata => {
|
206
208
|
:version => '2.0.0',
|
207
209
|
:author => 'baz'
|
208
|
-
}
|
210
|
+
},
|
211
|
+
:environment => env
|
209
212
|
)
|
210
213
|
|
211
214
|
mod.unmet_dependencies.should be_empty
|
212
215
|
end
|
213
216
|
|
214
217
|
it "should consider a dependency without a semantic version to be unmet" do
|
215
|
-
|
216
|
-
|
218
|
+
env = Puppet::Node::Environment.create(:testing, [@modpath], '')
|
219
|
+
|
217
220
|
mod = PuppetSpec::Modules.create(
|
218
221
|
'foobar',
|
219
222
|
@modpath,
|
@@ -221,7 +224,8 @@ describe Puppet::Module do
|
|
221
224
|
:dependencies => [{
|
222
225
|
"name" => "baz/foobar"
|
223
226
|
}]
|
224
|
-
}
|
227
|
+
},
|
228
|
+
:environment => env
|
225
229
|
)
|
226
230
|
PuppetSpec::Modules.create(
|
227
231
|
'foobar',
|
@@ -229,7 +233,8 @@ describe Puppet::Module do
|
|
229
233
|
:metadata => {
|
230
234
|
:version => '5.1',
|
231
235
|
:author => 'baz'
|
232
|
-
}
|
236
|
+
},
|
237
|
+
:environment => env
|
233
238
|
)
|
234
239
|
|
235
240
|
mod.unmet_dependencies.should == [{
|
@@ -254,10 +259,8 @@ describe Puppet::Module do
|
|
254
259
|
end
|
255
260
|
|
256
261
|
it "should only list unmet dependencies" do
|
257
|
-
[
|
258
|
-
|
259
|
-
Puppet::FileSystem::File.expects(:exist?).with(metadata_file).twice.returns true
|
260
|
-
end
|
262
|
+
env = Puppet::Node::Environment.create(:testing, [@modpath], '')
|
263
|
+
|
261
264
|
mod = PuppetSpec::Modules.create(
|
262
265
|
name,
|
263
266
|
@modpath,
|
@@ -272,7 +275,8 @@ describe Puppet::Module do
|
|
272
275
|
"name" => "baz/notsatisfied"
|
273
276
|
}
|
274
277
|
]
|
275
|
-
}
|
278
|
+
},
|
279
|
+
:environment => env
|
276
280
|
)
|
277
281
|
PuppetSpec::Modules.create(
|
278
282
|
'satisfied',
|
@@ -280,7 +284,8 @@ describe Puppet::Module do
|
|
280
284
|
:metadata => {
|
281
285
|
:version => '3.3.0',
|
282
286
|
:author => 'baz'
|
283
|
-
}
|
287
|
+
},
|
288
|
+
:environment => env
|
284
289
|
)
|
285
290
|
|
286
291
|
mod.unmet_dependencies.should == [{
|
@@ -293,6 +298,8 @@ describe Puppet::Module do
|
|
293
298
|
end
|
294
299
|
|
295
300
|
it "should be empty when all dependencies are met" do
|
301
|
+
env = Puppet::Node::Environment.create(:testing, [@modpath], '')
|
302
|
+
|
296
303
|
mod = PuppetSpec::Modules.create(
|
297
304
|
'mymod2',
|
298
305
|
@modpath,
|
@@ -307,7 +314,8 @@ describe Puppet::Module do
|
|
307
314
|
"name" => "baz/alsosatisfied"
|
308
315
|
}
|
309
316
|
]
|
310
|
-
}
|
317
|
+
},
|
318
|
+
:environment => env
|
311
319
|
)
|
312
320
|
PuppetSpec::Modules.create(
|
313
321
|
'satisfied',
|
@@ -315,7 +323,8 @@ describe Puppet::Module do
|
|
315
323
|
:metadata => {
|
316
324
|
:version => '3.3.0',
|
317
325
|
:author => 'baz'
|
318
|
-
}
|
326
|
+
},
|
327
|
+
:environment => env
|
319
328
|
)
|
320
329
|
PuppetSpec::Modules.create(
|
321
330
|
'alsosatisfied',
|
@@ -323,7 +332,8 @@ describe Puppet::Module do
|
|
323
332
|
:metadata => {
|
324
333
|
:version => '2.1.0',
|
325
334
|
:author => 'baz'
|
326
|
-
}
|
335
|
+
},
|
336
|
+
:environment => env
|
327
337
|
)
|
328
338
|
|
329
339
|
mod.unmet_dependencies.should be_empty
|
@@ -382,31 +392,31 @@ describe Puppet::Module do
|
|
382
392
|
end
|
383
393
|
it "should be able to return individual #{filetype}" do
|
384
394
|
module_file = File.join(path, dirname, "my/file")
|
385
|
-
Puppet::FileSystem
|
395
|
+
Puppet::FileSystem.expects(:exist?).with(module_file).returns true
|
386
396
|
mod.send(filetype.to_s.sub(/s$/, ''), "my/file").should == module_file
|
387
397
|
end
|
388
398
|
|
389
399
|
it "should consider #{filetype} to be present if their base directory exists" do
|
390
400
|
module_file = File.join(path, dirname)
|
391
|
-
Puppet::FileSystem
|
401
|
+
Puppet::FileSystem.expects(:exist?).with(module_file).returns true
|
392
402
|
mod.send(filetype.to_s + "?").should be_true
|
393
403
|
end
|
394
404
|
|
395
405
|
it "should consider #{filetype} to be absent if their base directory does not exist" do
|
396
406
|
module_file = File.join(path, dirname)
|
397
|
-
Puppet::FileSystem
|
407
|
+
Puppet::FileSystem.expects(:exist?).with(module_file).returns false
|
398
408
|
mod.send(filetype.to_s + "?").should be_false
|
399
409
|
end
|
400
410
|
|
401
411
|
it "should return nil if asked to return individual #{filetype} that don't exist" do
|
402
412
|
module_file = File.join(path, dirname, "my/file")
|
403
|
-
Puppet::FileSystem
|
413
|
+
Puppet::FileSystem.expects(:exist?).with(module_file).returns false
|
404
414
|
mod.send(filetype.to_s.sub(/s$/, ''), "my/file").should be_nil
|
405
415
|
end
|
406
416
|
|
407
417
|
it "should return the base directory if asked for a nil path" do
|
408
418
|
base = File.join(path, dirname)
|
409
|
-
Puppet::FileSystem
|
419
|
+
Puppet::FileSystem.expects(:exist?).with(base).returns true
|
410
420
|
mod.send(filetype.to_s.sub(/s$/, ''), nil).should == base
|
411
421
|
end
|
412
422
|
end
|
@@ -439,8 +449,8 @@ describe Puppet::Module, "when finding matching manifests" do
|
|
439
449
|
end
|
440
450
|
|
441
451
|
it "should default to the 'init' file if no glob pattern is specified" do
|
442
|
-
Puppet::FileSystem
|
443
|
-
Puppet::FileSystem
|
452
|
+
Puppet::FileSystem.expects(:exist?).with("/a/manifests/init.pp").returns(true)
|
453
|
+
Puppet::FileSystem.expects(:exist?).with("/a/manifests/init.rb").returns(false)
|
444
454
|
|
445
455
|
@mod.match_manifests(nil).should == %w{/a/manifests/init.pp}
|
446
456
|
end
|
@@ -492,21 +502,21 @@ describe Puppet::Module do
|
|
492
502
|
end
|
493
503
|
|
494
504
|
it "should have metadata if it has a metadata file and its data is not empty" do
|
495
|
-
Puppet::FileSystem
|
505
|
+
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns true
|
496
506
|
File.stubs(:read).with(@module.metadata_file).returns "{\"foo\" : \"bar\"}"
|
497
507
|
|
498
508
|
@module.should be_has_metadata
|
499
509
|
end
|
500
510
|
|
501
511
|
it "should have metadata if it has a metadata file and its data is not empty" do
|
502
|
-
Puppet::FileSystem
|
512
|
+
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns true
|
503
513
|
File.stubs(:read).with(@module.metadata_file).returns "{\"foo\" : \"bar\"}"
|
504
514
|
|
505
515
|
@module.should be_has_metadata
|
506
516
|
end
|
507
517
|
|
508
518
|
it "should not have metadata if has a metadata file and its data is empty" do
|
509
|
-
Puppet::FileSystem
|
519
|
+
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns true
|
510
520
|
File.stubs(:read).with(@module.metadata_file).returns "/*
|
511
521
|
+-----------------------------------------------------------------------+
|
512
522
|
| |
|
@@ -524,7 +534,7 @@ describe Puppet::Module do
|
|
524
534
|
end
|
525
535
|
|
526
536
|
it "should know if it is missing a metadata file" do
|
527
|
-
Puppet::FileSystem
|
537
|
+
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns false
|
528
538
|
|
529
539
|
@module.should_not be_has_metadata
|
530
540
|
end
|
@@ -541,7 +551,7 @@ describe Puppet::Module do
|
|
541
551
|
end
|
542
552
|
|
543
553
|
it "should tolerate failure to parse" do
|
544
|
-
Puppet::FileSystem
|
554
|
+
Puppet::FileSystem.expects(:exist?).with(@module.metadata_file).returns true
|
545
555
|
File.stubs(:read).with(@module.metadata_file).returns(my_fixture('trailing-comma.json'))
|
546
556
|
|
547
557
|
@module.has_metadata?.should be_false
|
@@ -652,11 +662,13 @@ describe Puppet::Module do
|
|
652
662
|
end
|
653
663
|
|
654
664
|
it "should know what other modules require it" do
|
655
|
-
Puppet.
|
665
|
+
env = Puppet::Node::Environment.create(:testing, [@modpath], '')
|
666
|
+
|
656
667
|
dependable = PuppetSpec::Modules.create(
|
657
668
|
'dependable',
|
658
669
|
@modpath,
|
659
|
-
:metadata => {:author => 'puppetlabs'}
|
670
|
+
:metadata => {:author => 'puppetlabs'},
|
671
|
+
:environment => env
|
660
672
|
)
|
661
673
|
PuppetSpec::Modules.create(
|
662
674
|
'needy',
|
@@ -667,7 +679,8 @@ describe Puppet::Module do
|
|
667
679
|
"version_requirement" => ">= 2.2.0",
|
668
680
|
"name" => "puppetlabs/dependable"
|
669
681
|
}]
|
670
|
-
}
|
682
|
+
},
|
683
|
+
:environment => env
|
671
684
|
)
|
672
685
|
PuppetSpec::Modules.create(
|
673
686
|
'wantit',
|
@@ -678,7 +691,8 @@ describe Puppet::Module do
|
|
678
691
|
"version_requirement" => "< 5.0.0",
|
679
692
|
"name" => "puppetlabs/dependable"
|
680
693
|
}]
|
681
|
-
}
|
694
|
+
},
|
695
|
+
:environment => env
|
682
696
|
)
|
683
697
|
dependable.required_by.should =~ [
|
684
698
|
{
|