puppet 0.23.2 → 0.24.0
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/CHANGELOG +112 -1
- data/README +1 -1
- data/Rakefile +1 -2
- data/bin/filebucket +2 -3
- data/bin/puppet +55 -39
- data/bin/puppetca +20 -11
- data/bin/puppetd +30 -31
- data/bin/puppetdoc +27 -28
- data/bin/puppetmasterd +24 -42
- data/bin/puppetrun +3 -4
- data/bin/ralsh +5 -7
- data/conf/redhat/puppet.spec +4 -1
- data/conf/solaris/smf/svc-puppetd +1 -1
- data/conf/solaris/smf/svc-puppetmasterd +1 -1
- data/examples/code/allatonce +1 -1
- data/examples/code/assignments +1 -1
- data/examples/code/components +1 -1
- data/examples/code/file.bl +1 -1
- data/examples/code/filedefaults +1 -1
- data/examples/code/fileparsing +1 -1
- data/examples/code/filerecursion +1 -1
- data/examples/code/functions +1 -1
- data/examples/code/groups +1 -1
- data/examples/code/head +1 -1
- data/examples/code/importing +1 -1
- data/examples/code/modules/sample-module.pp +10 -0
- data/examples/code/modules/sample-module/README.txt +17 -0
- data/examples/code/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +36 -0
- data/examples/code/modules/sample-module/manifests/init.pp +12 -0
- data/examples/code/modules/sample-module/templates/sample.erb +5 -0
- data/examples/code/nodes +1 -1
- data/examples/code/one +1 -1
- data/examples/code/relationships +1 -1
- data/examples/code/selectors +1 -1
- data/examples/code/simpletests +1 -1
- data/examples/root/etc/init.d/sleeper +1 -1
- data/examples/root/etc/puppet/fileserver.conf +1 -1
- data/ext/ldap/puppet.schema +1 -1
- data/ext/module_puppet +30 -21
- data/ext/puppet-test +3 -3
- data/ext/vim/filetype.vim +1 -1
- data/install.rb +1 -2
- data/lib/puppet.rb +20 -19
- data/lib/puppet/checksum.rb +57 -0
- data/lib/puppet/config_stores/rest.rb +1 -1
- data/lib/puppet/daemon.rb +0 -1
- data/lib/puppet/{configuration.rb → defaults.rb} +56 -23
- data/lib/puppet/dsl.rb +22 -116
- data/lib/puppet/error.rb +0 -9
- data/lib/puppet/event.rb +0 -1
- data/lib/puppet/external/gratr/rdot.rb +0 -1
- data/lib/puppet/external/lock.rb +0 -1
- data/lib/puppet/feature/base.rb +3 -2
- data/lib/puppet/feature/rails.rb +0 -1
- data/lib/puppet/file_serving.rb +7 -0
- data/lib/puppet/file_serving/configuration.rb +129 -0
- data/lib/puppet/file_serving/configuration/parser.rb +124 -0
- data/lib/puppet/file_serving/content.rb +34 -0
- data/lib/puppet/file_serving/file_base.rb +63 -0
- data/lib/puppet/file_serving/fileset.rb +138 -0
- data/lib/puppet/file_serving/indirection_hooks.rb +44 -0
- data/lib/puppet/file_serving/metadata.rb +69 -0
- data/lib/puppet/file_serving/mount.rb +186 -0
- data/lib/puppet/file_serving/terminus_helper.rb +19 -0
- data/lib/puppet/indirector.rb +68 -0
- data/lib/puppet/indirector/catalog/compiler.rb +173 -0
- data/lib/puppet/indirector/catalog/yaml.rb +24 -0
- data/lib/puppet/indirector/checksum/file.rb +33 -0
- data/lib/puppet/indirector/code.rb +6 -0
- data/lib/puppet/indirector/direct_file_server.rb +27 -0
- data/lib/puppet/indirector/exec.rb +57 -0
- data/lib/puppet/indirector/facts/facter.rb +65 -0
- data/lib/puppet/indirector/facts/memory.rb +9 -0
- data/lib/puppet/indirector/facts/yaml.rb +7 -0
- data/lib/puppet/indirector/file.rb +54 -0
- data/lib/puppet/indirector/file_content.rb +5 -0
- data/lib/puppet/indirector/file_content/file.rb +11 -0
- data/lib/puppet/indirector/file_content/file_server.rb +11 -0
- data/lib/puppet/indirector/file_content/modules.rb +11 -0
- data/lib/puppet/indirector/file_content/rest.rb +12 -0
- data/lib/puppet/indirector/file_metadata.rb +5 -0
- data/lib/puppet/indirector/file_metadata/file.rb +26 -0
- data/lib/puppet/indirector/file_metadata/file_server.rb +11 -0
- data/lib/puppet/indirector/file_metadata/modules.rb +17 -0
- data/lib/puppet/indirector/file_metadata/rest.rb +12 -0
- data/lib/puppet/indirector/file_server.rb +56 -0
- data/lib/puppet/indirector/indirection.rb +237 -0
- data/lib/puppet/indirector/ldap.rb +90 -0
- data/lib/puppet/indirector/memory.rb +21 -0
- data/lib/puppet/indirector/module_files.rb +82 -0
- data/lib/puppet/indirector/node/exec.rb +52 -0
- data/lib/puppet/indirector/node/ldap.rb +120 -0
- data/lib/puppet/indirector/node/memory.rb +10 -0
- data/lib/puppet/indirector/node/plain.rb +19 -0
- data/lib/puppet/indirector/node/rest.rb +7 -0
- data/lib/puppet/indirector/node/yaml.rb +7 -0
- data/lib/puppet/indirector/plain.rb +9 -0
- data/lib/puppet/indirector/report/processor.rb +50 -0
- data/lib/puppet/indirector/rest.rb +8 -0
- data/lib/puppet/indirector/ssl_rsa.rb +5 -0
- data/lib/puppet/indirector/ssl_rsa/file.rb +33 -0
- data/lib/puppet/indirector/terminus.rb +178 -0
- data/lib/puppet/indirector/yaml.rb +57 -0
- data/lib/puppet/metatype/attributes.rb +3 -3
- data/lib/puppet/metatype/closure.rb +0 -66
- data/lib/puppet/metatype/container.rb +0 -9
- data/lib/puppet/metatype/evaluation.rb +10 -2
- data/lib/puppet/metatype/instances.rb +16 -30
- data/lib/puppet/metatype/manager.rb +1 -2
- data/lib/puppet/metatype/metaparams.rb +27 -21
- data/lib/puppet/metatype/providers.rb +3 -2
- data/lib/puppet/metatype/relationships.rb +1 -2
- data/lib/puppet/metatype/schedules.rb +0 -1
- data/lib/puppet/metatype/tags.rb +0 -1
- data/lib/puppet/module.rb +60 -32
- data/lib/puppet/network/authconfig.rb +0 -1
- data/lib/puppet/network/authorization.rb +0 -1
- data/lib/puppet/network/authstore.rb +0 -1
- data/lib/puppet/network/client.rb +13 -4
- data/lib/puppet/network/client/ca.rb +4 -5
- data/lib/puppet/network/client/dipper.rb +0 -1
- data/lib/puppet/network/client/file.rb +0 -1
- data/lib/puppet/network/client/master.rb +127 -235
- data/lib/puppet/network/client/proxy.rb +0 -1
- data/lib/puppet/network/client/report.rb +0 -1
- data/lib/puppet/network/client/resource.rb +0 -1
- data/lib/puppet/network/client/runner.rb +0 -1
- data/lib/puppet/network/client/status.rb +0 -1
- data/lib/puppet/network/client_request.rb +0 -1
- data/lib/puppet/network/handler.rb +5 -2
- data/lib/puppet/network/handler/ca.rb +1 -2
- data/lib/puppet/network/handler/configuration.rb +184 -0
- data/lib/puppet/network/handler/filebucket.rb +1 -2
- data/lib/puppet/network/handler/fileserver.rb +279 -107
- data/lib/puppet/network/handler/master.rb +57 -152
- data/lib/puppet/network/handler/report.rb +6 -65
- data/lib/puppet/network/handler/resource.rb +5 -13
- data/lib/puppet/network/handler/runner.rb +3 -4
- data/lib/puppet/network/handler/status.rb +0 -1
- data/lib/puppet/network/http.rb +13 -0
- data/lib/puppet/network/http/handler.rb +109 -0
- data/lib/puppet/network/http/mongrel.rb +54 -0
- data/lib/puppet/network/http/mongrel/rest.rb +37 -0
- data/lib/puppet/network/http/mongrel/xmlrpc.rb +4 -0
- data/lib/puppet/network/http/webrick.rb +51 -0
- data/lib/puppet/network/http/webrick/rest.rb +41 -0
- data/lib/puppet/network/http/webrick/xmlrpc.rb +4 -0
- data/lib/puppet/network/http_server.rb +3 -0
- data/lib/puppet/network/{server → http_server}/mongrel.rb +11 -5
- data/lib/puppet/network/{server → http_server}/webrick.rb +9 -5
- data/lib/puppet/network/rest_controller.rb +2 -0
- data/lib/puppet/network/rights.rb +0 -1
- data/lib/puppet/network/server.rb +63 -3
- data/lib/puppet/network/xmlrpc/client.rb +90 -23
- data/lib/puppet/network/xmlrpc/processor.rb +0 -1
- data/lib/puppet/network/xmlrpc/server.rb +0 -1
- data/lib/puppet/network/xmlrpc/webrick_servlet.rb +0 -1
- data/lib/puppet/node.rb +165 -0
- data/lib/puppet/node/catalog.rb +480 -0
- data/lib/puppet/node/environment.rb +46 -0
- data/lib/puppet/node/facts.rb +36 -0
- data/lib/puppet/parameter.rb +34 -28
- data/lib/puppet/parser/ast.rb +0 -1
- data/lib/puppet/parser/ast/astarray.rb +30 -53
- data/lib/puppet/parser/ast/branch.rb +0 -10
- data/lib/puppet/parser/ast/caseopt.rb +0 -11
- data/lib/puppet/parser/ast/casestatement.rb +0 -12
- data/lib/puppet/parser/ast/collection.rb +1 -3
- data/lib/puppet/parser/ast/collexpr.rb +0 -2
- data/lib/puppet/parser/ast/{component.rb → definition.rb} +58 -72
- data/lib/puppet/parser/ast/else.rb +0 -10
- data/lib/puppet/parser/ast/function.rb +0 -2
- data/lib/puppet/parser/ast/hostclass.rb +21 -19
- data/lib/puppet/parser/ast/ifstatement.rb +0 -13
- data/lib/puppet/parser/ast/leaf.rb +0 -8
- data/lib/puppet/parser/ast/node.rb +13 -10
- data/lib/puppet/parser/ast/resource.rb +75 -0
- data/lib/puppet/parser/ast/{resourcedefaults.rb → resource_defaults.rb} +4 -20
- data/lib/puppet/parser/ast/{resourceoverride.rb → resource_override.rb} +3 -5
- data/lib/puppet/parser/ast/resource_reference.rb +66 -0
- data/lib/puppet/parser/ast/resourceparam.rb +0 -14
- data/lib/puppet/parser/ast/selector.rb +0 -10
- data/lib/puppet/parser/ast/tag.rb +0 -2
- data/lib/puppet/parser/ast/vardef.rb +0 -14
- data/lib/puppet/parser/collector.rb +83 -101
- data/lib/puppet/parser/compile.rb +509 -0
- data/lib/puppet/parser/functions.rb +10 -10
- data/lib/puppet/parser/interpreter.rb +44 -662
- data/lib/puppet/parser/lexer.rb +1 -3
- data/lib/puppet/parser/parser.rb +674 -701
- data/lib/puppet/parser/parser_support.rb +33 -24
- data/lib/puppet/parser/resource.rb +219 -162
- data/lib/puppet/parser/resource/param.rb +1 -2
- data/lib/puppet/parser/resource/reference.rb +24 -16
- data/lib/puppet/parser/scope.rb +48 -459
- data/lib/puppet/parser/templatewrapper.rb +4 -5
- data/lib/puppet/pgraph.rb +10 -13
- data/lib/puppet/property.rb +25 -41
- data/lib/puppet/propertychange.rb +0 -2
- data/lib/puppet/provider.rb +15 -11
- data/lib/puppet/provider/cron/crontab.rb +6 -7
- data/lib/puppet/provider/group/groupadd.rb +0 -1
- data/lib/puppet/provider/group/netinfo.rb +0 -1
- data/lib/puppet/provider/group/pw.rb +0 -1
- data/lib/puppet/provider/host/netinfo.rb +0 -1
- data/lib/puppet/provider/host/parsed.rb +0 -1
- data/lib/puppet/provider/interface/redhat.rb +90 -91
- data/lib/puppet/provider/interface/sunos.rb +98 -81
- data/lib/puppet/provider/mailalias/aliases.rb +0 -1
- data/lib/puppet/provider/maillist/mailman.rb +2 -3
- data/lib/puppet/provider/mount.rb +10 -9
- data/lib/puppet/provider/mount/netinfo.rb +0 -1
- data/lib/puppet/provider/mount/parsed.rb +0 -1
- data/lib/puppet/provider/nameservice.rb +0 -1
- data/lib/puppet/provider/nameservice/netinfo.rb +0 -1
- data/lib/puppet/provider/nameservice/objectadd.rb +0 -1
- data/lib/puppet/provider/nameservice/pw.rb +0 -1
- data/lib/puppet/provider/package.rb +0 -2
- data/lib/puppet/provider/package/appdmg.rb +0 -1
- data/lib/puppet/provider/package/apple.rb +0 -1
- data/lib/puppet/provider/package/apt.rb +0 -1
- data/lib/puppet/provider/package/aptitude.rb +0 -1
- data/lib/puppet/provider/package/aptrpm.rb +0 -1
- data/lib/puppet/provider/package/blastwave.rb +0 -1
- data/lib/puppet/provider/package/darwinport.rb +0 -1
- data/lib/puppet/provider/package/dpkg.rb +9 -1
- data/lib/puppet/provider/package/fink.rb +0 -1
- data/lib/puppet/provider/package/freebsd.rb +0 -1
- data/lib/puppet/provider/package/gem.rb +0 -1
- data/lib/puppet/provider/package/openbsd.rb +1 -2
- data/lib/puppet/provider/package/pkgdmg.rb +14 -15
- data/lib/puppet/provider/package/portage.rb +6 -7
- data/lib/puppet/provider/package/ports.rb +1 -4
- data/lib/puppet/provider/package/rpm.rb +31 -45
- data/lib/puppet/provider/package/sun.rb +0 -3
- data/lib/puppet/provider/package/sunfreeware.rb +0 -1
- data/lib/puppet/provider/package/up2date.rb +0 -1
- data/lib/puppet/provider/package/urpmi.rb +0 -1
- data/lib/puppet/provider/package/yum.rb +45 -14
- data/lib/puppet/provider/package/yumhelper.py +37 -0
- data/lib/puppet/provider/parsedfile.rb +2 -3
- data/lib/puppet/provider/port/parsed.rb +0 -1
- data/lib/puppet/provider/service/base.rb +4 -1
- data/lib/puppet/provider/service/debian.rb +5 -2
- data/lib/puppet/provider/service/freebsd.rb +51 -0
- data/lib/puppet/provider/service/init.rb +16 -40
- data/lib/puppet/provider/service/redhat.rb +1 -6
- data/lib/puppet/provider/service/smf.rb +0 -1
- data/lib/puppet/provider/sshkey/parsed.rb +0 -1
- data/lib/puppet/provider/user/netinfo.rb +0 -1
- data/lib/puppet/provider/user/pw.rb +0 -1
- data/lib/puppet/provider/user/useradd.rb +0 -1
- data/lib/puppet/provider/zone/solaris.rb +0 -1
- data/lib/puppet/rails.rb +35 -30
- data/lib/puppet/rails/database/schema.rb +0 -1
- data/lib/puppet/rails/host.rb +6 -15
- data/lib/puppet/rails/param_name.rb +1 -2
- data/lib/puppet/rails/param_value.rb +0 -1
- data/lib/puppet/rails/puppet_class.rb +0 -1
- data/lib/puppet/rails/resource.rb +3 -5
- data/lib/puppet/reference/configuration.rb +12 -6
- data/lib/puppet/reference/indirection.rb +34 -0
- data/lib/puppet/reference/node_source.rb +9 -0
- data/lib/puppet/relationship.rb +10 -8
- data/lib/puppet/reports.rb +51 -0
- data/lib/puppet/reports/log.rb +2 -3
- data/lib/puppet/reports/rrdgraph.rb +2 -5
- data/lib/puppet/reports/store.rb +6 -7
- data/lib/puppet/reports/tagmail.rb +2 -3
- data/lib/puppet/resource_reference.rb +79 -0
- data/lib/puppet/simple_graph.rb +251 -0
- data/lib/puppet/sslcertificates.rb +19 -15
- data/lib/puppet/sslcertificates/ca.rb +56 -15
- data/lib/puppet/sslcertificates/certificate.rb +0 -1
- data/lib/puppet/sslcertificates/inventory.rb +2 -6
- data/lib/puppet/sslcertificates/monkey_patch.rb +6 -0
- data/lib/puppet/sslcertificates/support.rb +4 -5
- data/lib/puppet/transaction.rb +93 -96
- data/lib/puppet/transaction/report.rb +5 -1
- data/lib/puppet/transportable.rb +79 -125
- data/lib/puppet/type.rb +44 -10
- data/lib/puppet/type/component.rb +25 -110
- data/lib/puppet/type/cron.rb +1 -2
- data/lib/puppet/type/exec.rb +19 -13
- data/lib/puppet/type/group.rb +0 -1
- data/lib/puppet/type/host.rb +0 -1
- data/lib/puppet/type/interface.rb +6 -3
- data/lib/puppet/type/k5login.rb +87 -0
- data/lib/puppet/type/mailalias.rb +0 -1
- data/lib/puppet/type/maillist.rb +0 -1
- data/lib/puppet/type/mount.rb +7 -13
- data/lib/puppet/type/notify.rb +0 -1
- data/lib/puppet/type/package.rb +7 -63
- data/lib/puppet/type/pfile.rb +25 -32
- data/lib/puppet/type/pfile/checksum.rb +0 -1
- data/lib/puppet/type/pfile/content.rb +18 -3
- data/lib/puppet/type/pfile/ensure.rb +5 -6
- data/lib/puppet/type/pfile/group.rb +4 -1
- data/lib/puppet/type/pfile/mode.rb +0 -1
- data/lib/puppet/type/pfile/owner.rb +6 -9
- data/lib/puppet/type/pfile/source.rb +28 -11
- data/lib/puppet/type/pfile/target.rb +2 -1
- data/lib/puppet/type/pfile/type.rb +0 -1
- data/lib/puppet/type/pfilebucket.rb +0 -1
- data/lib/puppet/type/port.rb +0 -1
- data/lib/puppet/type/resources.rb +0 -1
- data/lib/puppet/type/schedule.rb +17 -15
- data/lib/puppet/type/service.rb +23 -159
- data/lib/puppet/type/sshkey.rb +0 -1
- data/lib/puppet/type/tidy.rb +15 -7
- data/lib/puppet/type/user.rb +0 -1
- data/lib/puppet/type/zone.rb +0 -1
- data/lib/puppet/util.rb +1 -2
- data/lib/puppet/util/autoload.rb +21 -23
- data/lib/puppet/util/checksums.rb +37 -0
- data/lib/puppet/util/classgen.rb +0 -1
- data/lib/puppet/util/diff.rb +71 -0
- data/lib/puppet/util/docs.rb +8 -2
- data/lib/puppet/util/errors.rb +0 -1
- data/lib/puppet/util/execution.rb +0 -1
- data/lib/puppet/util/fact_store.rb +0 -1
- data/lib/puppet/util/feature.rb +31 -22
- data/lib/puppet/util/fileparsing.rb +3 -2
- data/lib/puppet/util/filetype.rb +30 -12
- data/lib/puppet/util/graph.rb +0 -1
- data/lib/puppet/util/inifile.rb +0 -1
- data/lib/puppet/util/instance_loader.rb +11 -4
- data/lib/puppet/util/loadedfile.rb +0 -1
- data/lib/puppet/util/log.rb +0 -1
- data/lib/puppet/util/log_paths.rb +0 -1
- data/lib/puppet/util/logging.rb +0 -1
- data/lib/puppet/util/metaid.rb +0 -1
- data/lib/puppet/util/methodhelper.rb +0 -2
- data/lib/puppet/util/metric.rb +1 -2
- data/lib/puppet/util/plist.rb +0 -1
- data/lib/puppet/util/plist/generator.rb +0 -1
- data/lib/puppet/util/plist/parser.rb +0 -1
- data/lib/puppet/util/posix.rb +7 -1
- data/lib/puppet/util/provider_features.rb +11 -12
- data/lib/puppet/util/rails/collection_merger.rb +0 -1
- data/lib/puppet/util/reference.rb +2 -3
- data/lib/puppet/util/{config.rb → settings.rb} +424 -300
- data/lib/puppet/util/storage.rb +1 -3
- data/lib/puppet/util/subclass_loader.rb +0 -1
- data/lib/puppet/util/suidmanager.rb +25 -42
- data/lib/puppet/util/uri_helper.rb +22 -0
- data/lib/puppet/util/variables.rb +0 -1
- data/lib/puppet/util/warnings.rb +0 -1
- data/test/Rakefile +1 -1
- data/test/certmgr/ca.rb +8 -2
- data/test/certmgr/certmgr.rb +14 -6
- data/test/certmgr/inventory.rb +18 -30
- data/test/certmgr/support.rb +3 -2
- data/test/executables/filebucket.rb +1 -2
- data/test/executables/puppetbin.rb +1 -2
- data/test/executables/puppetca.rb +7 -2
- data/test/executables/puppetd.rb +23 -29
- data/test/executables/puppetmasterd.rb +1 -2
- data/test/executables/puppetmodule.rb +1 -2
- data/test/language/ast.rb +24 -29
- data/test/language/ast/casestatement.rb +1 -2
- data/test/language/ast/definition.rb +166 -0
- data/test/language/ast/hostclass.rb +50 -29
- data/test/language/ast/resource.rb +59 -0
- data/test/language/ast/{resourceref.rb → resource_reference.rb} +30 -20
- data/test/language/ast/selector.rb +1 -2
- data/test/language/ast/variable.rb +1 -2
- data/test/language/compile.rb +569 -0
- data/test/language/functions.rb +57 -76
- data/test/language/lexer.rb +20 -3
- data/test/language/parser.rb +45 -33
- data/test/language/resource.rb +275 -308
- data/test/language/scope.rb +135 -410
- data/test/language/snippets.rb +19 -41
- data/test/language/transportable.rb +8 -29
- data/test/lib/mocha/auto_verify.rb +6 -6
- data/test/lib/mocha/deprecation.rb +22 -0
- data/test/lib/mocha/exception_raiser.rb +17 -0
- data/test/lib/mocha/expectation.rb +167 -84
- data/test/lib/mocha/infinite_range.rb +4 -6
- data/test/lib/mocha/inspect.rb +3 -1
- data/test/lib/mocha/is_a.rb +9 -0
- data/test/lib/mocha/missing_expectation.rb +27 -0
- data/test/lib/mocha/mock.rb +192 -5
- data/test/lib/mocha/multiple_yields.rb +20 -0
- data/test/lib/mocha/no_yields.rb +11 -0
- data/test/lib/mocha/object.rb +11 -1
- data/test/lib/mocha/parameter_matchers.rb +9 -0
- data/test/lib/mocha/parameter_matchers/all_of.rb +39 -0
- data/test/lib/mocha/parameter_matchers/any_of.rb +44 -0
- data/test/lib/mocha/parameter_matchers/anything.rb +30 -0
- data/test/lib/mocha/parameter_matchers/has_entry.rb +39 -0
- data/test/lib/mocha/parameter_matchers/has_key.rb +39 -0
- data/test/lib/mocha/parameter_matchers/has_value.rb +39 -0
- data/test/lib/mocha/parameter_matchers/includes.rb +37 -0
- data/test/lib/mocha/return_values.rb +31 -0
- data/test/lib/mocha/single_return_value.rb +24 -0
- data/test/lib/mocha/single_yield.rb +18 -0
- data/test/lib/mocha/standalone.rb +2 -0
- data/test/lib/mocha/stub.rb +18 -0
- data/test/lib/mocha/test_case_adapter.rb +3 -3
- data/test/lib/mocha/yield_parameters.rb +31 -0
- data/test/lib/puppettest.rb +38 -20
- data/test/lib/puppettest/certificates.rb +0 -1
- data/test/lib/puppettest/exetest.rb +0 -1
- data/test/lib/puppettest/fakes.rb +0 -1
- data/test/lib/puppettest/fileparsing.rb +8 -15
- data/test/lib/puppettest/filetesting.rb +0 -1
- data/test/lib/puppettest/parsertesting.rb +37 -23
- data/test/lib/puppettest/railstesting.rb +3 -6
- data/test/lib/puppettest/reporttesting.rb +0 -1
- data/test/lib/puppettest/resourcetesting.rb +6 -34
- data/test/lib/puppettest/runnable_test.rb +30 -0
- data/test/lib/puppettest/servertest.rb +2 -3
- data/test/lib/puppettest/support/assertions.rb +13 -41
- data/test/lib/puppettest/support/collection.rb +0 -1
- data/test/lib/puppettest/support/helpers.rb +0 -1
- data/test/lib/puppettest/support/resources.rb +17 -17
- data/test/lib/puppettest/support/utils.rb +45 -27
- data/test/lib/puppettest/testcase.rb +2 -21
- data/test/lib/rake/puppet_test_loader.rb +0 -1
- data/test/lib/rake/puppet_testtask.rb +0 -1
- data/test/network/authconfig.rb +1 -2
- data/test/network/authorization.rb +1 -2
- data/test/network/authstore.rb +1 -2
- data/test/network/client/ca.rb +12 -7
- data/test/network/client/client.rb +17 -22
- data/test/network/client/dipper.rb +1 -2
- data/test/network/client/master.rb +70 -184
- data/test/network/client/resource.rb +9 -2
- data/test/network/client_request.rb +1 -2
- data/test/network/daemon.rb +1 -2
- data/test/network/handler/bucket.rb +2 -31
- data/test/network/handler/ca.rb +9 -3
- data/test/network/handler/configuration.rb +160 -0
- data/test/network/handler/fileserver.rb +24 -5
- data/test/network/handler/handler.rb +1 -2
- data/test/network/handler/master.rb +38 -243
- data/test/network/handler/report.rb +2 -104
- data/test/network/handler/resource.rb +5 -3
- data/test/network/handler/runner.rb +22 -60
- data/test/network/rights.rb +1 -2
- data/test/network/server/mongrel_test.rb +2 -3
- data/test/network/server/webrick.rb +17 -11
- data/test/network/xmlrpc/client.rb +27 -12
- data/test/network/xmlrpc/processor.rb +3 -4
- data/test/network/xmlrpc/server.rb +1 -2
- data/test/network/xmlrpc/webrick_servlet.rb +8 -2
- data/test/other/dsl.rb +2 -4
- data/test/other/events.rb +14 -56
- data/test/other/overrides.rb +3 -6
- data/test/other/propertychange.rb +1 -2
- data/test/other/provider.rb +1 -2
- data/test/other/puppet.rb +1 -2
- data/test/other/relationships.rb +15 -17
- data/test/other/report.rb +14 -20
- data/test/other/transactions.rb +109 -192
- data/test/puppet/conffiles.rb +3 -5
- data/test/puppet/defaults.rb +1 -28
- data/test/puppet/errortest.rb +1 -2
- data/test/puppet/tc_suidmanager.rb +77 -63
- data/test/rails/ast.rb +4 -4
- data/test/rails/configuration.rb +71 -0
- data/test/rails/host.rb +19 -30
- data/test/rails/rails.rb +1 -2
- data/test/rails/railsparameter.rb +3 -4
- data/test/rails/railsresource.rb +6 -5
- data/test/ral/manager/attributes.rb +1 -2
- data/test/ral/manager/instances.rb +3 -3
- data/test/ral/manager/manager.rb +1 -2
- data/test/ral/manager/provider.rb +1 -2
- data/test/ral/manager/type.rb +89 -93
- data/test/ral/providers/cron/crontab.rb +9 -11
- data/test/ral/providers/group.rb +1 -2
- data/test/ral/providers/host/netinfo.rb +1 -2
- data/test/ral/providers/host/parsed.rb +1 -2
- data/test/ral/providers/mailalias/aliases.rb +1 -2
- data/test/ral/providers/mount/netinfo.rb +1 -2
- data/test/ral/providers/nameservice.rb +1 -2
- data/test/ral/providers/package.rb +5 -4
- data/test/ral/providers/package/apt.rb +0 -1
- data/test/ral/providers/package/aptrpm.rb +0 -1
- data/test/ral/providers/parsedfile.rb +1 -2
- data/test/ral/providers/port/parsed.rb +1 -2
- data/test/ral/providers/provider.rb +10 -5
- data/test/ral/providers/service/base.rb +1 -2
- data/test/ral/providers/service/debian.rb +58 -0
- data/test/ral/providers/sshkey/parsed.rb +1 -2
- data/test/ral/providers/user.rb +3 -2
- data/test/ral/providers/user/useradd.rb +0 -1
- data/test/ral/types/basic.rb +4 -9
- data/test/ral/types/cron.rb +6 -12
- data/test/ral/types/exec.rb +6 -7
- data/test/ral/types/file.rb +35 -14
- data/test/ral/types/file/target.rb +6 -5
- data/test/ral/types/filebucket.rb +3 -2
- data/test/ral/types/fileignoresource.rb +10 -42
- data/test/ral/types/filesources.rb +21 -60
- data/test/ral/types/group.rb +3 -3
- data/test/ral/types/host.rb +6 -3
- data/test/ral/types/mailalias.rb +1 -2
- data/test/ral/types/parameter.rb +5 -3
- data/test/ral/types/port.rb +1 -2
- data/test/ral/types/property.rb +3 -3
- data/test/ral/types/resources.rb +1 -2
- data/test/ral/types/service.rb +5 -3
- data/test/ral/types/sshkey.rb +5 -3
- data/test/ral/types/tidy.rb +63 -3
- data/test/ral/types/user.rb +10 -11
- data/test/ral/types/yumrepo.rb +1 -1
- data/test/ral/types/zone.rb +1 -2
- data/test/util/autoload.rb +23 -27
- data/test/util/classgen.rb +1 -2
- data/test/util/execution.rb +1 -2
- data/test/util/features.rb +1 -3
- data/test/util/fileparsing.rb +11 -3
- data/test/util/filetype.rb +1 -2
- data/test/util/inifile.rb +1 -1
- data/test/util/instance_loader.rb +5 -6
- data/test/util/loadedfile.rb +1 -2
- data/test/util/log.rb +1 -2
- data/test/util/metrics.rb +1 -2
- data/test/util/package.rb +1 -2
- data/test/util/posixtest.rb +1 -2
- data/test/util/{config.rb → settings.rb} +123 -265
- data/test/util/storage.rb +1 -2
- data/test/util/subclass_loader.rb +1 -2
- data/test/util/utiltest.rb +1 -111
- metadata +130 -112
- data/ext/tools/passwd2puppet +0 -45
- data/lib/puppet/fact_stores/yaml.rb +0 -42
- data/lib/puppet/network/handler/facts.rb +0 -70
- data/lib/puppet/parser/ast/resourcedef.rb +0 -222
- data/lib/puppet/parser/ast/resourceref.rb +0 -58
- data/test/language/ast/component.rb +0 -142
- data/test/language/collector.rb +0 -179
- data/test/language/interpreter.rb +0 -804
- data/test/language/node.rb +0 -126
- data/test/lib/mocha/mock_methods.rb +0 -122
- data/test/lib/puppettest/graph.rb +0 -41
- data/test/lib/spec.rb +0 -8
- data/test/lib/spec/callback.rb +0 -11
- data/test/lib/spec/callback/callback_container.rb +0 -60
- data/test/lib/spec/callback/extensions/module.rb +0 -24
- data/test/lib/spec/callback/extensions/object.rb +0 -37
- data/test/lib/spec/deprecated.rb +0 -3
- data/test/lib/spec/expectations.rb +0 -59
- data/test/lib/spec/expectations/differs/default.rb +0 -62
- data/test/lib/spec/expectations/errors.rb +0 -6
- data/test/lib/spec/expectations/extensions.rb +0 -3
- data/test/lib/spec/expectations/extensions/object.rb +0 -109
- data/test/lib/spec/expectations/extensions/proc.rb +0 -57
- data/test/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
- data/test/lib/spec/expectations/handler.rb +0 -47
- data/test/lib/spec/expectations/should.rb +0 -5
- data/test/lib/spec/expectations/should/base.rb +0 -64
- data/test/lib/spec/expectations/should/change.rb +0 -69
- data/test/lib/spec/expectations/should/have.rb +0 -128
- data/test/lib/spec/expectations/should/not.rb +0 -74
- data/test/lib/spec/expectations/should/should.rb +0 -81
- data/test/lib/spec/expectations/sugar.rb +0 -47
- data/test/lib/spec/matchers.rb +0 -160
- data/test/lib/spec/matchers/be.rb +0 -161
- data/test/lib/spec/matchers/be_close.rb +0 -37
- data/test/lib/spec/matchers/change.rb +0 -120
- data/test/lib/spec/matchers/eql.rb +0 -43
- data/test/lib/spec/matchers/equal.rb +0 -43
- data/test/lib/spec/matchers/has.rb +0 -44
- data/test/lib/spec/matchers/have.rb +0 -140
- data/test/lib/spec/matchers/include.rb +0 -50
- data/test/lib/spec/matchers/match.rb +0 -41
- data/test/lib/spec/matchers/raise_error.rb +0 -100
- data/test/lib/spec/matchers/respond_to.rb +0 -35
- data/test/lib/spec/matchers/satisfy.rb +0 -47
- data/test/lib/spec/matchers/throw_symbol.rb +0 -75
- data/test/lib/spec/mocks.rb +0 -232
- data/test/lib/spec/mocks/argument_expectation.rb +0 -132
- data/test/lib/spec/mocks/error_generator.rb +0 -85
- data/test/lib/spec/mocks/errors.rb +0 -10
- data/test/lib/spec/mocks/extensions/object.rb +0 -3
- data/test/lib/spec/mocks/message_expectation.rb +0 -231
- data/test/lib/spec/mocks/methods.rb +0 -40
- data/test/lib/spec/mocks/mock.rb +0 -26
- data/test/lib/spec/mocks/mock_handler.rb +0 -166
- data/test/lib/spec/mocks/order_group.rb +0 -29
- data/test/lib/spec/rake/spectask.rb +0 -173
- data/test/lib/spec/rake/verify_rcov.rb +0 -47
- data/test/lib/spec/runner.rb +0 -132
- data/test/lib/spec/runner/backtrace_tweaker.rb +0 -55
- data/test/lib/spec/runner/command_line.rb +0 -34
- data/test/lib/spec/runner/context.rb +0 -154
- data/test/lib/spec/runner/context_eval.rb +0 -142
- data/test/lib/spec/runner/context_runner.rb +0 -55
- data/test/lib/spec/runner/drb_command_line.rb +0 -21
- data/test/lib/spec/runner/execution_context.rb +0 -17
- data/test/lib/spec/runner/extensions/kernel.rb +0 -17
- data/test/lib/spec/runner/extensions/object.rb +0 -32
- data/test/lib/spec/runner/formatter.rb +0 -5
- data/test/lib/spec/runner/formatter/base_text_formatter.rb +0 -118
- data/test/lib/spec/runner/formatter/html_formatter.rb +0 -219
- data/test/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -27
- data/test/lib/spec/runner/formatter/rdoc_formatter.rb +0 -22
- data/test/lib/spec/runner/formatter/specdoc_formatter.rb +0 -23
- data/test/lib/spec/runner/heckle_runner.rb +0 -71
- data/test/lib/spec/runner/heckle_runner_win.rb +0 -10
- data/test/lib/spec/runner/option_parser.rb +0 -224
- data/test/lib/spec/runner/reporter.rb +0 -105
- data/test/lib/spec/runner/spec_matcher.rb +0 -25
- data/test/lib/spec/runner/spec_parser.rb +0 -41
- data/test/lib/spec/runner/spec_should_raise_handler.rb +0 -74
- data/test/lib/spec/runner/specification.rb +0 -114
- data/test/lib/spec/translator.rb +0 -87
- data/test/lib/spec/version.rb +0 -30
- data/test/network/handler/facts.rb +0 -112
- data/test/other/pgraph.rb +0 -290
- data/test/other/relationship.rb +0 -74
- data/test/puppet/modules.rb +0 -59
- data/test/rails/collection.rb +0 -247
- data/test/rails/interpreter.rb +0 -91
- data/test/ral/providers/mount/parsed.rb +0 -251
- data/test/ral/providers/service.rb +0 -235
- data/test/ral/types/component.rb +0 -113
- data/test/ral/types/interface.rb +0 -40
- data/test/ral/types/mount.rb +0 -362
- data/test/ral/types/package.rb +0 -154
- data/test/ral/types/schedule.rb +0 -357
- data/test/tagging/tagging.rb +0 -170
- data/test/util/fact_store.rb +0 -67
- data/test/util/graph.rb +0 -108
data/test/util/classgen.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppet'
|
6
6
|
require 'puppettest'
|
@@ -224,4 +224,3 @@ class TestPuppetUtilClassGen < Test::Unit::TestCase
|
|
224
224
|
end
|
225
225
|
end
|
226
226
|
|
227
|
-
# $Id: classgen.rb 1856 2006-11-11 07:40:16Z luke $
|
data/test/util/execution.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppet'
|
6
6
|
require 'puppettest'
|
@@ -31,4 +31,3 @@ class TestPuppetUtilExecution < Test::Unit::TestCase
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
# $Id: execution.rb 1793 2006-10-16 22:01:40Z luke $
|
data/test/util/features.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# Created by Luke Kanies on 2006-11-07.
|
4
4
|
# Copyright (c) 2006. All rights reserved.
|
5
5
|
|
6
|
-
|
6
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
7
7
|
|
8
8
|
require 'puppettest'
|
9
9
|
require 'puppet/util/feature'
|
@@ -93,5 +93,3 @@ class TestFeatures < Test::Unit::TestCase
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
end
|
96
|
-
|
97
|
-
# $Id: features.rb 2518 2007-05-16 00:00:47Z luke $
|
data/test/util/fileparsing.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
require 'puppettest/fileparsing'
|
@@ -456,12 +456,21 @@ billy three four\n"
|
|
456
456
|
:separator => " " # A single space
|
457
457
|
end
|
458
458
|
|
459
|
-
|
459
|
+
{ "a b c d" => [],
|
460
|
+
"a b * d" => [:three],
|
461
|
+
"a b * *" => [:three, :four],
|
462
|
+
"a b c *" => [:four]
|
463
|
+
}.each do |line, absentees|
|
460
464
|
record = nil
|
461
465
|
assert_nothing_raised do
|
462
466
|
record = @parser.parse_line(line)
|
463
467
|
end
|
464
468
|
|
469
|
+
# Absent field is :absent, not "*" inside the record
|
470
|
+
absentees.each do |absentee|
|
471
|
+
assert_equal(:absent, record[absentee])
|
472
|
+
end
|
473
|
+
|
465
474
|
# Now regenerate the line
|
466
475
|
newline = nil
|
467
476
|
assert_nothing_raised do
|
@@ -673,5 +682,4 @@ class TestUtilFileRecord < Test::Unit::TestCase
|
|
673
682
|
end
|
674
683
|
end
|
675
684
|
|
676
|
-
# $Id: fileparsing.rb 2407 2007-04-23 18:01:36Z luke $
|
677
685
|
|
data/test/util/filetype.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppettest'
|
6
6
|
require 'puppet/util/filetype'
|
@@ -135,4 +135,3 @@ class TestFileType < Test::Unit::TestCase
|
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
138
|
-
# $Id: filetype.rb 2679 2007-07-11 20:23:49Z luke $
|
data/test/util/inifile.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppet'
|
6
6
|
require 'puppet/util/instance_loader'
|
@@ -19,15 +19,15 @@ class TestInstanceloader < Test::Unit::TestCase
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
assert_nothing_raised("Could not create
|
23
|
-
@loader.
|
22
|
+
assert_nothing_raised("Could not create instance loader") do
|
23
|
+
@loader.instance_load(:stuff, "puppet/stuff")
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
27
|
# Make sure we correctly create our autoload instance. This covers the basics.
|
28
28
|
def test_autoload
|
29
29
|
# Make sure we can retrieve the loader
|
30
|
-
assert_instance_of(Puppet::Util::Autoload, @loader.instance_loader(:stuff), "Could not get
|
30
|
+
assert_instance_of(Puppet::Util::Autoload, @loader.instance_loader(:stuff), "Could not get instance loader")
|
31
31
|
|
32
32
|
# Make sure we can get the instance hash
|
33
33
|
assert(@loader.instance_hash(:stuff), "Could not get instance hash")
|
@@ -46,8 +46,7 @@ class TestInstanceloader < Test::Unit::TestCase
|
|
46
46
|
assert_equal("a value", @loader.loaded_instance(:stuff, :testing), "Got incorrect loaded instance")
|
47
47
|
end
|
48
48
|
|
49
|
-
def
|
49
|
+
def test_instance_loading
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
# $Id: instance_loader.rb 2476 2007-05-07 18:59:40Z luke $
|
data/test/util/loadedfile.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppet'
|
6
6
|
require 'puppet/util/loadedfile'
|
@@ -119,4 +119,3 @@ class TestLoadedFile < Test::Unit::TestCase
|
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
122
|
-
# $Id: loadedfile.rb 2629 2007-06-19 22:18:55Z luke $
|
data/test/util/log.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppet'
|
6
6
|
require 'puppet/util/log'
|
@@ -272,4 +272,3 @@ class TestLog < Test::Unit::TestCase
|
|
272
272
|
end
|
273
273
|
end
|
274
274
|
|
275
|
-
# $Id: log.rb 2259 2007-03-06 19:03:05Z luke $
|
data/test/util/metrics.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppet'
|
6
6
|
require 'puppet/util/metric'
|
@@ -75,4 +75,3 @@ class TestMetric < PuppetTest::TestCase
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
-
# $Id: metrics.rb 2579 2007-06-14 06:07:31Z luke $
|
data/test/util/package.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'puppet'
|
6
6
|
require 'puppet/util/package'
|
@@ -24,4 +24,3 @@ class TestPuppetUtilPackage < Test::Unit::TestCase
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
# $Id: package.rb 2132 2007-01-31 06:48:31Z mpalmer $
|
data/test/util/posixtest.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# Created by Luke Kanies on 2006-11-07.
|
4
4
|
# Copyright (c) 2006. All rights reserved.
|
5
5
|
|
6
|
-
|
6
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
7
7
|
|
8
8
|
require 'puppettest'
|
9
9
|
require 'puppet/util/posix'
|
@@ -167,4 +167,3 @@ class TestPosixUtil < Test::Unit::TestCase
|
|
167
167
|
end
|
168
168
|
end
|
169
169
|
|
170
|
-
# $Id: posixtest.rb 2598 2007-06-17 23:11:14Z luke $
|
@@ -1,15 +1,17 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
3
|
+
require File.dirname(__FILE__) + '/../lib/puppettest'
|
4
4
|
|
5
5
|
require 'mocha'
|
6
6
|
require 'puppettest'
|
7
|
-
require 'puppet/util/
|
7
|
+
require 'puppet/util/settings'
|
8
8
|
require 'puppettest/parsertesting'
|
9
9
|
|
10
|
-
class
|
10
|
+
class TestSettings < Test::Unit::TestCase
|
11
11
|
include PuppetTest
|
12
12
|
include PuppetTest::ParserTesting
|
13
|
+
CElement = Puppet::Util::Settings::CElement
|
14
|
+
CBoolean = Puppet::Util::Settings::CBoolean
|
13
15
|
|
14
16
|
def setup
|
15
17
|
super
|
@@ -57,41 +59,6 @@ class TestConfig < Test::Unit::TestCase
|
|
57
59
|
}
|
58
60
|
end
|
59
61
|
|
60
|
-
def test_to_manifest
|
61
|
-
set_configs
|
62
|
-
manifest = nil
|
63
|
-
assert_nothing_raised("Could not convert to a manifest") {
|
64
|
-
manifest = @config.to_manifest
|
65
|
-
}
|
66
|
-
|
67
|
-
Puppet[:parseonly] = true
|
68
|
-
|
69
|
-
interp = nil
|
70
|
-
assert_nothing_raised do
|
71
|
-
interp = mkinterp :Code => manifest, :UseNodes => false
|
72
|
-
end
|
73
|
-
|
74
|
-
trans = nil
|
75
|
-
assert_nothing_raised do
|
76
|
-
trans = interp.evaluate(nil, {})
|
77
|
-
end
|
78
|
-
assert_nothing_raised("Could not instantiate objects") {
|
79
|
-
trans.to_type
|
80
|
-
}
|
81
|
-
end
|
82
|
-
|
83
|
-
def test_to_comp
|
84
|
-
set_configs
|
85
|
-
comp = nil
|
86
|
-
assert_nothing_raised("Could not convert to a component") {
|
87
|
-
comp = @config.to_component
|
88
|
-
}
|
89
|
-
|
90
|
-
assert_nothing_raised("Could not retrieve component") {
|
91
|
-
comp.retrieve
|
92
|
-
}
|
93
|
-
end
|
94
|
-
|
95
62
|
def test_to_config
|
96
63
|
set_configs
|
97
64
|
|
@@ -128,7 +95,7 @@ class TestConfig < Test::Unit::TestCase
|
|
128
95
|
def mkconfig
|
129
96
|
c = nil
|
130
97
|
assert_nothing_raised {
|
131
|
-
c = Puppet::Util::
|
98
|
+
c = Puppet::Util::Settings.new
|
132
99
|
}
|
133
100
|
return c
|
134
101
|
end
|
@@ -159,11 +126,11 @@ class TestConfig < Test::Unit::TestCase
|
|
159
126
|
|
160
127
|
assert(! @config[:booltest], "Booltest is not false")
|
161
128
|
|
162
|
-
assert_raise(
|
129
|
+
assert_raise(ArgumentError) {
|
163
130
|
@config[:booltest] = "yayness"
|
164
131
|
}
|
165
132
|
|
166
|
-
assert_raise(
|
133
|
+
assert_raise(ArgumentError) {
|
167
134
|
@config[:booltest] = "/some/file"
|
168
135
|
}
|
169
136
|
end
|
@@ -202,7 +169,7 @@ class TestConfig < Test::Unit::TestCase
|
|
202
169
|
|
203
170
|
def test_getset
|
204
171
|
initial = "an initial value"
|
205
|
-
assert_raise(
|
172
|
+
assert_raise(ArgumentError) {
|
206
173
|
@config[:yayness] = initial
|
207
174
|
}
|
208
175
|
|
@@ -223,7 +190,7 @@ class TestConfig < Test::Unit::TestCase
|
|
223
190
|
@config.clear
|
224
191
|
}
|
225
192
|
|
226
|
-
assert_equal(default, @config[:yayness])
|
193
|
+
assert_equal(default, @config[:yayness], "'clear' did not remove old values")
|
227
194
|
|
228
195
|
assert_nothing_raised {
|
229
196
|
@config[:yayness] = "not default"
|
@@ -372,27 +339,26 @@ yay = /a/path
|
|
372
339
|
:shoe => ["puppet", "b"] # our default name
|
373
340
|
)
|
374
341
|
@config.handlearg("--cliparam", "changed")
|
375
|
-
@config.
|
342
|
+
@config.stubs(:parse_file).returns(result)
|
376
343
|
|
377
344
|
# First do it with our name being 'puppet'
|
378
345
|
assert_nothing_raised("Could not handle parse results") do
|
379
346
|
@config.parse(tempfile)
|
380
347
|
end
|
381
348
|
|
382
|
-
|
383
|
-
|
349
|
+
assert_equal(:puppet, @config.name, "Did not get correct name")
|
384
350
|
assert_equal("main", @config[:main], "Did not get main value")
|
385
351
|
assert_equal("puppet", @config[:other], "Did not get name value")
|
386
352
|
assert_equal("changed", @config[:cliparam], "CLI values were overridden by config")
|
387
353
|
|
388
354
|
# Now switch names and make sure the parsing switches, too.
|
389
355
|
@config.clear(true)
|
390
|
-
@config[:name] = :puppetd
|
391
356
|
assert_nothing_raised("Could not handle parse results") do
|
392
357
|
@config.parse(tempfile)
|
393
358
|
end
|
394
|
-
|
359
|
+
@config[:name] = :puppetd
|
395
360
|
|
361
|
+
assert_equal(:puppetd, @config.name, "Did not get correct name")
|
396
362
|
assert_equal("main", @config[:main], "Did not get main value")
|
397
363
|
assert_equal("puppetd", @config[:other], "Did not get name value")
|
398
364
|
assert_equal("changed", @config[:cliparam], "CLI values were overridden by config")
|
@@ -411,6 +377,7 @@ yay = /a/path
|
|
411
377
|
)
|
412
378
|
|
413
379
|
file = tempfile
|
380
|
+
count = 0
|
414
381
|
|
415
382
|
{
|
416
383
|
:pass => {
|
@@ -430,17 +397,19 @@ yay = /a/path
|
|
430
397
|
%{{owner => you}}
|
431
398
|
]
|
432
399
|
}.each do |type, list|
|
400
|
+
count += 1
|
433
401
|
list.each do |value|
|
434
402
|
if type == :pass
|
435
403
|
value, should = value[0], value[1]
|
436
404
|
end
|
405
|
+
path = "/other%s" % count
|
437
406
|
# Write our file out
|
438
407
|
File.open(file, "w") do |f|
|
439
|
-
f.puts %{[main]\nfile =
|
408
|
+
f.puts %{[main]\nfile = #{path}#{value}}
|
440
409
|
end
|
441
410
|
|
442
411
|
if type == :fail
|
443
|
-
assert_raise(
|
412
|
+
assert_raise(ArgumentError, "Did not fail on %s" % value.inspect) do
|
444
413
|
@config.send(:parse_file, file)
|
445
414
|
end
|
446
415
|
else
|
@@ -449,6 +418,7 @@ yay = /a/path
|
|
449
418
|
result = @config.send(:parse_file, file)
|
450
419
|
end
|
451
420
|
assert_equal(should, result[:main][:_meta][:file], "Got incorrect return for %s" % value.inspect)
|
421
|
+
assert_equal(path, result[:main][:file], "Got incorrect value for %s" % value.inspect)
|
452
422
|
end
|
453
423
|
end
|
454
424
|
end
|
@@ -488,6 +458,7 @@ yay = /a/path
|
|
488
458
|
# Get the actual object, so we can verify metadata
|
489
459
|
file = @config.element(:file)
|
490
460
|
|
461
|
+
assert_equal("/other", @config[:file], "Did not get correct value")
|
491
462
|
assert_equal("you", file.owner, "Did not pass on user")
|
492
463
|
assert_equal("you", file.group, "Did not pass on group")
|
493
464
|
assert_equal("644", file.mode, "Did not pass on mode")
|
@@ -535,34 +506,46 @@ yay = /a/path
|
|
535
506
|
}
|
536
507
|
end
|
537
508
|
|
538
|
-
def
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
509
|
+
def test_addargs
|
510
|
+
@config.setdefaults("testing",
|
511
|
+
:onboolean => [true, "An on bool"],
|
512
|
+
:offboolean => [false, "An off bool"],
|
513
|
+
:string => ["a string", "A string arg"],
|
514
|
+
:file => ["/path/to/file", "A file arg"]
|
515
|
+
)
|
516
|
+
|
517
|
+
should = []
|
518
|
+
@config.each { |name, element|
|
519
|
+
element.expects(:getopt_args).returns([name])
|
520
|
+
should << name
|
521
|
+
}
|
522
|
+
result = []
|
523
|
+
assert_nothing_raised("Add args failed") do
|
524
|
+
@config.addargs(result)
|
525
|
+
end
|
526
|
+
assert_equal(should, result, "Did not call addargs correctly.")
|
552
527
|
|
553
|
-
|
554
|
-
opt = "--%s" % param
|
555
|
-
assert(options.find { |ary|
|
556
|
-
ary[0] == opt
|
557
|
-
}, "Argument %s was not added" % opt)
|
528
|
+
end
|
558
529
|
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
530
|
+
def test_addargs_functional
|
531
|
+
@config.setdefaults("testing",
|
532
|
+
:onboolean => [true, "An on bool"],
|
533
|
+
:string => ["a string", "A string arg"]
|
534
|
+
)
|
535
|
+
result = []
|
536
|
+
should = []
|
537
|
+
assert_nothing_raised("Add args failed") do
|
538
|
+
@config.addargs(result)
|
539
|
+
end
|
540
|
+
@config.each do |name, element|
|
541
|
+
if name == :onboolean
|
542
|
+
should << ["--onboolean", GetoptLong::NO_ARGUMENT]
|
543
|
+
should << ["--no-onboolean", GetoptLong::NO_ARGUMENT]
|
544
|
+
elsif name == :string
|
545
|
+
should << ["--string", GetoptLong::REQUIRED_ARGUMENT]
|
564
546
|
end
|
565
|
-
|
547
|
+
end
|
548
|
+
assert_equal(should, result, "Add args functional test failed")
|
566
549
|
end
|
567
550
|
|
568
551
|
def test_usesection
|
@@ -634,91 +617,6 @@ yay = /a/path
|
|
634
617
|
assert_equal("/my/file", @config[:b], "Values are not equal")
|
635
618
|
end
|
636
619
|
|
637
|
-
def test_reuse
|
638
|
-
c = mkconfig
|
639
|
-
|
640
|
-
file = tempfile()
|
641
|
-
section = "testing"
|
642
|
-
assert_nothing_raised {
|
643
|
-
@config.setdefaults(section,
|
644
|
-
:myfile => {:default => file, :create => true, :desc => "yay"}
|
645
|
-
)
|
646
|
-
}
|
647
|
-
|
648
|
-
assert_nothing_raised("Could not use a section") {
|
649
|
-
@config.use(section)
|
650
|
-
}
|
651
|
-
|
652
|
-
assert(FileTest.exists?(file), "Did not create file")
|
653
|
-
|
654
|
-
assert(! Puppet::Type.type(:file)[file], "File obj still exists")
|
655
|
-
|
656
|
-
File.unlink(file)
|
657
|
-
|
658
|
-
@config.reuse
|
659
|
-
assert(FileTest.exists?(file), "Did not create file")
|
660
|
-
end
|
661
|
-
|
662
|
-
def test_mkusers
|
663
|
-
c = mkconfig
|
664
|
-
|
665
|
-
file = tempfile()
|
666
|
-
section = "testing"
|
667
|
-
assert_nothing_raised {
|
668
|
-
@config.setdefaults(section,
|
669
|
-
:mkusers => [false, "yay"],
|
670
|
-
:myfile => {
|
671
|
-
:default => file,
|
672
|
-
:owner => "pptest",
|
673
|
-
:group => "pptest",
|
674
|
-
:desc => "yay",
|
675
|
-
:create => true
|
676
|
-
}
|
677
|
-
)
|
678
|
-
}
|
679
|
-
|
680
|
-
comp = nil
|
681
|
-
assert_nothing_raised {
|
682
|
-
comp = @config.to_component
|
683
|
-
}
|
684
|
-
|
685
|
-
[:user, :group].each do |type|
|
686
|
-
# The objects might get created internally by Puppet::Util; just
|
687
|
-
# make sure they're not being managed
|
688
|
-
if obj = Puppet.type(type)["pptest"]
|
689
|
-
assert(! obj.managed?, "%s objectis managed" % type)
|
690
|
-
end
|
691
|
-
end
|
692
|
-
comp.each { |o| o.remove }
|
693
|
-
|
694
|
-
@config[:mkusers] = true
|
695
|
-
|
696
|
-
assert_nothing_raised {
|
697
|
-
@config.to_component
|
698
|
-
}
|
699
|
-
|
700
|
-
user = Puppet.type(:user)["pptest"]
|
701
|
-
assert(user, "User object did not get created")
|
702
|
-
assert(user.managed?, "User object is not managed.")
|
703
|
-
assert(user.should(:comment), "user does not have a comment set")
|
704
|
-
|
705
|
-
group = Puppet.type(:group)["pptest"]
|
706
|
-
assert(group, "Group object did not get created")
|
707
|
-
assert(group.managed?,
|
708
|
-
"Group object is not managed."
|
709
|
-
)
|
710
|
-
|
711
|
-
if Process.uid == 0
|
712
|
-
cleanup do
|
713
|
-
user[:ensure] = :absent
|
714
|
-
group[:ensure] = :absent
|
715
|
-
assert_apply(user, group)
|
716
|
-
end
|
717
|
-
|
718
|
-
assert_apply(user, group)
|
719
|
-
end
|
720
|
-
end
|
721
|
-
|
722
620
|
def test_notmanagingdev
|
723
621
|
c = mkconfig
|
724
622
|
path = "/dev/testing"
|
@@ -730,11 +628,9 @@ yay = /a/path
|
|
730
628
|
}
|
731
629
|
)
|
732
630
|
|
733
|
-
|
734
|
-
@config.to_component
|
735
|
-
}
|
631
|
+
config = @config.to_configuration
|
736
632
|
|
737
|
-
assert(!
|
633
|
+
assert(! config.resource(:file, "/dev/testing"), "Created dev file")
|
738
634
|
end
|
739
635
|
|
740
636
|
def test_groupsetting
|
@@ -839,37 +735,6 @@ yay = /a/path
|
|
839
735
|
end
|
840
736
|
end
|
841
737
|
|
842
|
-
def test_booleans_and_integers
|
843
|
-
config = mkconfig
|
844
|
-
config.setdefaults(:mysection,
|
845
|
-
:booltest => [false, "yay"],
|
846
|
-
:inttest => [14, "yay"]
|
847
|
-
)
|
848
|
-
|
849
|
-
file = tempfile()
|
850
|
-
|
851
|
-
File.open(file, "w") do |f|
|
852
|
-
f.puts %{
|
853
|
-
[main]
|
854
|
-
booltest = true
|
855
|
-
inttest = 27
|
856
|
-
}
|
857
|
-
end
|
858
|
-
|
859
|
-
assert_nothing_raised {
|
860
|
-
config.parse(file)
|
861
|
-
}
|
862
|
-
|
863
|
-
assert_equal(true, config[:booltest], "Boolean was not converted")
|
864
|
-
assert_equal(27, config[:inttest], "Integer was not converted")
|
865
|
-
|
866
|
-
# Now make sure that they get converted through handlearg
|
867
|
-
config.handlearg("--inttest", "true")
|
868
|
-
assert_equal(true, config[:inttest], "Boolean was not converted")
|
869
|
-
config.handlearg("--no-booltest", "false")
|
870
|
-
assert_equal(false, config[:booltest], "Boolean was not converted")
|
871
|
-
end
|
872
|
-
|
873
738
|
# Make sure that tags are ignored when configuring
|
874
739
|
def test_configs_ignore_tags
|
875
740
|
config = mkconfig
|
@@ -903,15 +768,15 @@ inttest = 27
|
|
903
768
|
}
|
904
769
|
|
905
770
|
assert_equal("http://yayness/rahness", val,
|
906
|
-
"
|
771
|
+
"Settings got messed up")
|
907
772
|
end
|
908
773
|
|
909
774
|
def test_correct_type_assumptions
|
910
775
|
config = mkconfig
|
911
776
|
|
912
|
-
file = Puppet::Util::
|
913
|
-
element = Puppet::Util::
|
914
|
-
bool = Puppet::Util::
|
777
|
+
file = Puppet::Util::Settings::CFile
|
778
|
+
element = Puppet::Util::Settings::CElement
|
779
|
+
bool = Puppet::Util::Settings::CBoolean
|
915
780
|
|
916
781
|
# We have to keep these ordered, unfortunately.
|
917
782
|
[
|
@@ -925,15 +790,10 @@ inttest = 27
|
|
925
790
|
["$server/yayness.conf", file]
|
926
791
|
].each do |ary|
|
927
792
|
value, type = ary
|
928
|
-
elem = nil
|
929
793
|
assert_nothing_raised {
|
930
|
-
|
931
|
-
:name => value,
|
932
|
-
:default => value,
|
933
|
-
:desc => name.to_s,
|
934
|
-
:section => :yayness
|
935
|
-
)
|
794
|
+
config.setdefaults(:yayness, value => { :default => value, :desc => name.to_s})
|
936
795
|
}
|
796
|
+
elem = config.element(value)
|
937
797
|
|
938
798
|
assert_instance_of(type, elem,
|
939
799
|
"%s got created as wrong type" % value.inspect)
|
@@ -949,11 +809,10 @@ inttest = 27
|
|
949
809
|
config.setdefaults(:mysection, :clichange => ["clichange", "yay"])
|
950
810
|
config.setdefaults(:mysection, :filechange => ["filechange", "yay"])
|
951
811
|
|
952
|
-
|
953
|
-
|
954
|
-
|
955
|
-
|
956
|
-
}
|
812
|
+
config.stubs(:read_file).returns(%{[main]\nfilechange = filevalue\n})
|
813
|
+
file = mock 'file'
|
814
|
+
file.stubs(:changed?).returns(true)
|
815
|
+
|
957
816
|
assert_nothing_raised {
|
958
817
|
config.parse(file)
|
959
818
|
}
|
@@ -965,16 +824,14 @@ inttest = 27
|
|
965
824
|
|
966
825
|
# And leave the other unset
|
967
826
|
assert_equal("default", config[:default])
|
968
|
-
assert_equal("filevalue", config[:filechange])
|
827
|
+
assert_equal("filevalue", config[:filechange], "Did not get value from file")
|
969
828
|
assert_equal("clivalue", config[:clichange])
|
970
829
|
|
971
|
-
# Now
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
cfile = config.file
|
977
|
-
cfile.send("tstamp=".intern, Time.now - 50)
|
830
|
+
# Now reparse
|
831
|
+
config.stubs(:read_file).returns(%{[main]\nfilechange = newvalue\n})
|
832
|
+
file = mock 'file'
|
833
|
+
file.stubs(:changed?).returns(true)
|
834
|
+
config.parse(file)
|
978
835
|
|
979
836
|
# And check all of the values
|
980
837
|
assert_equal("default", config[:default])
|
@@ -1059,21 +916,17 @@ inttest = 27
|
|
1059
916
|
config = mkconfig()
|
1060
917
|
|
1061
918
|
testing = nil
|
1062
|
-
elem = nil
|
1063
919
|
assert_nothing_raised do
|
1064
|
-
|
1065
|
-
:name => :blocktest,
|
1066
|
-
:desc => "boo",
|
1067
|
-
:section => :test,
|
1068
|
-
:hook => proc { |value| testing = value }
|
920
|
+
config.setdefaults :test, :blocktest => {:default => "yay", :desc => "boo", :hook => proc { |value| testing = value }}
|
1069
921
|
end
|
922
|
+
elem = config.element(:blocktest)
|
1070
923
|
|
1071
924
|
assert_nothing_raised do
|
1072
925
|
assert_equal("yay", elem.value)
|
1073
926
|
end
|
1074
927
|
|
1075
928
|
assert_nothing_raised do
|
1076
|
-
|
929
|
+
config[:blocktest] = "yaytest"
|
1077
930
|
end
|
1078
931
|
|
1079
932
|
assert_nothing_raised do
|
@@ -1082,7 +935,7 @@ inttest = 27
|
|
1082
935
|
assert_equal("yaytest", testing)
|
1083
936
|
|
1084
937
|
assert_nothing_raised do
|
1085
|
-
|
938
|
+
config[:blocktest] = "another"
|
1086
939
|
end
|
1087
940
|
|
1088
941
|
assert_nothing_raised do
|
@@ -1128,12 +981,12 @@ inttest = 27
|
|
1128
981
|
# Now enable it so they'll be added
|
1129
982
|
config[:mkusers] = true
|
1130
983
|
|
1131
|
-
comp = config.
|
984
|
+
comp = config.to_configuration
|
1132
985
|
|
1133
|
-
|
986
|
+
comp.vertices.find_all { |r| r.class.name == :user }.each do |u|
|
1134
987
|
assert(u.name != "root", "Tried to manage root user")
|
1135
988
|
end
|
1136
|
-
|
989
|
+
comp.vertices.find_all { |r| r.class.name == :group }.each do |u|
|
1137
990
|
assert(u.name != "root", "Tried to manage root group")
|
1138
991
|
assert(u.name != "wheel", "Tried to manage wheel group")
|
1139
992
|
end
|
@@ -1176,9 +1029,6 @@ inttest = 27
|
|
1176
1029
|
assert_nothing_raised("Unknown parameter threw an exception") do
|
1177
1030
|
config.parse(file)
|
1178
1031
|
end
|
1179
|
-
|
1180
|
-
assert(@logs.detect { |l| l.message =~ /unknown configuration/ and l.level == :warning },
|
1181
|
-
"Did not generate warning message")
|
1182
1032
|
end
|
1183
1033
|
|
1184
1034
|
def test_multiple_interpolations
|
@@ -1204,45 +1054,53 @@ inttest = 27
|
|
1204
1054
|
"Did not interpolate curlied variables")
|
1205
1055
|
end
|
1206
1056
|
|
1207
|
-
#
|
1208
|
-
def
|
1209
|
-
|
1210
|
-
|
1211
|
-
:
|
1212
|
-
|
1213
|
-
|
1214
|
-
)
|
1215
|
-
|
1216
|
-
# Set the cli param using the cli method
|
1217
|
-
@config.handlearg("--cliparam", "other")
|
1057
|
+
# Test to make sure that we can set and get a short name
|
1058
|
+
def test_celement_short_name
|
1059
|
+
element = nil
|
1060
|
+
assert_nothing_raised("Could not create celement") do
|
1061
|
+
element = CElement.new :short => "n", :desc => "anything"
|
1062
|
+
end
|
1063
|
+
assert_equal("n", element.short, "Short value is not retained")
|
1218
1064
|
|
1219
|
-
|
1220
|
-
|
1221
|
-
@config.send(:set_parameter_hash, :missing => "something")
|
1065
|
+
assert_raise(ArgumentError,"Allowed multicharactered short names.") do
|
1066
|
+
element = CElement.new :short => "no", :desc => "anything"
|
1222
1067
|
end
|
1068
|
+
end
|
1223
1069
|
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1070
|
+
# Test to make sure that no two celements have the same short name
|
1071
|
+
def test_celement_short_name_not_duplicated
|
1072
|
+
config = mkconfig
|
1073
|
+
assert_nothing_raised("Could not create celement with short name.") do
|
1074
|
+
config.setdefaults(:main,
|
1075
|
+
:one => { :default => "blah", :desc => "anything", :short => "o" })
|
1227
1076
|
end
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1231
|
-
assert_nothing_raised("Could not call set_parameter_hash with an override of a cli value") do
|
1232
|
-
@config.send(:set_parameter_hash, :cliparam => "something else")
|
1077
|
+
assert_nothing_raised("Could not create second celement with short name.") do
|
1078
|
+
config.setdefaults(:main,
|
1079
|
+
:two => { :default => "blah", :desc => "anything", :short => "i" })
|
1233
1080
|
end
|
1234
|
-
|
1235
|
-
|
1236
|
-
|
1237
|
-
assert_nothing_raised("Could not call set_parameter_hash with meta info") do
|
1238
|
-
@config.send(:set_parameter_hash, :file => "/other/file", :_meta => {:file => {:mode => "0755"}})
|
1081
|
+
assert_raise(ArgumentError, "Could create second celement with duplicate short name.") do
|
1082
|
+
config.setdefaults(:main,
|
1083
|
+
:three => { :default => "blah", :desc => "anything", :short => "i" })
|
1239
1084
|
end
|
1240
|
-
|
1241
|
-
|
1085
|
+
# make sure that when the above raises an expection that the config is not included
|
1086
|
+
assert(!config.include?(:three), "Invalid configuration item was retained")
|
1087
|
+
end
|
1088
|
+
|
1089
|
+
# Tell getopt which arguments are valid
|
1090
|
+
def test_get_getopt_args
|
1091
|
+
element = CElement.new :name => "foo", :desc => "anything"
|
1092
|
+
assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args")
|
1093
|
+
|
1094
|
+
element.short = "n"
|
1095
|
+
assert_equal([["--foo", "-n", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args")
|
1096
|
+
|
1097
|
+
element = CBoolean.new :name => "foo", :desc => "anything"
|
1098
|
+
assert_equal([["--foo", GetoptLong::NO_ARGUMENT], ["--no-foo", GetoptLong::NO_ARGUMENT]],
|
1099
|
+
element.getopt_args, "Did not produce appropriate getopt args")
|
1242
1100
|
|
1243
|
-
|
1244
|
-
assert_equal("
|
1101
|
+
element.short = "n"
|
1102
|
+
assert_equal([["--foo", "-n", GetoptLong::NO_ARGUMENT],["--no-foo", GetoptLong::NO_ARGUMENT]],
|
1103
|
+
element.getopt_args, "Did not produce appropriate getopt args")
|
1245
1104
|
end
|
1246
1105
|
end
|
1247
1106
|
|
1248
|
-
# $Id: config.rb 2743 2007-08-04 00:36:47Z luke $
|