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
@@ -40,7 +40,7 @@ describe "Puppet::Rails::Host", :if => can_use_scratch_database? do
|
|
40
40
|
|
41
41
|
it "should stringify the environment" do
|
42
42
|
host = Puppet::Rails::Host.new
|
43
|
-
host.environment = Puppet::Node::Environment.
|
43
|
+
host.environment = Puppet::Node::Environment.create(:production, [], '')
|
44
44
|
host.environment.class.should == String
|
45
45
|
end
|
46
46
|
|
@@ -12,6 +12,10 @@ describe "Puppet::Rails::ParamValue", :if => can_use_scratch_database? do
|
|
12
12
|
Puppet::Rails::ParamName.stubs(:find_or_create_by_name).returns(name)
|
13
13
|
end
|
14
14
|
|
15
|
+
after do
|
16
|
+
Puppet::Rails.teardown
|
17
|
+
end
|
18
|
+
|
15
19
|
describe "when creating initial parameter values" do
|
16
20
|
it "should return an array of hashes" do
|
17
21
|
Puppet::Rails::ParamValue.from_parser_param(:myparam, %w{a b})[0].should be_instance_of(Hash)
|
@@ -211,18 +211,18 @@ describe Puppet::Relationship, "when converting from pson" do
|
|
211
211
|
# LAK:NOTE For all of these tests, we convert back to the edge so we can
|
212
212
|
# trap the actual data structure then.
|
213
213
|
it "should pass the source in as the first argument" do
|
214
|
-
Puppet::Relationship.
|
214
|
+
Puppet::Relationship.from_data_hash("source" => "mysource", "target" => "mytarget").source.should == "mysource"
|
215
215
|
end
|
216
216
|
|
217
217
|
it "should pass the target in as the second argument" do
|
218
|
-
Puppet::Relationship.
|
218
|
+
Puppet::Relationship.from_data_hash("source" => "mysource", "target" => "mytarget").target.should == "mytarget"
|
219
219
|
end
|
220
220
|
|
221
221
|
it "should pass the event as an argument if it's provided" do
|
222
|
-
Puppet::Relationship.
|
222
|
+
Puppet::Relationship.from_data_hash("source" => "mysource", "target" => "mytarget", "event" => "myevent", "callback" => "eh").event.should == "myevent"
|
223
223
|
end
|
224
224
|
|
225
225
|
it "should pass the callback as an argument if it's provided" do
|
226
|
-
Puppet::Relationship.
|
226
|
+
Puppet::Relationship.from_data_hash("source" => "mysource", "target" => "mytarget", "callback" => "mycallback").callback.should == "mycallback"
|
227
227
|
end
|
228
228
|
end
|
@@ -46,19 +46,30 @@ describe processor do
|
|
46
46
|
|
47
47
|
it "should use the path specified by the 'reporturl' setting" do
|
48
48
|
report_path = URI.parse(Puppet[:reporturl]).path
|
49
|
-
connection.expects(:post).with(report_path, anything, anything).returns(httpok)
|
49
|
+
connection.expects(:post).with(report_path, anything, anything, {}).returns(httpok)
|
50
|
+
|
51
|
+
subject.process
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should use the username and password specified by the 'reporturl' setting" do
|
55
|
+
Puppet[:reporturl] = "https://user:pass@myhost.mydomain:1234/report/upload"
|
56
|
+
|
57
|
+
connection.expects(:post).with(anything, anything, anything, :basic_auth => {
|
58
|
+
:user => 'user',
|
59
|
+
:password => 'pass'
|
60
|
+
}).returns(httpok)
|
50
61
|
|
51
62
|
subject.process
|
52
63
|
end
|
53
64
|
|
54
65
|
it "should give the body as the report as YAML" do
|
55
|
-
connection.expects(:post).with(anything, subject.to_yaml, anything).returns(httpok)
|
66
|
+
connection.expects(:post).with(anything, subject.to_yaml, anything, {}).returns(httpok)
|
56
67
|
|
57
68
|
subject.process
|
58
69
|
end
|
59
70
|
|
60
71
|
it "should set content-type to 'application/x-yaml'" do
|
61
|
-
connection.expects(:post).with(anything, anything, has_entry("Content-Type" => "application/x-yaml")).returns(httpok)
|
72
|
+
connection.expects(:post).with(anything, anything, has_entry("Content-Type" => "application/x-yaml"), {}).returns(httpok)
|
62
73
|
|
63
74
|
subject.process
|
64
75
|
end
|
@@ -47,7 +47,7 @@ describe processor do
|
|
47
47
|
|
48
48
|
it "rejects invalid hostnames" do
|
49
49
|
@report.host = ".."
|
50
|
-
Puppet::FileSystem
|
50
|
+
Puppet::FileSystem.expects(:exist?).never
|
51
51
|
Tempfile.expects(:new).never
|
52
52
|
expect { @report.process }.to raise_error(ArgumentError, /Invalid node/)
|
53
53
|
end
|
@@ -55,7 +55,7 @@ describe processor do
|
|
55
55
|
|
56
56
|
describe "::destroy" do
|
57
57
|
it "rejects invalid hostnames" do
|
58
|
-
Puppet::FileSystem
|
58
|
+
Puppet::FileSystem.expects(:unlink).never
|
59
59
|
expect { processor.destroy("..") }.to raise_error(ArgumentError, /Invalid node/)
|
60
60
|
end
|
61
61
|
end
|
@@ -2,19 +2,10 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
require 'puppet_spec/compiler'
|
4
4
|
|
5
|
-
|
6
|
-
if not Puppet.features.microsoft_windows?
|
7
|
-
CATALOG_SCHEMA = JSON.parse(File.read(File.join(File.dirname(__FILE__), '../../../api/schemas/catalog.json')))
|
8
|
-
|
9
|
-
describe "catalog schema" do
|
10
|
-
it "should validate against the json meta-schema" do
|
11
|
-
JSON::Validator.validate!(JSON_META_SCHEMA, CATALOG_SCHEMA)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
5
|
+
require 'matchers/json'
|
16
6
|
|
17
7
|
describe Puppet::Resource::Catalog, "when compiling" do
|
8
|
+
include JSONMatchers
|
18
9
|
include PuppetSpec::Files
|
19
10
|
|
20
11
|
before do
|
@@ -736,43 +727,40 @@ describe Puppet::Resource::Catalog, "when compiling" do
|
|
736
727
|
end
|
737
728
|
|
738
729
|
describe Puppet::Resource::Catalog, "when converting a resource catalog to pson" do
|
730
|
+
include JSONMatchers
|
739
731
|
include PuppetSpec::Compiler
|
740
732
|
|
741
|
-
|
742
|
-
JSON::Validator.validate!(CATALOG_SCHEMA, catalog.to_pson)
|
743
|
-
end
|
744
|
-
|
745
|
-
it "should validate an empty catalog against the schema", :unless => Puppet.features.microsoft_windows? do
|
733
|
+
it "should validate an empty catalog against the schema" do
|
746
734
|
empty_catalog = compile_to_catalog("")
|
747
|
-
|
735
|
+
expect(empty_catalog.to_pson).to validate_against('api/schemas/catalog.json')
|
748
736
|
end
|
749
737
|
|
750
|
-
it "should validate a noop catalog against the schema"
|
738
|
+
it "should validate a noop catalog against the schema" do
|
751
739
|
noop_catalog = compile_to_catalog("create_resources('file', {})")
|
752
|
-
|
740
|
+
expect(noop_catalog.to_pson).to validate_against('api/schemas/catalog.json')
|
753
741
|
end
|
754
742
|
|
755
|
-
it "should validate a single resource catalog against the schema"
|
743
|
+
it "should validate a single resource catalog against the schema" do
|
756
744
|
catalog = compile_to_catalog("create_resources('file', {'/etc/foo'=>{'ensure'=>'present'}})")
|
757
|
-
|
745
|
+
expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
|
758
746
|
end
|
759
747
|
|
760
|
-
it "should validate a virtual resource catalog against the schema"
|
748
|
+
it "should validate a virtual resource catalog against the schema" do
|
761
749
|
catalog = compile_to_catalog("create_resources('@file', {'/etc/foo'=>{'ensure'=>'present'}})\nrealize(File['/etc/foo'])")
|
762
|
-
|
750
|
+
expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
|
763
751
|
end
|
764
752
|
|
765
|
-
it "should validate a single exported resource catalog against the schema"
|
753
|
+
it "should validate a single exported resource catalog against the schema" do
|
766
754
|
catalog = compile_to_catalog("create_resources('@@file', {'/etc/foo'=>{'ensure'=>'present'}})")
|
767
|
-
|
755
|
+
expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
|
768
756
|
end
|
769
757
|
|
770
|
-
it "should validate a two resource catalog against the schema"
|
758
|
+
it "should validate a two resource catalog against the schema" do
|
771
759
|
catalog = compile_to_catalog("create_resources('notify', {'foo'=>{'message'=>'one'}, 'bar'=>{'message'=>'two'}})")
|
772
|
-
|
760
|
+
expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
|
773
761
|
end
|
774
762
|
|
775
|
-
it "should validate a two parameter class catalog against the schema"
|
763
|
+
it "should validate a two parameter class catalog against the schema" do
|
776
764
|
catalog = compile_to_catalog(<<-MANIFEST)
|
777
765
|
class multi_param_class ($one, $two) {
|
778
766
|
notify {'foo':
|
@@ -785,7 +773,7 @@ describe Puppet::Resource::Catalog, "when converting a resource catalog to pson"
|
|
785
773
|
two => 'world',
|
786
774
|
}
|
787
775
|
MANIFEST
|
788
|
-
|
776
|
+
expect(catalog.to_pson).to validate_against('api/schemas/catalog.json')
|
789
777
|
end
|
790
778
|
end
|
791
779
|
|
@@ -181,7 +181,7 @@ describe Puppet::Resource::Status do
|
|
181
181
|
|
182
182
|
@status.containment_path.should == @containment_path
|
183
183
|
|
184
|
-
tripped = Puppet::Resource::Status.
|
184
|
+
tripped = Puppet::Resource::Status.from_data_hash(PSON.parse(@status.to_pson))
|
185
185
|
|
186
186
|
tripped.title.should == @status.title
|
187
187
|
tripped.containment_path.should == @status.containment_path
|
@@ -7,39 +7,20 @@ require 'puppet/resource/type'
|
|
7
7
|
describe Puppet::Resource::TypeCollection do
|
8
8
|
include PuppetSpec::Files
|
9
9
|
|
10
|
+
let(:environment) { Puppet::Node::Environment.create(:testing, [], '') }
|
11
|
+
|
10
12
|
before do
|
11
13
|
@instance = Puppet::Resource::Type.new(:hostclass, "foo")
|
12
|
-
@code = Puppet::Resource::TypeCollection.new(
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should require an environment at initialization" do
|
16
|
-
env = Puppet::Node::Environment.new("testing")
|
17
|
-
Puppet::Resource::TypeCollection.new(env).environment.should equal(env)
|
18
|
-
end
|
19
|
-
|
20
|
-
it "should convert the environment into an environment instance if a string is provided" do
|
21
|
-
env = Puppet::Node::Environment.new("testing")
|
22
|
-
Puppet::Resource::TypeCollection.new("testing").environment.should equal(env)
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should create a 'loader' at initialization" do
|
26
|
-
Puppet::Resource::TypeCollection.new("testing").loader.should be_instance_of(Puppet::Parser::TypeLoader)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should be able to add a resource type" do
|
30
|
-
Puppet::Resource::TypeCollection.new("env").should respond_to(:add)
|
14
|
+
@code = Puppet::Resource::TypeCollection.new(environment)
|
31
15
|
end
|
32
16
|
|
33
17
|
it "should consider '<<' to be an alias to 'add' but should return self" do
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
loader << "foo" << "bar"
|
18
|
+
@code.expects(:add).with "foo"
|
19
|
+
@code.expects(:add).with "bar"
|
20
|
+
@code << "foo" << "bar"
|
38
21
|
end
|
39
22
|
|
40
23
|
it "should set itself as the code collection for added resource types" do
|
41
|
-
loader = Puppet::Resource::TypeCollection.new("env")
|
42
|
-
|
43
24
|
node = Puppet::Resource::Type.new(:node, "foo")
|
44
25
|
|
45
26
|
@code.add(node)
|
@@ -96,7 +77,7 @@ describe Puppet::Resource::TypeCollection do
|
|
96
77
|
end
|
97
78
|
|
98
79
|
it "should remove all nodes, classes, and definitions when cleared" do
|
99
|
-
loader = Puppet::Resource::TypeCollection.new(
|
80
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
100
81
|
loader.add Puppet::Resource::Type.new(:hostclass, "class")
|
101
82
|
loader.add Puppet::Resource::Type.new(:definition, "define")
|
102
83
|
loader.add Puppet::Resource::Type.new(:node, "node")
|
@@ -200,14 +181,14 @@ describe Puppet::Resource::TypeCollection do
|
|
200
181
|
describe "behavior of add for #{data}" do
|
201
182
|
|
202
183
|
it "should return the added #{data}" do
|
203
|
-
loader = Puppet::Resource::TypeCollection.new(
|
184
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
204
185
|
instance = Puppet::Resource::Type.new(data, "foo")
|
205
186
|
|
206
187
|
loader.add(instance).should equal(instance)
|
207
188
|
end
|
208
189
|
|
209
190
|
it "should retrieve #{data} insensitive to case" do
|
210
|
-
loader = Puppet::Resource::TypeCollection.new(
|
191
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
211
192
|
instance = Puppet::Resource::Type.new(data, "Bar")
|
212
193
|
|
213
194
|
loader.add instance
|
@@ -216,75 +197,75 @@ describe Puppet::Resource::TypeCollection do
|
|
216
197
|
end
|
217
198
|
|
218
199
|
it "should return nil when asked for a #{data} that has not been added" do
|
219
|
-
Puppet::Resource::TypeCollection.new(
|
200
|
+
Puppet::Resource::TypeCollection.new(environment).send(data, "foo").should be_nil
|
220
201
|
end
|
221
202
|
end
|
222
203
|
end
|
223
204
|
|
224
205
|
describe "when finding a qualified instance" do
|
225
206
|
it "should return any found instance if the instance name is fully qualified" do
|
226
|
-
loader = Puppet::Resource::TypeCollection.new(
|
207
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
227
208
|
instance = Puppet::Resource::Type.new(:hostclass, "foo::bar")
|
228
209
|
loader.add instance
|
229
210
|
loader.find_hostclass("namespace", "::foo::bar").should equal(instance)
|
230
211
|
end
|
231
212
|
|
232
213
|
it "should return nil if the instance name is fully qualified and no such instance exists" do
|
233
|
-
loader = Puppet::Resource::TypeCollection.new(
|
214
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
234
215
|
loader.find_hostclass("namespace", "::foo::bar").should be_nil
|
235
216
|
end
|
236
217
|
|
237
218
|
it "should be able to find classes in the base namespace" do
|
238
|
-
loader = Puppet::Resource::TypeCollection.new(
|
219
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
239
220
|
instance = Puppet::Resource::Type.new(:hostclass, "foo")
|
240
221
|
loader.add instance
|
241
222
|
loader.find_hostclass("", "foo").should equal(instance)
|
242
223
|
end
|
243
224
|
|
244
225
|
it "should return the partially qualified object if it exists in a provided namespace" do
|
245
|
-
loader = Puppet::Resource::TypeCollection.new(
|
226
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
246
227
|
instance = Puppet::Resource::Type.new(:hostclass, "foo::bar::baz")
|
247
228
|
loader.add instance
|
248
229
|
loader.find_hostclass("foo", "bar::baz").should equal(instance)
|
249
230
|
end
|
250
231
|
|
251
232
|
it "should be able to find partially qualified objects in any of the provided namespaces" do
|
252
|
-
loader = Puppet::Resource::TypeCollection.new(
|
233
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
253
234
|
instance = Puppet::Resource::Type.new(:hostclass, "foo::bar::baz")
|
254
235
|
loader.add instance
|
255
236
|
loader.find_hostclass(["nons", "foo", "otherns"], "bar::baz").should equal(instance)
|
256
237
|
end
|
257
238
|
|
258
239
|
it "should return the unqualified object if it exists in a provided namespace" do
|
259
|
-
loader = Puppet::Resource::TypeCollection.new(
|
240
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
260
241
|
instance = Puppet::Resource::Type.new(:hostclass, "foo::bar")
|
261
242
|
loader.add instance
|
262
243
|
loader.find_hostclass("foo", "bar").should equal(instance)
|
263
244
|
end
|
264
245
|
|
265
246
|
it "should return the unqualified object if it exists in the parent namespace" do
|
266
|
-
loader = Puppet::Resource::TypeCollection.new(
|
247
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
267
248
|
instance = Puppet::Resource::Type.new(:hostclass, "foo::bar")
|
268
249
|
loader.add instance
|
269
250
|
loader.find_hostclass("foo::bar::baz", "bar").should equal(instance)
|
270
251
|
end
|
271
252
|
|
272
253
|
it "should should return the partially qualified object if it exists in the parent namespace" do
|
273
|
-
loader = Puppet::Resource::TypeCollection.new(
|
254
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
274
255
|
instance = Puppet::Resource::Type.new(:hostclass, "foo::bar::baz")
|
275
256
|
loader.add instance
|
276
257
|
loader.find_hostclass("foo::bar", "bar::baz").should equal(instance)
|
277
258
|
end
|
278
259
|
|
279
260
|
it "should return the qualified object if it exists in the root namespace" do
|
280
|
-
loader = Puppet::Resource::TypeCollection.new(
|
261
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
281
262
|
instance = Puppet::Resource::Type.new(:hostclass, "foo::bar::baz")
|
282
263
|
loader.add instance
|
283
264
|
loader.find_hostclass("foo::bar", "foo::bar::baz").should equal(instance)
|
284
265
|
end
|
285
266
|
|
286
267
|
it "should return nil if the object cannot be found" do
|
287
|
-
loader = Puppet::Resource::TypeCollection.new(
|
268
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
288
269
|
instance = Puppet::Resource::Type.new(:hostclass, "foo::bar::baz")
|
289
270
|
loader.add instance
|
290
271
|
loader.find_hostclass("foo::bar", "eh").should be_nil
|
@@ -292,7 +273,7 @@ describe Puppet::Resource::TypeCollection do
|
|
292
273
|
|
293
274
|
describe "when topscope has a class that has the same name as a local class" do
|
294
275
|
before do
|
295
|
-
@loader = Puppet::Resource::TypeCollection.new(
|
276
|
+
@loader = Puppet::Resource::TypeCollection.new(environment)
|
296
277
|
[ "foo::bar", "bar" ].each do |name|
|
297
278
|
@loader.add Puppet::Resource::Type.new(:hostclass, name)
|
298
279
|
end
|
@@ -312,7 +293,7 @@ describe Puppet::Resource::TypeCollection do
|
|
312
293
|
end
|
313
294
|
|
314
295
|
it "should not look in the local scope for classes when the name is qualified" do
|
315
|
-
@loader = Puppet::Resource::TypeCollection.new(
|
296
|
+
@loader = Puppet::Resource::TypeCollection.new(environment)
|
316
297
|
@loader.add Puppet::Resource::Type.new(:hostclass, "foo::bar")
|
317
298
|
|
318
299
|
@loader.find_hostclass("foo", "::bar").should == nil
|
@@ -322,24 +303,24 @@ describe Puppet::Resource::TypeCollection do
|
|
322
303
|
|
323
304
|
it "should be able to find nodes" do
|
324
305
|
node = Puppet::Resource::Type.new(:node, "bar")
|
325
|
-
loader = Puppet::Resource::TypeCollection.new(
|
306
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
326
307
|
loader.add(node)
|
327
308
|
loader.find_node(stub("ignored"), "bar").should == node
|
328
309
|
end
|
329
310
|
|
330
311
|
it "should indicate whether any nodes are defined" do
|
331
|
-
loader = Puppet::Resource::TypeCollection.new(
|
312
|
+
loader = Puppet::Resource::TypeCollection.new(environment)
|
332
313
|
loader.add_node(Puppet::Resource::Type.new(:node, "foo"))
|
333
314
|
loader.should be_nodes
|
334
315
|
end
|
335
316
|
|
336
317
|
it "should indicate whether no nodes are defined" do
|
337
|
-
Puppet::Resource::TypeCollection.new(
|
318
|
+
Puppet::Resource::TypeCollection.new(environment).should_not be_nodes
|
338
319
|
end
|
339
320
|
|
340
321
|
describe "when finding nodes" do
|
341
322
|
before :each do
|
342
|
-
@loader = Puppet::Resource::TypeCollection.new(
|
323
|
+
@loader = Puppet::Resource::TypeCollection.new(environment)
|
343
324
|
end
|
344
325
|
|
345
326
|
it "should return any node whose name exactly matches the provided node name" do
|
@@ -368,7 +349,7 @@ describe Puppet::Resource::TypeCollection do
|
|
368
349
|
|
369
350
|
describe "when managing files" do
|
370
351
|
before do
|
371
|
-
@loader = Puppet::Resource::TypeCollection.new(
|
352
|
+
@loader = Puppet::Resource::TypeCollection.new(environment)
|
372
353
|
Puppet::Util::WatchedFile.stubs(:new).returns stub("watched_file")
|
373
354
|
end
|
374
355
|
|
@@ -409,7 +390,7 @@ describe Puppet::Resource::TypeCollection do
|
|
409
390
|
|
410
391
|
describe "when determining the configuration version" do
|
411
392
|
before do
|
412
|
-
@code = Puppet::Resource::TypeCollection.new(
|
393
|
+
@code = Puppet::Resource::TypeCollection.new(environment)
|
413
394
|
end
|
414
395
|
|
415
396
|
it "should default to the current time" do
|
@@ -2,19 +2,11 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
require 'puppet/resource/type'
|
4
4
|
|
5
|
-
|
6
|
-
if not Puppet.features.microsoft_windows?
|
7
|
-
RESOURCE_TYPE_SCHEMA = JSON.parse(File.read(File.join(File.dirname(__FILE__), '../../../api/schemas/resource_type.json')))
|
8
|
-
|
9
|
-
describe "resource type schema" do
|
10
|
-
it "should validate against the json meta-schema" do
|
11
|
-
JSON::Validator.validate!(JSON_META_SCHEMA, RESOURCE_TYPE_SCHEMA)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
5
|
+
require 'matchers/json'
|
16
6
|
|
17
7
|
describe Puppet::Resource::Type do
|
8
|
+
include JSONMatchers
|
9
|
+
|
18
10
|
it "should have a 'name' attribute" do
|
19
11
|
Puppet::Resource::Type.new(:hostclass, "foo").name.should == "foo"
|
20
12
|
end
|
@@ -42,20 +34,16 @@ describe Puppet::Resource::Type do
|
|
42
34
|
end
|
43
35
|
|
44
36
|
describe "when converting to json" do
|
45
|
-
def validate_json_for_type(type)
|
46
|
-
JSON::Validator.validate!(RESOURCE_TYPE_SCHEMA, type.to_pson)
|
47
|
-
end
|
48
|
-
|
49
37
|
before do
|
50
38
|
@type = Puppet::Resource::Type.new(:hostclass, "foo")
|
51
39
|
end
|
52
40
|
|
53
41
|
def from_json(json)
|
54
|
-
Puppet::Resource::Type.
|
42
|
+
Puppet::Resource::Type.from_data_hash(json)
|
55
43
|
end
|
56
44
|
|
57
45
|
def double_convert
|
58
|
-
Puppet::Resource::Type.
|
46
|
+
Puppet::Resource::Type.from_data_hash(PSON.parse(@type.to_pson))
|
59
47
|
end
|
60
48
|
|
61
49
|
it "should include the name and type" do
|
@@ -63,18 +51,18 @@ describe Puppet::Resource::Type do
|
|
63
51
|
double_convert.type.should == @type.type
|
64
52
|
end
|
65
53
|
|
66
|
-
it "should validate with only name and kind"
|
67
|
-
|
54
|
+
it "should validate with only name and kind" do
|
55
|
+
expect(@type.to_pson).to validate_against('api/schemas/resource_type.json')
|
68
56
|
end
|
69
57
|
|
70
|
-
it "should validate with all fields set"
|
58
|
+
it "should validate with all fields set" do
|
71
59
|
@type.set_arguments("one" => nil, "two" => "foo")
|
72
60
|
@type.line = 100
|
73
61
|
@type.doc = "A weird type"
|
74
62
|
@type.file = "/etc/manifests/thing.pp"
|
75
63
|
@type.parent = "one::two"
|
76
64
|
|
77
|
-
|
65
|
+
expect(@type.to_pson).to validate_against('api/schemas/resource_type.json')
|
78
66
|
end
|
79
67
|
|
80
68
|
it "should include any arguments" do
|
@@ -359,14 +347,15 @@ describe Puppet::Resource::Type do
|
|
359
347
|
|
360
348
|
describe "when describing and managing parent classes" do
|
361
349
|
before do
|
362
|
-
|
350
|
+
environment = Puppet::Node::Environment.create(:testing, [], '')
|
351
|
+
@krt = environment.known_resource_types
|
363
352
|
@parent = Puppet::Resource::Type.new(:hostclass, "bar")
|
364
353
|
@krt.add @parent
|
365
354
|
|
366
355
|
@child = Puppet::Resource::Type.new(:hostclass, "foo", :parent => "bar")
|
367
356
|
@krt.add @child
|
368
357
|
|
369
|
-
@scope = Puppet::Parser::Scope.new(Puppet::Parser::Compiler.new(Puppet::Node.new("foo")))
|
358
|
+
@scope = Puppet::Parser::Scope.new(Puppet::Parser::Compiler.new(Puppet::Node.new("foo", :environment => environment)))
|
370
359
|
end
|
371
360
|
|
372
361
|
it "should be able to define a parent" do
|