puppet 3.2.4 → 3.3.0.rc2
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/COMMITTERS.md +101 -42
- data/Gemfile +15 -4
- data/README.md +5 -1
- data/README_DEVELOPER.md +117 -54
- data/Rakefile +4 -0
- data/ext/build_defaults.yaml +3 -2
- data/ext/debian/puppet-common.manpages +33 -1
- data/ext/gentoo/init.d/puppet +1 -1
- data/ext/gentoo/init.d/puppetmaster +1 -1
- data/ext/redhat/puppet.spec.erb +0 -1
- data/install.rb +2 -1
- data/lib/hiera/backend/puppet_backend.rb +1 -1
- data/lib/puppet/application.rb +10 -9
- data/lib/puppet/application/agent.rb +87 -93
- data/lib/puppet/application/apply.rb +0 -2
- data/lib/puppet/application/device.rb +3 -3
- data/lib/puppet/application/kick.rb +2 -2
- data/lib/puppet/application/master.rb +41 -19
- data/lib/puppet/application/queue.rb +5 -3
- data/lib/puppet/bindings.rb +147 -0
- data/lib/puppet/configurer.rb +25 -15
- data/lib/puppet/configurer/fact_handler.rb +2 -9
- data/lib/puppet/daemon.rb +44 -33
- data/lib/puppet/defaults.rb +57 -26
- data/lib/puppet/error.rb +1 -1
- data/lib/puppet/external/dot.rb +2 -2
- data/lib/puppet/external/nagios/base.rb +1 -6
- data/lib/puppet/external/pson/common.rb +2 -2
- data/lib/puppet/external/pson/pure/generator.rb +2 -2
- data/lib/puppet/external/pson/pure/parser.rb +1 -1
- data/lib/puppet/face/ca.rb +1 -1
- data/lib/puppet/face/config.rb +1 -1
- data/lib/puppet/face/help.rb +2 -2
- data/lib/puppet/face/module/list.rb +2 -2
- data/lib/puppet/feature/rails.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +0 -1
- data/lib/puppet/file_serving/base.rb +1 -1
- data/lib/puppet/file_serving/configuration/parser.rb +20 -14
- data/lib/puppet/forge.rb +0 -32
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/errors.rb +3 -3
- data/lib/puppet/forge/repository.rb +7 -42
- data/lib/puppet/graph.rb +11 -0
- data/lib/puppet/graph/key.rb +26 -0
- data/lib/puppet/graph/prioritizer.rb +29 -0
- data/lib/puppet/graph/random_prioritizer.rb +16 -0
- data/lib/puppet/{rb_tree_map.rb → graph/rb_tree_map.rb} +3 -3
- data/lib/puppet/graph/relationship_graph.rb +246 -0
- data/lib/puppet/graph/sequential_prioritizer.rb +31 -0
- data/lib/puppet/{simple_graph.rb → graph/simple_graph.rb} +22 -3
- data/lib/puppet/graph/title_hash_prioritizer.rb +16 -0
- data/lib/puppet/indirector.rb +2 -2
- data/lib/puppet/indirector/catalog/compiler.rb +10 -7
- data/lib/puppet/indirector/catalog/static_compiler.rb +50 -0
- data/lib/puppet/indirector/certificate/rest.rb +1 -1
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +2 -2
- data/lib/puppet/indirector/facts/inventory_active_record.rb +0 -1
- data/lib/puppet/indirector/facts/network_device.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +0 -1
- data/lib/puppet/indirector/indirection.rb +2 -2
- data/lib/puppet/indirector/memory.rb +9 -0
- data/lib/puppet/indirector/node/ldap.rb +2 -4
- data/lib/puppet/indirector/report/processor.rb +1 -2
- data/lib/puppet/indirector/report/rest.rb +1 -1
- data/lib/puppet/indirector/request.rb +32 -10
- data/lib/puppet/indirector/resource/rest.rb +1 -1
- data/lib/puppet/indirector/resource_type/parser.rb +31 -12
- data/lib/puppet/interface.rb +1 -1
- data/lib/puppet/interface/documentation.rb +7 -11
- data/lib/puppet/interface/option.rb +1 -1
- data/lib/puppet/interface/option_builder.rb +1 -1
- data/lib/puppet/metatype/manager.rb +2 -2
- data/lib/puppet/module.rb +7 -1
- data/lib/puppet/module_tool.rb +1 -1
- data/lib/puppet/module_tool/applications/application.rb +10 -0
- data/lib/puppet/module_tool/applications/installer.rb +6 -3
- data/lib/puppet/module_tool/dependency.rb +2 -0
- data/lib/puppet/module_tool/errors/upgrader.rb +1 -1
- data/lib/puppet/module_tool/metadata.rb +25 -13
- data/lib/puppet/module_tool/modulefile.rb +7 -7
- data/lib/puppet/module_tool/shared_behaviors.rb +4 -2
- data/lib/puppet/module_tool/skeleton.rb +1 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +5 -5
- data/lib/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb +5 -4
- data/lib/puppet/network/auth_config_parser.rb +3 -0
- data/lib/puppet/network/authconfig.rb +0 -1
- data/lib/puppet/network/authorization.rb +1 -1
- data/lib/puppet/network/authstore.rb +2 -2
- data/lib/puppet/network/format_handler.rb +25 -114
- data/lib/puppet/network/format_support.rb +106 -0
- data/lib/puppet/network/formats.rb +10 -4
- data/lib/puppet/network/http/compression.rb +1 -1
- data/lib/puppet/network/http/connection.rb +76 -32
- data/lib/puppet/network/http/handler.rb +122 -61
- data/lib/puppet/network/http/rack/rest.rb +1 -1
- data/lib/puppet/network/http/webrick/rest.rb +9 -3
- data/lib/puppet/network/http_pool.rb +2 -2
- data/lib/puppet/network/resolver.rb +1 -0
- data/lib/puppet/network/server.rb +5 -81
- data/lib/puppet/node/environment.rb +256 -13
- data/lib/puppet/node/facts.rb +28 -2
- data/lib/puppet/parameter.rb +27 -18
- data/lib/puppet/parameter/boolean.rb +20 -0
- data/lib/puppet/parameter/path.rb +1 -1
- data/lib/puppet/parameter/value.rb +1 -1
- data/lib/puppet/parameter/value_collection.rb +1 -1
- data/lib/puppet/parser/ast/arithmetic_operator.rb +8 -0
- data/lib/puppet/parser/ast/casestatement.rb +0 -3
- data/lib/puppet/parser/ast/lambda.rb +25 -6
- data/lib/puppet/parser/ast/leaf.rb +10 -3
- data/lib/puppet/parser/ast/nop.rb +1 -1
- data/lib/puppet/parser/ast/resource_override.rb +0 -2
- data/lib/puppet/parser/compiler.rb +92 -34
- data/lib/puppet/parser/files.rb +0 -5
- data/lib/puppet/parser/functions/create_resources.rb +23 -46
- data/lib/puppet/parser/functions/each.rb +0 -2
- data/lib/puppet/parser/functions/extlookup.rb +2 -2
- data/lib/puppet/parser/functions/foreach.rb +0 -2
- data/lib/puppet/parser/functions/hiera_include.rb +1 -1
- data/lib/puppet/parser/functions/lookup.rb +44 -0
- data/lib/puppet/parser/functions/slice.rb +1 -1
- data/lib/puppet/parser/grammar.ra +0 -1
- data/lib/puppet/parser/lexer.rb +0 -1
- data/lib/puppet/parser/parser.rb +0 -1
- data/lib/puppet/parser/parser_factory.rb +3 -2
- data/lib/puppet/parser/parser_support.rb +1 -1
- data/lib/puppet/parser/relationship.rb +1 -1
- data/lib/puppet/parser/scope.rb +49 -24
- data/lib/puppet/parser/type_loader.rb +13 -18
- data/lib/puppet/pops.rb +45 -0
- data/lib/puppet/pops/adaptable.rb +2 -2
- data/lib/puppet/pops/adapters.rb +4 -0
- data/lib/puppet/pops/binder/binder.rb +421 -0
- data/lib/puppet/pops/binder/binder_issues.rb +142 -0
- data/lib/puppet/pops/binder/bindings_checker.rb +217 -0
- data/lib/puppet/pops/binder/bindings_composer.rb +241 -0
- data/lib/puppet/pops/binder/bindings_factory.rb +847 -0
- data/lib/puppet/pops/binder/bindings_label_provider.rb +46 -0
- data/lib/puppet/pops/binder/bindings_loader.rb +79 -0
- data/lib/puppet/pops/binder/bindings_model.rb +215 -0
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +205 -0
- data/lib/puppet/pops/binder/bindings_validator_factory.rb +28 -0
- data/lib/puppet/pops/binder/config/binder_config.rb +139 -0
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +183 -0
- data/lib/puppet/pops/binder/config/diagnostic_producer.rb +32 -0
- data/lib/puppet/pops/binder/config/issues.rb +106 -0
- data/lib/puppet/pops/binder/hiera2.rb +10 -0
- data/lib/puppet/pops/binder/hiera2/bindings_provider.rb +148 -0
- data/lib/puppet/pops/binder/hiera2/config.rb +69 -0
- data/lib/puppet/pops/binder/hiera2/config_checker.rb +68 -0
- data/lib/puppet/pops/binder/hiera2/diagnostic_producer.rb +36 -0
- data/lib/puppet/pops/binder/hiera2/issues.rb +67 -0
- data/lib/puppet/pops/binder/hiera2/json_backend.rb +18 -0
- data/lib/puppet/pops/binder/hiera2/yaml_backend.rb +21 -0
- data/lib/puppet/pops/binder/injector.rb +688 -0
- data/lib/puppet/pops/binder/injector_entry.rb +53 -0
- data/lib/puppet/pops/binder/key_factory.rb +61 -0
- data/lib/puppet/pops/binder/producers.rb +829 -0
- data/lib/puppet/pops/binder/scheme_handler/confdir_hiera_scheme.rb +67 -0
- data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +34 -0
- data/lib/puppet/pops/binder/scheme_handler/module_hiera_scheme.rb +92 -0
- data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +84 -0
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +54 -0
- data/lib/puppet/pops/binder/system_bindings.rb +72 -0
- data/lib/puppet/pops/issue_reporter.rb +75 -0
- data/lib/puppet/pops/issues.rb +9 -5
- data/lib/puppet/pops/model/ast_transformer.rb +4 -4
- data/lib/puppet/pops/model/ast_tree_dumper.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +25 -13
- data/lib/puppet/pops/model/model.rb +1 -1
- data/lib/puppet/pops/model/tree_dumper.rb +2 -2
- data/lib/puppet/pops/parser/egrammar.ra +0 -1
- data/lib/puppet/pops/parser/eparser.rb +1 -2
- data/lib/puppet/pops/parser/evaluating_parser.rb +162 -0
- data/lib/puppet/pops/parser/lexer.rb +8 -6
- data/lib/puppet/pops/types/class_loader.rb +118 -0
- data/lib/puppet/pops/types/type_calculator.rb +557 -0
- data/lib/puppet/pops/types/type_factory.rb +147 -0
- data/lib/puppet/pops/types/type_parser.rb +117 -0
- data/lib/puppet/pops/types/types.rb +132 -0
- data/lib/puppet/pops/validation.rb +146 -17
- data/lib/puppet/pops/validation/checker3_1.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_3_1.rb +6 -16
- data/lib/puppet/property.rb +3 -3
- data/lib/puppet/property/keyvalue.rb +1 -1
- data/lib/puppet/provider.rb +2 -2
- data/lib/puppet/provider/aixobject.rb +19 -21
- data/lib/puppet/provider/augeas/augeas.rb +3 -1
- data/lib/puppet/provider/command.rb +2 -2
- data/lib/puppet/provider/group/aix.rb +1 -1
- data/lib/puppet/provider/group/ldap.rb +1 -1
- data/lib/puppet/provider/macauthorization/macauthorization.rb +1 -1
- data/lib/puppet/provider/mailalias/aliases.rb +3 -8
- data/lib/puppet/provider/mcx/mcxcontent.rb +7 -1
- data/lib/puppet/provider/mount.rb +8 -3
- data/lib/puppet/provider/nameservice.rb +1 -1
- data/lib/puppet/provider/nameservice/directoryservice.rb +5 -5
- data/lib/puppet/provider/package/appdmg.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +0 -1
- data/lib/puppet/provider/package/dpkg.rb +86 -32
- data/lib/puppet/provider/package/fink.rb +0 -2
- data/lib/puppet/provider/package/freebsd.rb +0 -2
- data/lib/puppet/provider/package/openbsd.rb +57 -10
- data/lib/puppet/provider/package/opkg.rb +0 -1
- data/lib/puppet/provider/package/pacman.rb +0 -1
- data/lib/puppet/provider/package/pip.rb +1 -1
- data/lib/puppet/provider/package/pkgdmg.rb +17 -6
- data/lib/puppet/provider/package/pkgutil.rb +1 -1
- data/lib/puppet/provider/package/portage.rb +9 -1
- data/lib/puppet/provider/package/ports.rb +2 -2
- data/lib/puppet/provider/package/rpm.rb +29 -12
- data/lib/puppet/provider/package/rug.rb +1 -1
- data/lib/puppet/provider/package/urpmi.rb +11 -15
- data/lib/puppet/provider/package/windows/exe_package.rb +1 -1
- data/lib/puppet/provider/package/windows/package.rb +1 -26
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/package/zypper.rb +22 -3
- data/lib/puppet/provider/parsedfile.rb +1 -12
- data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +1 -1
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/daemontools.rb +3 -3
- data/lib/puppet/provider/service/debian.rb +1 -1
- data/lib/puppet/provider/service/init.rb +14 -20
- data/lib/puppet/provider/service/openrc.rb +3 -1
- data/lib/puppet/provider/service/redhat.rb +5 -8
- data/lib/puppet/provider/service/runit.rb +3 -2
- data/lib/puppet/provider/service/systemd.rb +1 -1
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
- data/lib/puppet/provider/sshkey/parsed.rb +0 -2
- data/lib/puppet/provider/user/aix.rb +25 -12
- data/lib/puppet/provider/user/directoryservice.rb +4 -7
- data/lib/puppet/provider/user/ldap.rb +0 -1
- data/lib/puppet/provider/user/user_role_add.rb +2 -0
- data/lib/puppet/provider/user/useradd.rb +1 -1
- data/lib/puppet/provider/zone/solaris.rb +1 -2
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/reports/rrdgraph.rb +1 -1
- data/lib/puppet/reports/tagmail.rb +1 -1
- data/lib/puppet/resource.rb +16 -4
- data/lib/puppet/resource/catalog.rb +111 -173
- data/lib/puppet/resource/status.rb +42 -3
- data/lib/puppet/resource/type.rb +33 -46
- data/lib/puppet/resource/type_collection.rb +19 -15
- data/lib/puppet/run.rb +5 -1
- data/lib/puppet/scheduler/scheduler.rb +14 -15
- data/lib/puppet/settings.rb +78 -41
- data/lib/puppet/settings/boolean_setting.rb +0 -2
- data/lib/puppet/settings/config_file.rb +0 -2
- data/lib/puppet/settings/directory_setting.rb +0 -2
- data/lib/puppet/settings/duration_setting.rb +0 -2
- data/lib/puppet/settings/enum_setting.rb +16 -0
- data/lib/puppet/settings/file_setting.rb +0 -2
- data/lib/puppet/settings/path_setting.rb +0 -2
- data/lib/puppet/settings/string_setting.rb +0 -3
- data/lib/puppet/settings/terminus_setting.rb +0 -2
- data/lib/puppet/ssl/certificate_authority.rb +102 -9
- data/lib/puppet/test/test_helper.rb +1 -0
- data/lib/puppet/transaction.rb +130 -292
- data/lib/puppet/transaction/additional_resource_generator.rb +126 -0
- data/lib/puppet/transaction/event.rb +16 -1
- data/lib/puppet/transaction/report.rb +34 -14
- data/lib/puppet/transaction/resource_harness.rb +16 -19
- data/lib/puppet/type.rb +59 -53
- data/lib/puppet/type/component.rb +0 -2
- data/lib/puppet/type/cron.rb +13 -2
- data/lib/puppet/type/exec.rb +5 -7
- data/lib/puppet/type/file.rb +9 -32
- data/lib/puppet/type/file/content.rb +4 -1
- data/lib/puppet/type/file/ctime.rb +3 -1
- data/lib/puppet/type/file/ensure.rb +1 -1
- data/lib/puppet/type/file/mode.rb +0 -1
- data/lib/puppet/type/file/mtime.rb +2 -1
- data/lib/puppet/type/group.rb +7 -9
- data/lib/puppet/type/host.rb +1 -2
- data/lib/puppet/type/mcx.rb +0 -1
- data/lib/puppet/type/mount.rb +38 -6
- data/lib/puppet/type/package.rb +2 -2
- data/lib/puppet/type/resources.rb +5 -4
- data/lib/puppet/type/schedule.rb +1 -4
- data/lib/puppet/type/selmodule.rb +1 -1
- data/lib/puppet/type/service.rb +1 -3
- data/lib/puppet/type/tidy.rb +3 -3
- data/lib/puppet/type/user.rb +9 -13
- data/lib/puppet/type/yumrepo.rb +11 -7
- data/lib/puppet/util.rb +14 -7
- data/lib/puppet/util/autoload.rb +0 -1
- data/lib/puppet/util/backups.rb +1 -3
- data/lib/puppet/util/classgen.rb +1 -1
- data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -3
- data/lib/puppet/util/command_line/trollop.rb +1 -1
- data/lib/puppet/util/constant_inflector.rb +1 -2
- data/lib/puppet/util/errors.rb +1 -0
- data/lib/puppet/util/file_watcher.rb +28 -0
- data/lib/puppet/util/fileparsing.rb +1 -3
- data/lib/puppet/util/filetype.rb +0 -1
- data/lib/puppet/util/http_proxy.rb +38 -0
- data/lib/puppet/util/ldap/manager.rb +1 -2
- data/lib/puppet/util/log.rb +31 -10
- data/lib/puppet/util/log/destinations.rb +0 -50
- data/lib/puppet/util/metric.rb +8 -1
- data/lib/puppet/util/monkey_patches.rb +14 -148
- data/lib/puppet/util/network_device/cisco/facts.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +6 -9
- data/lib/puppet/util/network_device/transport/ssh.rb +1 -1
- data/lib/puppet/util/pidlock.rb +3 -0
- data/lib/puppet/util/posix.rb +1 -1
- data/lib/puppet/util/profiler.rb +1 -1
- data/lib/puppet/util/rdoc.rb +1 -1
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +0 -1
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +50 -42
- data/lib/puppet/util/retryaction.rb +0 -1
- data/lib/puppet/util/symbolic_file_mode.rb +5 -1
- data/lib/puppet/util/tagging.rb +0 -2
- data/lib/puppet/util/warnings.rb +3 -0
- data/lib/puppet/util/watched_file.rb +37 -0
- data/lib/puppet/util/watcher.rb +17 -0
- data/lib/puppet/util/watcher/change_watcher.rb +33 -0
- data/lib/puppet/util/watcher/periodic_watcher.rb +37 -0
- data/lib/puppet/util/watcher/timer.rb +19 -0
- data/lib/puppet/util/windows/user.rb +1 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppetx.rb +109 -0
- data/lib/puppetx/puppet/bindings_scheme_handler.rb +130 -0
- data/lib/puppetx/puppet/hiera2_backend.rb +31 -0
- data/lib/puppetx/puppet/syntax_checker.rb +91 -0
- data/lib/puppetx/puppetlabs/syntax_checkers/json.rb +39 -0
- data/lib/semver.rb +1 -1
- data/man/man8/puppet-kick.8 +1 -1
- data/spec/fixtures/integration/provider/cron/crontab/unspecialized +15 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/binder_config.yaml +18 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/hiera.yaml +8 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/common.yaml +1 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/hiera.yaml +10 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +19 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/common.yaml +1 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/hiera.yaml +11 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/localhost.yaml +1 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/common.yaml +3 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/hiera.yaml +13 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppet/bindings/awesome/default.rb +4 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppetx/awesome/echo_backend.rb +11 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppetx/awesome/echo_scheme_handler.rb +18 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/localhost.yaml +1 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/common.yaml +3 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/hiera_config.yaml +9 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/common.yaml +2 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/hiera.yaml +11 -0
- data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +9 -0
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/hiera.yaml +9 -0
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.json +9 -0
- data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.yaml +5 -0
- data/spec/fixtures/unit/pops/binder/hiera2/config/bad_syntax/hiera.yaml +10 -0
- data/spec/fixtures/unit/pops/binder/hiera2/config/malformed_hierarchy/hiera.yaml +8 -0
- data/spec/fixtures/unit/pops/binder/hiera2/config/missing/foo.txt +1 -0
- data/spec/fixtures/unit/pops/binder/hiera2/config/no_backends/hiera.yaml +7 -0
- data/spec/fixtures/unit/pops/binder/hiera2/config/no_hierarchy/hiera.yaml +4 -0
- data/spec/fixtures/unit/pops/binder/hiera2/config/not_a_hash/hiera.yaml +2 -0
- data/spec/fixtures/unit/pops/binder/hiera2/config/ok/hiera.yaml +8 -0
- data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/empty/common.yaml +0 -0
- data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/invalid/common.yaml +1 -0
- data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/ok/common.yaml +2 -0
- data/spec/fixtures/unit/provider/package/openbsd/pkginfo_flavors.list +2 -0
- data/spec/integration/agent/logging_spec.rb +178 -0
- data/spec/integration/configurer_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +0 -6
- data/spec/integration/network/authconfig_spec.rb +19 -0
- data/spec/integration/network/server/webrick_spec.rb +10 -11
- data/spec/integration/parser/catalog_spec.rb +85 -0
- data/spec/integration/provider/cron/crontab_spec.rb +11 -0
- data/spec/integration/provider/mount_spec.rb +1 -0
- data/spec/integration/transaction_spec.rb +8 -8
- data/spec/integration/type/file_spec.rb +1 -1
- data/spec/integration/util/settings_spec.rb +58 -11
- data/spec/lib/matchers/include_in_order.rb +21 -0
- data/spec/lib/matchers/include_in_order_spec.rb +30 -0
- data/spec/lib/matchers/relationship_graph_matchers.rb +48 -0
- data/spec/lib/puppet_spec/compiler.rb +24 -0
- data/spec/lib/puppet_spec/pops.rb +16 -0
- data/spec/spec_helper.rb +0 -1
- data/spec/unit/application/agent_spec.rb +145 -145
- data/spec/unit/application/apply_spec.rb +1 -1
- data/spec/unit/application/doc_spec.rb +1 -1
- data/spec/unit/application/face_base_spec.rb +3 -3
- data/spec/unit/application/facts_spec.rb +1 -0
- data/spec/unit/application/master_spec.rb +0 -15
- data/spec/unit/application/queue_spec.rb +6 -12
- data/spec/unit/application/resource_spec.rb +1 -1
- data/spec/unit/configurer/fact_handler_spec.rb +19 -50
- data/spec/unit/configurer_spec.rb +23 -7
- data/spec/unit/daemon_spec.rb +97 -121
- data/spec/unit/defaults_spec.rb +44 -0
- data/spec/unit/face/node_spec.rb +2 -2
- data/spec/unit/file_serving/configuration/parser_spec.rb +23 -33
- data/spec/unit/file_serving/configuration_spec.rb +2 -2
- data/spec/unit/file_serving/mount/file_spec.rb +4 -4
- data/spec/unit/forge/repository_spec.rb +9 -29
- data/spec/unit/graph/key_spec.rb +41 -0
- data/spec/unit/{rb_tree_map_spec.rb → graph/rb_tree_map_spec.rb} +7 -7
- data/spec/unit/graph/relationship_graph_spec.rb +393 -0
- data/spec/unit/graph/sequential_prioritizer_spec.rb +32 -0
- data/spec/unit/{simple_graph_spec.rb → graph/simple_graph.rb} +42 -254
- data/spec/unit/graph/title_hash_prioritizer_spec.rb +49 -0
- data/spec/unit/hiera_puppet_spec.rb +1 -1
- data/spec/unit/indirector/catalog/active_record_spec.rb +4 -2
- data/spec/unit/indirector/catalog/compiler_spec.rb +20 -26
- data/spec/unit/indirector/face_spec.rb +1 -1
- data/spec/unit/indirector/facts/facter_spec.rb +11 -1
- data/spec/unit/indirector/facts/network_device_spec.rb +11 -1
- data/spec/unit/indirector/hiera_spec.rb +1 -1
- data/spec/unit/indirector/instrumentation_data/local_spec.rb +1 -1
- data/spec/unit/indirector/instrumentation_listener/local_spec.rb +1 -1
- data/spec/unit/indirector/request_spec.rb +92 -39
- data/spec/unit/indirector/rest_spec.rb +1 -0
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/interface/option_builder_spec.rb +1 -0
- data/spec/unit/interface/option_spec.rb +1 -0
- data/spec/unit/interface_spec.rb +2 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +49 -2
- data/spec/unit/module_tool/metadata_spec.rb +13 -0
- data/spec/unit/network/authstore_spec.rb +1 -1
- data/spec/unit/network/format_handler_spec.rb +33 -282
- data/spec/unit/network/format_support_spec.rb +199 -0
- data/spec/unit/network/formats_spec.rb +2 -2
- data/spec/unit/network/http/connection_spec.rb +88 -7
- data/spec/unit/network/http/handler_spec.rb +271 -249
- data/spec/unit/network/http/rack/rest_spec.rb +1 -1
- data/spec/unit/network/http/webrick/rest_spec.rb +73 -22
- data/spec/unit/network/http_pool_spec.rb +40 -0
- data/spec/unit/network/server_spec.rb +18 -207
- data/spec/unit/node/facts_spec.rb +68 -17
- data/spec/unit/other/selinux_spec.rb +24 -20
- data/spec/unit/parameter/boolean_spec.rb +25 -0
- data/spec/unit/parameter/value_collection_spec.rb +7 -7
- data/spec/unit/parameter_spec.rb +10 -13
- data/spec/unit/parser/ast/function_spec.rb +4 -4
- data/spec/unit/parser/ast/leaf_spec.rb +45 -6
- data/spec/unit/parser/collector_spec.rb +3 -3
- data/spec/unit/parser/compiler_spec.rb +4 -3
- data/spec/unit/parser/functions/create_resources_spec.rb +9 -25
- data/spec/unit/parser/functions/extlookup_spec.rb +2 -2
- data/spec/unit/parser/functions/hiera_include_spec.rb +12 -0
- data/spec/unit/parser/functions/lookup_spec.rb +96 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +2 -2
- data/spec/unit/parser/functions/split_spec.rb +2 -2
- data/spec/unit/parser/functions/sprintf_spec.rb +1 -1
- data/spec/unit/parser/functions/versioncmp_spec.rb +2 -2
- data/spec/unit/parser/functions_spec.rb +7 -7
- data/spec/unit/parser/lexer_spec.rb +1 -1
- data/spec/unit/parser/methods/collect_spec.rb +43 -0
- data/spec/unit/parser/resource_spec.rb +9 -9
- data/spec/unit/parser/scope_spec.rb +45 -2
- data/spec/unit/parser/type_loader_spec.rb +159 -175
- data/spec/unit/pops/binder/binder_spec.rb +62 -0
- data/spec/unit/pops/binder/bindings_checker_spec.rb +196 -0
- data/spec/unit/pops/binder/bindings_composer_spec.rb +89 -0
- data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +18 -0
- data/spec/unit/pops/binder/config/binder_config_spec.rb +48 -0
- data/spec/unit/pops/binder/hiera2/bindings_provider_spec.rb +74 -0
- data/spec/unit/pops/binder/hiera2/config_spec.rb +61 -0
- data/spec/unit/pops/binder/hiera2/yaml_backend_spec.rb +33 -0
- data/spec/unit/pops/binder/injector_spec.rb +789 -0
- data/spec/unit/pops/containment_spec.rb +1 -0
- data/spec/unit/pops/issues_spec.rb +1 -1
- data/spec/unit/pops/parser/evaluating_parser_spec.rb +88 -0
- data/spec/unit/pops/parser/lexer_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_calls_spec.rb +4 -0
- data/spec/unit/pops/parser/parser_spec.rb +1 -1
- data/spec/unit/pops/types/type_calculator_spec.rb +484 -0
- data/spec/unit/pops/types/type_factory_spec.rb +65 -0
- data/spec/unit/pops/types/type_parser_spec.rb +93 -0
- data/spec/unit/property/list_spec.rb +1 -1
- data/spec/unit/property/ordered_list_spec.rb +1 -1
- data/spec/unit/provider/aixobject_spec.rb +101 -0
- data/spec/unit/provider/augeas/augeas_spec.rb +14 -3
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +52 -16
- data/spec/unit/provider/mount/parsed_spec.rb +44 -56
- data/spec/unit/provider/mount_spec.rb +11 -2
- data/spec/unit/provider/naginator_spec.rb +8 -0
- data/spec/unit/provider/package/apt_spec.rb +5 -1
- data/spec/unit/provider/package/aptitude_spec.rb +9 -5
- data/spec/unit/provider/package/aptrpm_spec.rb +2 -2
- data/spec/unit/provider/package/dpkg_spec.rb +274 -99
- data/spec/unit/provider/package/openbsd_spec.rb +84 -1
- data/spec/unit/provider/package/opkg_spec.rb +3 -3
- data/spec/unit/provider/package/pip_spec.rb +16 -0
- data/spec/unit/provider/package/pkgdmg_spec.rb +62 -7
- data/spec/unit/provider/package/rpm_spec.rb +112 -21
- data/spec/unit/provider/package/urpmi.rb +80 -0
- data/spec/unit/provider/package/windows/exe_package_spec.rb +1 -1
- data/spec/unit/provider/package/yum_spec.rb +85 -0
- data/spec/unit/provider/package/zypper_spec.rb +25 -6
- data/spec/unit/provider/parsedfile_spec.rb +3 -2
- data/spec/unit/provider/service/init_spec.rb +10 -10
- data/spec/unit/provider/service/openrc_spec.rb +16 -0
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/redhat_spec.rb +7 -0
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +2 -2
- data/spec/unit/provider/user/aix_spec.rb +89 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +11 -4
- data/spec/unit/provider/user/user_role_add_spec.rb +18 -0
- data/spec/unit/provider_spec.rb +2 -13
- data/spec/unit/reports/http_spec.rb +1 -1
- data/spec/unit/resource/catalog_spec.rb +23 -97
- data/spec/unit/resource/resource_type.json +34 -0
- data/spec/unit/resource/status_spec.rb +56 -0
- data/spec/unit/resource/type_collection_spec.rb +6 -6
- data/spec/unit/resource/type_spec.rb +25 -5
- data/spec/unit/resource_spec.rb +68 -24
- data/spec/unit/run_spec.rb +16 -0
- data/spec/unit/scheduler/scheduler_spec.rb +14 -27
- data/spec/unit/semver_spec.rb +5 -0
- data/spec/unit/settings/enum_setting_spec.rb +27 -0
- data/spec/unit/settings_spec.rb +53 -44
- data/spec/unit/ssl/certificate_authority_spec.rb +155 -19
- data/spec/unit/transaction/additional_resource_generator_spec.rb +419 -0
- data/spec/unit/transaction/event_manager_spec.rb +2 -2
- data/spec/unit/transaction/event_spec.rb +57 -0
- data/spec/unit/transaction/report_spec.rb +66 -0
- data/spec/unit/transaction/resource_harness_spec.rb +27 -20
- data/spec/unit/transaction_spec.rb +182 -390
- data/spec/unit/type/augeas_spec.rb +3 -3
- data/spec/unit/type/component_spec.rb +0 -9
- data/spec/unit/type/computer_spec.rb +1 -1
- data/spec/unit/type/cron_spec.rb +2 -2
- data/spec/unit/type/exec_spec.rb +4 -2
- data/spec/unit/type/file/content_spec.rb +11 -0
- data/spec/unit/type/file/group_spec.rb +1 -1
- data/spec/unit/type/file_spec.rb +16 -8
- data/spec/unit/type/mount_spec.rb +445 -259
- data/spec/unit/type/package_spec.rb +4 -4
- data/spec/unit/type/resources_spec.rb +30 -1
- data/spec/unit/type/user_spec.rb +26 -3
- data/spec/unit/type/yumrepo_spec.rb +7 -27
- data/spec/unit/type/zone_spec.rb +4 -1
- data/spec/unit/type_spec.rb +66 -33
- data/spec/unit/util/backups_spec.rb +3 -3
- data/spec/unit/util/http_proxy_spec.rb +83 -0
- data/spec/unit/util/log_spec.rb +79 -8
- data/spec/unit/util/metric_spec.rb +12 -0
- data/spec/unit/util/monkey_patches_spec.rb +6 -0
- data/spec/unit/util/network_device/config_spec.rb +26 -64
- data/spec/unit/util/pidlock_spec.rb +4 -1
- data/spec/unit/util/tagging_spec.rb +5 -9
- data/spec/unit/util/warnings_spec.rb +1 -1
- data/spec/unit/util/watched_file_spec.rb +52 -0
- data/spec/unit/util/watcher/periodic_watcher_spec.rb +52 -0
- data/spec/unit/util/watcher_spec.rb +56 -0
- data/spec/unit/util_spec.rb +16 -0
- metadata +2767 -2576
- data/ext/debian/puppet.manpages +0 -32
- data/ext/osx/PackageInfo.plist +0 -36
- data/ext/osx/createpackage.sh +0 -187
- data/ext/redhat/rundir-perms.patch +0 -28
- data/lib/puppet/external/base64.rb +0 -19
- data/lib/puppet/util/graph.rb +0 -27
- data/lib/puppet/util/loadedfile.rb +0 -61
- data/lib/puppet/util/log_paths.rb +0 -22
- data/lib/puppet/util/subclass_loader.rb +0 -78
- data/spec/monkey_patches/publicize_methods.rb +0 -11
- data/spec/unit/util/loadedfile_spec.rb +0 -71
@@ -74,7 +74,7 @@ describe Puppet::Type.type(:package) do
|
|
74
74
|
|
75
75
|
it "should not support :purged as a value to :ensure if the provider does not have the :purgeable feature" do
|
76
76
|
@provider.expects(:satisfies?).with([:purgeable]).returns(false)
|
77
|
-
|
77
|
+
expect { Puppet::Type.type(:package).new(:name => "yay", :ensure => :purged) }.to raise_error(Puppet::Error)
|
78
78
|
end
|
79
79
|
|
80
80
|
it "should support :latest as a value to :ensure if the provider has the :upgradeable feature" do
|
@@ -84,7 +84,7 @@ describe Puppet::Type.type(:package) do
|
|
84
84
|
|
85
85
|
it "should not support :latest as a value to :ensure if the provider does not have the :upgradeable feature" do
|
86
86
|
@provider.expects(:satisfies?).with([:upgradeable]).returns(false)
|
87
|
-
|
87
|
+
expect { Puppet::Type.type(:package).new(:name => "yay", :ensure => :latest) }.to raise_error(Puppet::Error)
|
88
88
|
end
|
89
89
|
|
90
90
|
it "should support version numbers as a value to :ensure if the provider has the :versionable feature" do
|
@@ -94,11 +94,11 @@ describe Puppet::Type.type(:package) do
|
|
94
94
|
|
95
95
|
it "should not support version numbers as a value to :ensure if the provider does not have the :versionable feature" do
|
96
96
|
@provider.expects(:satisfies?).with([:versionable]).returns(false)
|
97
|
-
|
97
|
+
expect { Puppet::Type.type(:package).new(:name => "yay", :ensure => "1.0") }.to raise_error(Puppet::Error)
|
98
98
|
end
|
99
99
|
|
100
100
|
it "should accept any string as an argument to :source" do
|
101
|
-
|
101
|
+
expect { Puppet::Type.type(:package).new(:name => "yay", :source => "stuff") }.to_not raise_error
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
@@ -21,11 +21,40 @@ describe resources do
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
+
describe :purge do
|
25
|
+
let (:instance) { described_class.new(:name => 'file') }
|
26
|
+
|
27
|
+
it "defaults to false" do
|
28
|
+
instance[:purge].should be_false
|
29
|
+
end
|
30
|
+
|
31
|
+
it "can be set to false" do
|
32
|
+
instance[:purge] = 'false'
|
33
|
+
end
|
34
|
+
|
35
|
+
it "cannot be set to true for a resource type that does not accept ensure" do
|
36
|
+
instance.resource_type.stubs(:respond_to?).returns true
|
37
|
+
instance.resource_type.stubs(:validproperty?).returns false
|
38
|
+
expect { instance[:purge] = 'yes' }.to raise_error Puppet::Error
|
39
|
+
end
|
40
|
+
|
41
|
+
it "cannot be set to true for a resource type that does not have instances" do
|
42
|
+
instance.resource_type.stubs(:respond_to?).returns false
|
43
|
+
instance.resource_type.stubs(:validproperty?).returns true
|
44
|
+
expect { instance[:purge] = 'yes' }.to raise_error Puppet::Error
|
45
|
+
end
|
46
|
+
|
47
|
+
it "can be set to true for a resource type that has instances and can accept ensure" do
|
48
|
+
instance.resource_type.stubs(:respond_to?).returns true
|
49
|
+
instance.resource_type.stubs(:validproperty?).returns true
|
50
|
+
expect { instance[:purge] = 'yes' }.not_to raise_error Puppet::Error
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
24
54
|
describe "#generate" do
|
25
55
|
before do
|
26
56
|
@host1 = Puppet::Type.type(:host).new(:name => 'localhost', :ip => '127.0.0.1')
|
27
57
|
@catalog = Puppet::Resource::Catalog.new
|
28
|
-
@context = Puppet::Transaction.new(@catalog)
|
29
58
|
end
|
30
59
|
|
31
60
|
describe "when dealing with non-purging resources" do
|
data/spec/unit/type/user_spec.rb
CHANGED
@@ -15,7 +15,7 @@ describe Puppet::Type.type(:user) do
|
|
15
15
|
described_class.stubs(:defaultprovider).returns @provider_class
|
16
16
|
end
|
17
17
|
|
18
|
-
it "should be able to create
|
18
|
+
it "should be able to create an instance" do
|
19
19
|
described_class.new(:name => "foo").should_not be_nil
|
20
20
|
end
|
21
21
|
|
@@ -23,11 +23,11 @@ describe Puppet::Type.type(:user) do
|
|
23
23
|
described_class.provider_feature(:allows_duplicates).should_not be_nil
|
24
24
|
end
|
25
25
|
|
26
|
-
it "should have
|
26
|
+
it "should have a manages_homedir feature" do
|
27
27
|
described_class.provider_feature(:manages_homedir).should_not be_nil
|
28
28
|
end
|
29
29
|
|
30
|
-
it "should have
|
30
|
+
it "should have a manages_passwords feature" do
|
31
31
|
described_class.provider_feature(:manages_passwords).should_not be_nil
|
32
32
|
end
|
33
33
|
|
@@ -47,6 +47,29 @@ describe Puppet::Type.type(:user) do
|
|
47
47
|
described_class.provider_feature(:system_users).should_not be_nil
|
48
48
|
end
|
49
49
|
|
50
|
+
describe :managehome do
|
51
|
+
let (:provider) { @provider_class.new(:name => 'foo', :ensure => :absent) }
|
52
|
+
let (:instance) { described_class.new(:name => 'foo', :provider => provider) }
|
53
|
+
|
54
|
+
it "defaults to false" do
|
55
|
+
instance[:managehome].should be_false
|
56
|
+
end
|
57
|
+
|
58
|
+
it "can be set to false" do
|
59
|
+
instance[:managehome] = 'false'
|
60
|
+
end
|
61
|
+
|
62
|
+
it "cannot be set to true for a provider that does not manage homedirs" do
|
63
|
+
provider.class.stubs(:manages_homedir?).returns false
|
64
|
+
expect { instance[:managehome] = 'yes' }.to raise_error Puppet::Error
|
65
|
+
end
|
66
|
+
|
67
|
+
it "can be set to true for a provider that does manage homedirs" do
|
68
|
+
provider.class.stubs(:manages_homedir?).returns true
|
69
|
+
instance[:managehome] = 'yes'
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
50
73
|
describe "instances" do
|
51
74
|
it "should delegate existence questions to its provider" do
|
52
75
|
@provider = @provider_class.new(:name => 'foo', :ensure => :absent)
|
@@ -2,46 +2,42 @@
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
|
6
5
|
describe Puppet::Type.type(:yumrepo) do
|
7
6
|
include PuppetSpec::Files
|
8
7
|
|
9
8
|
describe "When validating attributes" do
|
10
|
-
|
11
9
|
it "should have a 'name' parameter'" do
|
12
10
|
Puppet::Type.type(:yumrepo).new(:name => "puppetlabs")[:name].should == "puppetlabs"
|
13
11
|
end
|
14
12
|
|
15
13
|
[:baseurl, :cost, :descr, :enabled, :enablegroups, :exclude, :failovermethod, :gpgcheck, :gpgkey, :http_caching,
|
16
14
|
:include, :includepkgs, :keepalive, :metadata_expire, :mirrorlist, :priority, :protect, :proxy, :proxy_username, :proxy_password, :timeout,
|
17
|
-
:sslcacert, :sslverify, :sslclientcert, :sslclientkey].each do |param|
|
15
|
+
:sslcacert, :sslverify, :sslclientcert, :sslclientkey, :s3_enabled].each do |param|
|
18
16
|
it "should have a '#{param}' parameter" do
|
19
17
|
Puppet::Type.type(:yumrepo).attrtype(param).should == :property
|
20
|
-
|
18
|
+
end
|
21
19
|
end
|
22
|
-
|
23
20
|
end
|
24
21
|
|
25
22
|
describe "When validating attribute values" do
|
26
|
-
|
27
23
|
[:cost, :enabled, :enablegroups, :failovermethod, :gpgcheck, :http_caching, :keepalive, :metadata_expire, :priority, :protect, :timeout].each do |param|
|
28
24
|
it "should support :absent as a value to '#{param}' parameter" do
|
29
25
|
Puppet::Type.type(:yumrepo).new(:name => "puppetlabs.repo", param => :absent)
|
30
|
-
|
26
|
+
end
|
31
27
|
end
|
32
28
|
|
33
29
|
[:cost, :enabled, :enablegroups, :gpgcheck, :keepalive, :metadata_expire, :priority, :protect, :timeout].each do |param|
|
34
30
|
it "should fail if '#{param}' is not a number" do
|
35
31
|
lambda { Puppet::Type.type(:yumrepo).new(:name => "puppetlabs", param => "notanumber") }.should raise_error
|
36
|
-
|
32
|
+
end
|
37
33
|
end
|
38
34
|
|
39
|
-
[:enabled, :enabledgroups, :gpgcheck, :keepalive, :protect].each do |param|
|
35
|
+
[:enabled, :enabledgroups, :gpgcheck, :keepalive, :protect, :s3_enabled].each do |param|
|
40
36
|
it "should fail if '#{param}' does not have one of the following values (0|1)" do
|
41
37
|
lambda { Puppet::Type.type(:yumrepo).new(:name => "puppetlabs", param => "2") }.should raise_error
|
42
38
|
end
|
43
39
|
end
|
44
|
-
|
40
|
+
|
45
41
|
it "should fail if 'failovermethod' does not have one of the following values (roundrobin|priority)" do
|
46
42
|
lambda { Puppet::Type.type(:yumrepo).new(:name => "puppetlabs", :failovermethod => "notavalidvalue") }.should raise_error
|
47
43
|
end
|
@@ -58,13 +54,10 @@ describe Puppet::Type.type(:yumrepo) do
|
|
58
54
|
Puppet::Type.type(:yumrepo).new(:name => "puppetlabs", :sslverify => "True")[:sslverify].should == "True"
|
59
55
|
Puppet::Type.type(:yumrepo).new(:name => "puppetlabs", :sslverify => "False")[:sslverify].should == "False"
|
60
56
|
end
|
61
|
-
|
62
57
|
end
|
63
58
|
|
64
59
|
# these tests were ported from the old spec/unit/type/yumrepo_spec.rb, pretty much verbatim
|
65
60
|
describe "When manipulating config file" do
|
66
|
-
|
67
|
-
|
68
61
|
def make_repo(name, hash={})
|
69
62
|
hash[:name] = name
|
70
63
|
Puppet::Type.type(:yumrepo).new(hash)
|
@@ -86,8 +79,6 @@ describe Puppet::Type.type(:yumrepo) do
|
|
86
79
|
end
|
87
80
|
end
|
88
81
|
|
89
|
-
|
90
|
-
|
91
82
|
before(:each) do
|
92
83
|
@yumdir = tmpdir("yumrepo_spec_tmpdir")
|
93
84
|
@yumconf = File.join(@yumdir, "yum.conf")
|
@@ -100,7 +91,6 @@ describe Puppet::Type.type(:yumrepo) do
|
|
100
91
|
Puppet::Type.type(:yumrepo).inifile = nil
|
101
92
|
end
|
102
93
|
|
103
|
-
|
104
94
|
it "should be able to create a valid config file" do
|
105
95
|
values = {
|
106
96
|
:descr => "Fedora Core $releasever - $basearch - Base",
|
@@ -115,7 +105,6 @@ describe Puppet::Type.type(:yumrepo) do
|
|
115
105
|
}
|
116
106
|
repo = make_repo("base", values)
|
117
107
|
|
118
|
-
|
119
108
|
catalog = Puppet::Resource::Catalog.new
|
120
109
|
# Stop Puppet from doing a bunch of magic; might want to think about a util for specs that handles this
|
121
110
|
catalog.host_config = false
|
@@ -129,10 +118,8 @@ describe Puppet::Type.type(:yumrepo) do
|
|
129
118
|
text.should == EXPECTED_CONTENTS_FOR_CREATED_FILE
|
130
119
|
end
|
131
120
|
|
132
|
-
|
133
121
|
# Modify one existing section
|
134
122
|
it "should be able to modify an existing config file" do
|
135
|
-
|
136
123
|
create_data_files
|
137
124
|
|
138
125
|
devel = make_repo("development", { :descr => "New description" })
|
@@ -140,7 +127,7 @@ describe Puppet::Type.type(:yumrepo) do
|
|
140
127
|
|
141
128
|
devel[:name].should == "development"
|
142
129
|
current_values[devel.property(:descr)].should == 'Fedora Core $releasever - Development Tree'
|
143
|
-
devel
|
130
|
+
devel[:descr].should == 'New description'
|
144
131
|
|
145
132
|
catalog = Puppet::Resource::Catalog.new
|
146
133
|
# Stop Puppet from doing a bunch of magic; might want to think about a util for specs that handles this
|
@@ -155,7 +142,6 @@ describe Puppet::Type.type(:yumrepo) do
|
|
155
142
|
all_sections(inifile).should == ['base', 'development', 'main']
|
156
143
|
end
|
157
144
|
|
158
|
-
|
159
145
|
# Delete mirrorlist by setting it to :absent and enable baseurl
|
160
146
|
it "should support 'absent' value" do
|
161
147
|
create_data_files
|
@@ -180,14 +166,9 @@ describe Puppet::Type.type(:yumrepo) do
|
|
180
166
|
sec["mirrorlist"].should == nil
|
181
167
|
sec["baseurl"].should == baseurl
|
182
168
|
end
|
183
|
-
|
184
|
-
|
185
169
|
end
|
186
|
-
|
187
|
-
|
188
170
|
end
|
189
171
|
|
190
|
-
|
191
172
|
EXPECTED_CONTENTS_FOR_CREATED_FILE = <<'EOF'
|
192
173
|
[base]
|
193
174
|
name=Fedora Core $releasever - $basearch - Base
|
@@ -200,7 +181,6 @@ proxy_username=username
|
|
200
181
|
proxy_password=password
|
201
182
|
EOF
|
202
183
|
|
203
|
-
|
204
184
|
FEDORA_REPO_FILE = <<END
|
205
185
|
[base]
|
206
186
|
name=Fedora Core $releasever - $basearch - Base
|
data/spec/unit/type/zone_spec.rb
CHANGED
@@ -59,6 +59,7 @@ describe Puppet::Type.type(:zone) do
|
|
59
59
|
fs = 'random-pool/some-zfs'
|
60
60
|
|
61
61
|
catalog = Puppet::Resource::Catalog.new
|
62
|
+
relationship_graph = Puppet::Graph::RelationshipGraph.new(Puppet::Graph::RandomPrioritizer.new)
|
62
63
|
zfs = Puppet::Type.type(:zfs).new(:name => fs)
|
63
64
|
catalog.add_resource zfs
|
64
65
|
|
@@ -69,7 +70,9 @@ describe Puppet::Type.type(:zone) do
|
|
69
70
|
:provider => :solaris)
|
70
71
|
catalog.add_resource zone
|
71
72
|
|
72
|
-
|
73
|
+
|
74
|
+
relationship_graph.populate_from(catalog)
|
75
|
+
relationship_graph.dependencies(zone).should == [zfs]
|
73
76
|
end
|
74
77
|
describe StateMachine do
|
75
78
|
let (:sm) { StateMachine.new }
|
data/spec/unit/type_spec.rb
CHANGED
@@ -105,26 +105,30 @@ describe Puppet::Type, :unless => Puppet.features.microsoft_windows? do
|
|
105
105
|
Puppet::Type.type(:mount).new(:name => "foo").must respond_to(:virtual?)
|
106
106
|
end
|
107
107
|
|
108
|
-
it "should consider its version to be its catalog version" do
|
109
|
-
resource = Puppet::Type.type(:mount).new(:name => "foo")
|
110
|
-
catalog = Puppet::Resource::Catalog.new
|
111
|
-
catalog.version = 50
|
112
|
-
catalog.add_resource resource
|
113
|
-
|
114
|
-
resource.version.should == 50
|
115
|
-
end
|
116
|
-
|
117
108
|
it "should consider its version to be zero if it has no catalog" do
|
118
109
|
Puppet::Type.type(:mount).new(:name => "foo").version.should == 0
|
119
110
|
end
|
120
111
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
112
|
+
context "resource attributes" do
|
113
|
+
let(:resource) {
|
114
|
+
resource = Puppet::Type.type(:mount).new(:name => "foo")
|
115
|
+
catalog = Puppet::Resource::Catalog.new
|
116
|
+
catalog.version = 50
|
117
|
+
catalog.add_resource resource
|
118
|
+
resource
|
119
|
+
}
|
120
|
+
|
121
|
+
it "should consider its version to be its catalog version" do
|
122
|
+
resource.version.should == 50
|
123
|
+
end
|
126
124
|
|
127
|
-
|
125
|
+
it "should have tags" do
|
126
|
+
resource.tags.should == ["mount", "foo"]
|
127
|
+
end
|
128
|
+
|
129
|
+
it "should have a path" do
|
130
|
+
resource.path.should == "/Mount[foo]"
|
131
|
+
end
|
128
132
|
end
|
129
133
|
|
130
134
|
it "should consider its type to be the name of its class" do
|
@@ -313,10 +317,10 @@ describe Puppet::Type, :unless => Puppet.features.microsoft_windows? do
|
|
313
317
|
end
|
314
318
|
|
315
319
|
it "should copy the resource's parameters as its own" do
|
316
|
-
resource = Puppet::Resource.new(:mount, "/foo", :parameters => {:atboot =>
|
320
|
+
resource = Puppet::Resource.new(:mount, "/foo", :parameters => {:atboot => :yes, :fstype => "boo"})
|
317
321
|
params = Puppet::Type.type(:mount).new(resource).to_hash
|
318
322
|
params[:fstype].should == "boo"
|
319
|
-
params[:atboot].should ==
|
323
|
+
params[:atboot].should == :yes
|
320
324
|
end
|
321
325
|
end
|
322
326
|
|
@@ -349,9 +353,9 @@ describe Puppet::Type, :unless => Puppet.features.microsoft_windows? do
|
|
349
353
|
end
|
350
354
|
|
351
355
|
it "should use any remaining hash keys as its parameters" do
|
352
|
-
resource = Puppet::Type.type(:mount).new(:title => "/foo", :catalog => "foo", :atboot =>
|
356
|
+
resource = Puppet::Type.type(:mount).new(:title => "/foo", :catalog => "foo", :atboot => :yes, :fstype => "boo")
|
353
357
|
resource[:fstype].must == "boo"
|
354
|
-
resource[:atboot].must ==
|
358
|
+
resource[:atboot].must == :yes
|
355
359
|
end
|
356
360
|
end
|
357
361
|
|
@@ -382,12 +386,12 @@ describe Puppet::Type, :unless => Puppet.features.microsoft_windows? do
|
|
382
386
|
end
|
383
387
|
|
384
388
|
it "should fail if no title, name, or namevar are provided" do
|
385
|
-
expect { Puppet::Type.type(:
|
389
|
+
expect { Puppet::Type.type(:mount).new(:atboot => :yes) }.to raise_error(Puppet::Error)
|
386
390
|
end
|
387
391
|
|
388
392
|
it "should set the attributes in the order returned by the class's :allattrs method" do
|
389
393
|
Puppet::Type.type(:mount).stubs(:allattrs).returns([:name, :atboot, :noop])
|
390
|
-
resource = Puppet::Resource.new(:mount, "/foo", :parameters => {:name => "myname", :atboot =>
|
394
|
+
resource = Puppet::Resource.new(:mount, "/foo", :parameters => {:name => "myname", :atboot => :yes, :noop => "whatever"})
|
391
395
|
|
392
396
|
set = []
|
393
397
|
|
@@ -404,7 +408,7 @@ describe Puppet::Type, :unless => Puppet.features.microsoft_windows? do
|
|
404
408
|
|
405
409
|
it "should always set the name and then default provider before anything else" do
|
406
410
|
Puppet::Type.type(:mount).stubs(:allattrs).returns([:provider, :name, :atboot])
|
407
|
-
resource = Puppet::Resource.new(:mount, "/foo", :parameters => {:name => "myname", :atboot =>
|
411
|
+
resource = Puppet::Resource.new(:mount, "/foo", :parameters => {:name => "myname", :atboot => :yes})
|
408
412
|
|
409
413
|
set = []
|
410
414
|
|
@@ -429,7 +433,7 @@ describe Puppet::Type, :unless => Puppet.features.microsoft_windows? do
|
|
429
433
|
end
|
430
434
|
|
431
435
|
it "should retain a copy of the originally provided parameters" do
|
432
|
-
Puppet::Type.type(:mount).new(:name => "foo", :atboot =>
|
436
|
+
Puppet::Type.type(:mount).new(:name => "foo", :atboot => :yes, :noop => false).original_parameters.should == {:atboot => :yes, :noop => false}
|
433
437
|
end
|
434
438
|
|
435
439
|
it "should delete the name via the namevar from the originally provided parameters" do
|
@@ -535,9 +539,9 @@ describe Puppet::Type, :unless => Puppet.features.microsoft_windows? do
|
|
535
539
|
end
|
536
540
|
|
537
541
|
it "should set the name of the returned resource if its own name and title differ" do
|
538
|
-
@resource[:name] = "
|
542
|
+
@resource[:name] = "myname"
|
539
543
|
@resource.title = "other name"
|
540
|
-
@resource.retrieve_resource[:name].should == "
|
544
|
+
@resource.retrieve_resource[:name].should == "myname"
|
541
545
|
end
|
542
546
|
|
543
547
|
it "should provide a value for all set properties" do
|
@@ -802,18 +806,47 @@ describe Puppet::Type::RelationshipMetaparam do
|
|
802
806
|
Puppet::Type.metaparamclass(:require).new(:resource => mock("resource")).should respond_to(:validate_relationship)
|
803
807
|
end
|
804
808
|
|
805
|
-
|
806
|
-
catalog
|
807
|
-
resource = stub 'resource', :catalog => catalog, :ref => "resource"
|
809
|
+
describe 'if any specified resource is not in the catalog' do
|
810
|
+
let(:catalog) { mock 'catalog' }
|
808
811
|
|
809
|
-
|
812
|
+
let(:resource) do
|
813
|
+
stub 'resource',
|
814
|
+
:catalog => catalog,
|
815
|
+
:ref => 'resource',
|
816
|
+
:line= => nil,
|
817
|
+
:file= => nil
|
818
|
+
end
|
819
|
+
|
820
|
+
let(:param) { Puppet::Type.metaparamclass(:require).new(:resource => resource, :value => %w{Foo[bar] Class[test]}) }
|
810
821
|
|
811
|
-
|
812
|
-
|
822
|
+
before do
|
823
|
+
catalog.expects(:resource).with("Foo[bar]").returns "something"
|
824
|
+
catalog.expects(:resource).with("Class[Test]").returns nil
|
825
|
+
end
|
813
826
|
|
814
|
-
|
827
|
+
describe "and the resource doesn't have a file or line number" do
|
828
|
+
it "raises an error" do
|
829
|
+
expect { param.validate_relationship }.to raise_error do |error|
|
830
|
+
error.should be_a Puppet::ResourceError
|
831
|
+
error.message.should match %r[Class\[Test\]]
|
832
|
+
end
|
833
|
+
end
|
834
|
+
end
|
815
835
|
|
816
|
-
|
836
|
+
describe "and the resource has a file or line number" do
|
837
|
+
before do
|
838
|
+
resource.stubs(:line).returns '42'
|
839
|
+
resource.stubs(:file).returns '/hitchhikers/guide/to/the/galaxy'
|
840
|
+
end
|
841
|
+
|
842
|
+
it "raises an error with context" do
|
843
|
+
expect { param.validate_relationship }.to raise_error do |error|
|
844
|
+
error.should be_a Puppet::ResourceError
|
845
|
+
error.message.should match %r[Class\[Test\]]
|
846
|
+
error.message.should match %r["in /hitchhikers/guide/to/the/galaxy:42"]
|
847
|
+
end
|
848
|
+
end
|
849
|
+
end
|
817
850
|
end
|
818
851
|
end
|
819
852
|
|