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
@@ -1,140 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Matchers
|
3
|
-
|
4
|
-
class Have #:nodoc:
|
5
|
-
def initialize(expected, relativity=:exactly)
|
6
|
-
@expected = (expected == :no ? 0 : expected)
|
7
|
-
@relativity = relativity
|
8
|
-
end
|
9
|
-
|
10
|
-
def relativities
|
11
|
-
@relativities ||= {
|
12
|
-
:exactly => "",
|
13
|
-
:at_least => "at least ",
|
14
|
-
:at_most => "at most "
|
15
|
-
}
|
16
|
-
end
|
17
|
-
|
18
|
-
def method_missing(sym, *args, &block)
|
19
|
-
@collection_name = sym
|
20
|
-
@args = args
|
21
|
-
@block = block
|
22
|
-
self
|
23
|
-
end
|
24
|
-
|
25
|
-
def matches?(collection_owner)
|
26
|
-
if collection_owner.respond_to?(collection_name)
|
27
|
-
collection = collection_owner.send(collection_name, *@args, &@block)
|
28
|
-
elsif (collection_owner.respond_to?(:length) || collection_owner.respond_to?(:size))
|
29
|
-
collection = collection_owner
|
30
|
-
else
|
31
|
-
collection_owner.send(collection_name, *@args, &@block)
|
32
|
-
end
|
33
|
-
@actual = collection.length if collection.respond_to?(:length)
|
34
|
-
@actual = collection.size if collection.respond_to?(:size)
|
35
|
-
return @actual >= @expected if @relativity == :at_least
|
36
|
-
return @actual <= @expected if @relativity == :at_most
|
37
|
-
return @actual == @expected
|
38
|
-
end
|
39
|
-
|
40
|
-
def failure_message
|
41
|
-
"expected #{relative_expectation} #{collection_name}, got #{@actual}"
|
42
|
-
end
|
43
|
-
|
44
|
-
def negative_failure_message
|
45
|
-
if @relativity == :exactly
|
46
|
-
return "expected target not to have #{@expected} #{collection_name}, got #{@actual}"
|
47
|
-
elsif @relativity == :at_most
|
48
|
-
return <<-EOF
|
49
|
-
Isn't life confusing enough?
|
50
|
-
Instead of having to figure out the meaning of this:
|
51
|
-
should_not have_at_most(#{@expected}).#{collection_name}
|
52
|
-
We recommend that you use this instead:
|
53
|
-
should have_at_least(#{@expected + 1}).#{collection_name}
|
54
|
-
EOF
|
55
|
-
elsif @relativity == :at_least
|
56
|
-
return <<-EOF
|
57
|
-
Isn't life confusing enough?
|
58
|
-
Instead of having to figure out the meaning of this:
|
59
|
-
should_not have_at_least(#{@expected}).#{collection_name}
|
60
|
-
We recommend that you use this instead:
|
61
|
-
should have_at_most(#{@expected - 1}).#{collection_name}
|
62
|
-
EOF
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
def description
|
67
|
-
"have #{relative_expectation} #{collection_name}"
|
68
|
-
end
|
69
|
-
|
70
|
-
private
|
71
|
-
def collection_name
|
72
|
-
@collection_name
|
73
|
-
end
|
74
|
-
|
75
|
-
def relative_expectation
|
76
|
-
"#{relativities[@relativity]}#{@expected}"
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
# :call-seq:
|
81
|
-
# should have(number).named_collection__or__sugar
|
82
|
-
# should_not have(number).named_collection__or__sugar
|
83
|
-
#
|
84
|
-
# Passes if receiver is a collection with the submitted
|
85
|
-
# number of items OR if the receiver OWNS a collection
|
86
|
-
# with the submitted number of items.
|
87
|
-
#
|
88
|
-
# If the receiver OWNS the collection, you must use the name
|
89
|
-
# of the collection. So if a <tt>Team</tt> instance has a
|
90
|
-
# collection named <tt>#players</tt>, you must use that name
|
91
|
-
# to set the expectation.
|
92
|
-
#
|
93
|
-
# If the receiver IS the collection, you can use any name
|
94
|
-
# you like for <tt>named_collection</tt>. We'd recommend using
|
95
|
-
# either "elements", "members", or "items" as these are all
|
96
|
-
# standard ways of describing the things IN a collection.
|
97
|
-
#
|
98
|
-
# This also works for Strings, letting you set an expectation
|
99
|
-
# about its length
|
100
|
-
#
|
101
|
-
# == Examples
|
102
|
-
#
|
103
|
-
# # Passes if team.players.size == 11
|
104
|
-
# team.should have(11).players
|
105
|
-
#
|
106
|
-
# # Passes if [1,2,3].length == 3
|
107
|
-
# [1,2,3].should have(3).items #"items" is pure sugar
|
108
|
-
#
|
109
|
-
# # Passes if "this string".length == 11
|
110
|
-
# "this string".should have(11).characters #"characters" is pure sugar
|
111
|
-
def have(n)
|
112
|
-
Matchers::Have.new(n)
|
113
|
-
end
|
114
|
-
alias :have_exactly :have
|
115
|
-
|
116
|
-
# :call-seq:
|
117
|
-
# should have_at_least(number).items
|
118
|
-
#
|
119
|
-
# Exactly like have() with >=.
|
120
|
-
#
|
121
|
-
# == Warning
|
122
|
-
#
|
123
|
-
# +should_not+ +have_at_least+ is not supported
|
124
|
-
def have_at_least(n)
|
125
|
-
Matchers::Have.new(n, :at_least)
|
126
|
-
end
|
127
|
-
|
128
|
-
# :call-seq:
|
129
|
-
# should have_at_most(number).items
|
130
|
-
#
|
131
|
-
# Exactly like have() with <=.
|
132
|
-
#
|
133
|
-
# == Warning
|
134
|
-
#
|
135
|
-
# +should_not+ +have_at_most+ is not supported
|
136
|
-
def have_at_most(n)
|
137
|
-
Matchers::Have.new(n, :at_most)
|
138
|
-
end
|
139
|
-
end
|
140
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Matchers
|
3
|
-
|
4
|
-
class Include #:nodoc:
|
5
|
-
|
6
|
-
def initialize(expected)
|
7
|
-
@expected = expected
|
8
|
-
end
|
9
|
-
|
10
|
-
def matches?(actual)
|
11
|
-
@actual = actual
|
12
|
-
actual.include?(@expected)
|
13
|
-
end
|
14
|
-
|
15
|
-
def failure_message
|
16
|
-
_message
|
17
|
-
end
|
18
|
-
|
19
|
-
def negative_failure_message
|
20
|
-
_message("not ")
|
21
|
-
end
|
22
|
-
|
23
|
-
def description
|
24
|
-
"include #{@expected.inspect}"
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
def _message(maybe_not="")
|
29
|
-
"expected #{@actual.inspect} #{maybe_not}to include #{@expected.inspect}"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
# :call-seq:
|
34
|
-
# should include(expected)
|
35
|
-
# should_not include(expected)
|
36
|
-
#
|
37
|
-
# Passes if actual includes expected. This works for
|
38
|
-
# collections and Strings
|
39
|
-
#
|
40
|
-
# == Examples
|
41
|
-
#
|
42
|
-
# [1,2,3].should include(3)
|
43
|
-
# [1,2,3].should_not include(4)
|
44
|
-
# "spread".should include("read")
|
45
|
-
# "spread".should_not include("red")
|
46
|
-
def include(expected)
|
47
|
-
Matchers::Include.new(expected)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Matchers
|
3
|
-
|
4
|
-
class Match #:nodoc:
|
5
|
-
def initialize(expected)
|
6
|
-
@expected = expected
|
7
|
-
end
|
8
|
-
|
9
|
-
def matches?(actual)
|
10
|
-
@actual = actual
|
11
|
-
return true if actual =~ @expected
|
12
|
-
return false
|
13
|
-
end
|
14
|
-
|
15
|
-
def failure_message
|
16
|
-
return "expected #{@actual.inspect} to match #{@expected.inspect}", @expected, @actual
|
17
|
-
end
|
18
|
-
|
19
|
-
def negative_failure_message
|
20
|
-
return "expected #{@actual.inspect} not to match #{@expected.inspect}", @expected, @actual
|
21
|
-
end
|
22
|
-
|
23
|
-
def description
|
24
|
-
"match #{@expected.inspect}"
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
# :call-seq:
|
29
|
-
# should match(regexp)
|
30
|
-
# should_not match(regexp)
|
31
|
-
#
|
32
|
-
# Given a Regexp, passes if actual =~ regexp
|
33
|
-
#
|
34
|
-
# == Examples
|
35
|
-
#
|
36
|
-
# email.should match(/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
|
37
|
-
def match(regexp)
|
38
|
-
Matchers::Match.new(regexp)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,100 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Matchers
|
3
|
-
|
4
|
-
class RaiseError #:nodoc:
|
5
|
-
def initialize(exception=Exception, message=nil)
|
6
|
-
@expected_error = exception
|
7
|
-
@expected_message = message
|
8
|
-
end
|
9
|
-
|
10
|
-
def matches?(proc)
|
11
|
-
@raised_expected_error = false
|
12
|
-
@raised_other = false
|
13
|
-
begin
|
14
|
-
proc.call
|
15
|
-
rescue @expected_error => @actual_error
|
16
|
-
if @expected_message.nil?
|
17
|
-
@raised_expected_error = true
|
18
|
-
else
|
19
|
-
case @expected_message
|
20
|
-
when Regexp
|
21
|
-
if @expected_message =~ @actual_error.message
|
22
|
-
@raised_expected_error = true
|
23
|
-
else
|
24
|
-
@raised_other = true
|
25
|
-
end
|
26
|
-
else
|
27
|
-
if @actual_error.message == @expected_message
|
28
|
-
@raised_expected_error = true
|
29
|
-
else
|
30
|
-
@raised_other = true
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
rescue => @actual_error
|
35
|
-
@raised_other = true
|
36
|
-
ensure
|
37
|
-
return @raised_expected_error
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def failure_message
|
42
|
-
return "expected #{expected_error}#{actual_error}" if @raised_other || !@raised_expected_error
|
43
|
-
end
|
44
|
-
|
45
|
-
def negative_failure_message
|
46
|
-
"expected no #{expected_error}#{actual_error}"
|
47
|
-
end
|
48
|
-
|
49
|
-
def description
|
50
|
-
"raise #{expected_error}"
|
51
|
-
end
|
52
|
-
|
53
|
-
private
|
54
|
-
def expected_error
|
55
|
-
case @expected_message
|
56
|
-
when nil
|
57
|
-
@expected_error
|
58
|
-
when Regexp
|
59
|
-
"#{@expected_error} with message matching #{@expected_message.inspect}"
|
60
|
-
else
|
61
|
-
"#{@expected_error} with #{@expected_message.inspect}"
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def actual_error
|
66
|
-
@actual_error.nil? ? " but nothing was raised" : ", got #{@actual_error.inspect}"
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
# :call-seq:
|
71
|
-
# should raise_error()
|
72
|
-
# should raise_error(NamedError)
|
73
|
-
# should raise_error(NamedError, String)
|
74
|
-
# should raise_error(NamedError, Regexp)
|
75
|
-
# should_not raise_error()
|
76
|
-
# should_not raise_error(NamedError)
|
77
|
-
# should_not raise_error(NamedError, String)
|
78
|
-
# should_not raise_error(NamedError, Regexp)
|
79
|
-
#
|
80
|
-
# With no args, matches if any error is raised.
|
81
|
-
# With a named error, matches only if that specific error is raised.
|
82
|
-
# With a named error and messsage specified as a String, matches only if both match.
|
83
|
-
# With a named error and messsage specified as a Regexp, matches only if both match.
|
84
|
-
#
|
85
|
-
# == Examples
|
86
|
-
#
|
87
|
-
# lambda { do_something_risky }.should raise_error
|
88
|
-
# lambda { do_something_risky }.should raise_error(PoorRiskDecisionError)
|
89
|
-
# lambda { do_something_risky }.should raise_error(PoorRiskDecisionError, "that was too risky")
|
90
|
-
# lambda { do_something_risky }.should raise_error(PoorRiskDecisionError, /oo ri/)
|
91
|
-
#
|
92
|
-
# lambda { do_something_risky }.should_not raise_error
|
93
|
-
# lambda { do_something_risky }.should_not raise_error(PoorRiskDecisionError)
|
94
|
-
# lambda { do_something_risky }.should_not raise_error(PoorRiskDecisionError, "that was too risky")
|
95
|
-
# lambda { do_something_risky }.should_not raise_error(PoorRiskDecisionError, /oo ri/)
|
96
|
-
def raise_error(error=Exception, message=nil)
|
97
|
-
Matchers::RaiseError.new(error, message)
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Matchers
|
3
|
-
|
4
|
-
class RespondTo #:nodoc:
|
5
|
-
def initialize(sym)
|
6
|
-
@sym = sym
|
7
|
-
end
|
8
|
-
|
9
|
-
def matches?(target)
|
10
|
-
return target.respond_to?(@sym)
|
11
|
-
end
|
12
|
-
|
13
|
-
def failure_message
|
14
|
-
"expected target to respond to #{@sym.inspect}"
|
15
|
-
end
|
16
|
-
|
17
|
-
def negative_failure_message
|
18
|
-
"expected target not to respond to #{@sym.inspect}"
|
19
|
-
end
|
20
|
-
|
21
|
-
def description
|
22
|
-
"respond to ##{@sym.to_s}"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# :call-seq:
|
27
|
-
# should respond_to(:sym)
|
28
|
-
# should_not respond_to(:sym)
|
29
|
-
#
|
30
|
-
# Matches if the target object responds to :sym
|
31
|
-
def respond_to(sym)
|
32
|
-
Matchers::RespondTo.new(sym)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Matchers
|
3
|
-
|
4
|
-
class Satisfy #:nodoc:
|
5
|
-
def initialize(&block)
|
6
|
-
@block = block
|
7
|
-
end
|
8
|
-
|
9
|
-
def matches?(actual, &block)
|
10
|
-
@block = block if block
|
11
|
-
@actual = actual
|
12
|
-
@block.call(actual)
|
13
|
-
end
|
14
|
-
|
15
|
-
def failure_message
|
16
|
-
"expected #{@actual} to satisfy block"
|
17
|
-
end
|
18
|
-
|
19
|
-
def negative_failure_message
|
20
|
-
"expected #{@actual} not to satisfy block"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# :call-seq:
|
25
|
-
# should satisfy {}
|
26
|
-
# should_not satisfy {}
|
27
|
-
#
|
28
|
-
# Passes if the submitted block returns true. Yields target to the
|
29
|
-
# block.
|
30
|
-
#
|
31
|
-
# Generally speaking, this should be thought of as a last resort when
|
32
|
-
# you can't find any other way to specify the behaviour you wish to
|
33
|
-
# specify.
|
34
|
-
#
|
35
|
-
# If you do find yourself in such a situation, you could always write
|
36
|
-
# a custom matcher, which would likely make your specs more expressive.
|
37
|
-
#
|
38
|
-
# == Examples
|
39
|
-
#
|
40
|
-
# 5.should satisfy { |n|
|
41
|
-
# n > 3
|
42
|
-
# }
|
43
|
-
def satisfy(&block)
|
44
|
-
Matchers::Satisfy.new(&block)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,75 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Matchers
|
3
|
-
|
4
|
-
class ThrowSymbol #:nodoc:
|
5
|
-
def initialize(expected=nil)
|
6
|
-
@expected = expected
|
7
|
-
end
|
8
|
-
|
9
|
-
def matches?(proc)
|
10
|
-
begin
|
11
|
-
proc.call
|
12
|
-
rescue NameError => e
|
13
|
-
@actual = extract_sym_from_name_error(e)
|
14
|
-
ensure
|
15
|
-
if @expected.nil?
|
16
|
-
return @actual.nil? ? false : true
|
17
|
-
else
|
18
|
-
return @actual == @expected
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def failure_message
|
24
|
-
if @actual
|
25
|
-
"expected #{expected}, got #{@actual.inspect}"
|
26
|
-
else
|
27
|
-
"expected #{expected} but nothing was thrown"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def negative_failure_message
|
32
|
-
if @expected
|
33
|
-
"expected #{expected} not to be thrown"
|
34
|
-
else
|
35
|
-
"expected no Symbol, got :#{@actual}"
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
def description
|
40
|
-
"throw #{expected}"
|
41
|
-
end
|
42
|
-
|
43
|
-
private
|
44
|
-
|
45
|
-
def expected
|
46
|
-
@expected.nil? ? "a Symbol" : @expected.inspect
|
47
|
-
end
|
48
|
-
|
49
|
-
def extract_sym_from_name_error(error)
|
50
|
-
return "#{error.message.split("`").last.split("'").first}".to_sym
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
# :call-seq:
|
55
|
-
# should throw_symbol()
|
56
|
-
# should throw_symbol(:sym)
|
57
|
-
# should_not throw_symbol()
|
58
|
-
# should_not throw_symbol(:sym)
|
59
|
-
#
|
60
|
-
# Given a Symbol argument, matches if a proc throws the specified Symbol.
|
61
|
-
#
|
62
|
-
# Given no argument, matches if a proc throws any Symbol.
|
63
|
-
#
|
64
|
-
# == Examples
|
65
|
-
#
|
66
|
-
# lambda { do_something_risky }.should throw_symbol
|
67
|
-
# lambda { do_something_risky }.should throw_symbol(:that_was_risky)
|
68
|
-
#
|
69
|
-
# lambda { do_something_risky }.should_not throw_symbol
|
70
|
-
# lambda { do_something_risky }.should_not throw_symbol(:that_was_risky)
|
71
|
-
def throw_symbol(sym=nil)
|
72
|
-
Matchers::ThrowSymbol.new(sym)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|