puppet 0.24.6 → 0.24.7
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 +115 -0
- data/Rakefile +43 -14
- data/bin/puppetca +6 -5
- data/bin/puppetdoc +109 -15
- data/bin/ralsh +3 -1
- data/conf/redhat/puppet.spec +74 -48
- data/examples/mcx_dock_absent.pp +4 -0
- data/examples/mcx_dock_default.pp +118 -0
- data/examples/mcx_dock_full.pp +125 -0
- data/examples/mcx_dock_invalid.pp +9 -0
- data/examples/mcx_nogroup.pp +118 -0
- data/examples/mcx_notexists_absent.pp +4 -0
- data/ext/emacs/puppet-mode.el +1 -1
- data/lib/puppet.rb +1 -1
- data/lib/puppet/external/nagios/base.rb +114 -71
- data/lib/puppet/feature/base.rb +6 -0
- data/lib/puppet/indirector/yaml.rb +12 -3
- data/lib/puppet/module.rb +1 -1
- data/lib/puppet/network/client/master.rb +1 -1
- data/lib/puppet/network/xmlrpc/client.rb +3 -1
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast.rb +15 -0
- data/lib/puppet/parser/ast/astarray.rb +1 -2
- data/lib/puppet/parser/ast/casestatement.rb +2 -0
- data/lib/puppet/parser/ast/collection.rb +2 -0
- data/lib/puppet/parser/ast/comparison_operator.rb +4 -0
- data/lib/puppet/parser/ast/definition.rb +2 -0
- data/lib/puppet/parser/ast/else.rb +3 -0
- data/lib/puppet/parser/ast/function.rb +19 -12
- data/lib/puppet/parser/ast/hostclass.rb +9 -1
- data/lib/puppet/parser/ast/ifstatement.rb +3 -0
- data/lib/puppet/parser/ast/node.rb +3 -0
- data/lib/puppet/parser/ast/resource.rb +3 -0
- data/lib/puppet/parser/ast/resource_defaults.rb +2 -0
- data/lib/puppet/parser/ast/resource_override.rb +3 -0
- data/lib/puppet/parser/ast/vardef.rb +3 -0
- data/lib/puppet/parser/functions.rb +14 -0
- data/lib/puppet/parser/functions/inline_template.rb +21 -0
- data/lib/puppet/parser/functions/template.rb +3 -2
- data/lib/puppet/parser/lexer.rb +56 -7
- data/lib/puppet/parser/parser.rb +114 -98
- data/lib/puppet/parser/parser_support.rb +24 -4
- data/lib/puppet/parser/resource/reference.rb +4 -3
- data/lib/puppet/parser/templatewrapper.rb +30 -22
- data/lib/puppet/property.rb +1 -1
- data/lib/puppet/property/list.rb +7 -2
- data/lib/puppet/property/ordered_list.rb +22 -0
- data/lib/puppet/provider/augeas/augeas.rb +189 -0
- data/lib/puppet/provider/computer/computer.rb +22 -0
- data/lib/puppet/provider/confine.rb +4 -1
- data/lib/puppet/provider/confine/variable.rb +13 -2
- data/lib/puppet/provider/confine_collection.rb +4 -1
- data/lib/puppet/provider/confiner.rb +1 -1
- data/lib/puppet/provider/group/directoryservice.rb +6 -3
- data/lib/puppet/provider/group/groupadd.rb +5 -2
- data/lib/puppet/provider/group/ldap.rb +11 -9
- data/lib/puppet/provider/group/netinfo.rb +8 -4
- data/lib/puppet/provider/group/pw.rb +5 -1
- data/lib/puppet/provider/host/netinfo.rb +5 -2
- data/lib/puppet/provider/macauthorization/macauthorization.rb +315 -0
- data/lib/puppet/provider/mcx/mcxcontent.rb +201 -0
- data/lib/puppet/provider/nameservice/directoryservice.rb +210 -107
- data/lib/puppet/provider/nameservice/netinfo.rb +7 -2
- data/lib/puppet/provider/package/appdmg.rb +0 -3
- data/lib/puppet/provider/package/apt.rb +6 -0
- data/lib/puppet/provider/package/rpm.rb +2 -0
- data/lib/puppet/provider/package/yum.rb +5 -1
- data/lib/puppet/provider/package/yumhelper.py +9 -0
- data/lib/puppet/provider/service/base.rb +9 -6
- data/lib/puppet/provider/service/daemontools.rb +25 -15
- data/lib/puppet/provider/service/debian.rb +6 -2
- data/lib/puppet/provider/service/freebsd.rb +5 -2
- data/lib/puppet/provider/service/gentoo.rb +6 -3
- data/lib/puppet/provider/service/init.rb +31 -21
- data/lib/puppet/provider/service/launchd.rb +195 -0
- data/lib/puppet/provider/service/redhat.rb +5 -2
- data/lib/puppet/provider/service/runit.rb +30 -20
- data/lib/puppet/provider/service/smf.rb +7 -4
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +21 -1
- data/lib/puppet/provider/user/directoryservice.rb +1 -0
- data/lib/puppet/provider/user/netinfo.rb +9 -3
- data/lib/puppet/provider/user/user_role_add.rb +43 -6
- data/lib/puppet/provider/zfs/solaris.rb +45 -0
- data/lib/puppet/provider/zone/solaris.rb +8 -4
- data/lib/puppet/provider/zpool/solaris.rb +116 -0
- data/lib/puppet/rails/database/003_add_environment_to_host.rb +9 -0
- data/lib/puppet/rails/database/schema.rb +1 -0
- data/lib/puppet/rails/host.rb +4 -0
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reports/tagmail.rb +15 -6
- data/lib/puppet/transaction/change.rb +3 -5
- data/lib/puppet/transportable.rb +1 -0
- data/lib/puppet/type/augeas.rb +155 -0
- data/lib/puppet/type/computer.rb +62 -0
- data/lib/puppet/type/exec.rb +2 -1
- data/lib/puppet/type/file.rb +1 -1
- data/lib/puppet/type/file/ensure.rb +8 -5
- data/lib/puppet/type/file/mode.rb +0 -14
- data/lib/puppet/type/file/owner.rb +32 -64
- data/lib/puppet/type/file/selcontext.rb +3 -8
- data/lib/puppet/type/group.rb +27 -45
- data/lib/puppet/type/k5login.rb +1 -1
- data/lib/puppet/type/macauthorization.rb +141 -0
- data/lib/puppet/type/mcx.rb +115 -0
- data/lib/puppet/type/mount.rb +1 -1
- data/lib/puppet/type/nagios_hostdependency.rb +3 -0
- data/lib/puppet/type/ssh_authorized_key.rb +16 -0
- data/lib/puppet/type/tidy.rb +43 -14
- data/lib/puppet/type/user.rb +25 -1
- data/lib/puppet/type/zfs.rb +51 -0
- data/lib/puppet/type/zone.rb +8 -0
- data/lib/puppet/type/zpool.rb +93 -0
- data/lib/puppet/util.rb +17 -38
- data/lib/puppet/util/file_locking.rb +44 -0
- data/lib/puppet/util/filetype.rb +3 -3
- data/lib/puppet/util/log.rb +1 -16
- data/lib/puppet/util/metric.rb +0 -5
- data/lib/puppet/util/rdoc.rb +85 -0
- data/lib/puppet/util/rdoc/code_objects.rb +219 -0
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +829 -0
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1051 -0
- data/lib/puppet/util/rdoc/parser.rb +437 -0
- data/lib/puppet/util/selinux.rb +135 -63
- data/lib/puppet/util/settings.rb +136 -126
- data/lib/puppet/util/storage.rb +4 -2
- data/spec/Rakefile +91 -0
- data/spec/integration/checksum.rb +47 -0
- data/spec/integration/defaults.rb +47 -0
- data/spec/integration/file_serving/configuration.rb +43 -0
- data/spec/integration/file_serving/content.rb +18 -0
- data/spec/integration/file_serving/metadata.rb +18 -0
- data/spec/integration/indirector/direct_file_server.rb +80 -0
- data/spec/integration/indirector/file_content/file_server.rb +18 -0
- data/spec/integration/indirector/file_metadata/file_server.rb +18 -0
- data/spec/integration/indirector/module_files.rb +57 -0
- data/spec/integration/indirector/node/ldap.rb +15 -0
- data/spec/integration/indirector/rest.rb +464 -0
- data/spec/integration/network/server/mongrel.rb +48 -0
- data/spec/integration/network/server/webrick.rb +48 -0
- data/spec/integration/node.rb +93 -0
- data/spec/integration/node/catalog.rb +54 -0
- data/spec/integration/node/facts.rb +45 -0
- data/spec/integration/provider/package.rb +26 -0
- data/spec/integration/provider/service/init.rb +32 -0
- data/spec/integration/reference/providers.rb +17 -0
- data/spec/integration/reports.rb +14 -0
- data/spec/integration/transaction/report.rb +26 -0
- data/spec/integration/type/package.rb +22 -0
- data/spec/integration/util/file_locking.rb +36 -0
- data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +46 -0
- data/spec/monkey_patches/alias_should_to_must.rb +5 -0
- data/spec/shared_behaviours/file_server_terminus.rb +42 -0
- data/spec/shared_behaviours/file_serving.rb +64 -0
- data/spec/shared_behaviours/memory_terminus.rb +32 -0
- data/spec/spec.opts +5 -0
- data/spec/spec_helper.rb +36 -0
- data/spec/unit/executables/client/certhandler.rb +122 -0
- data/spec/unit/file_serving/configuration.rb +224 -0
- data/spec/unit/file_serving/configuration/parser.rb +135 -0
- data/spec/unit/file_serving/content.rb +71 -0
- data/spec/unit/file_serving/file_base.rb +124 -0
- data/spec/unit/file_serving/fileset.rb +239 -0
- data/spec/unit/file_serving/indirection_hooks.rb +124 -0
- data/spec/unit/file_serving/metadata.rb +187 -0
- data/spec/unit/file_serving/mount.rb +143 -0
- data/spec/unit/file_serving/terminus_helper.rb +76 -0
- data/spec/unit/indirector.rb +152 -0
- data/spec/unit/indirector/catalog/compiler.rb +156 -0
- data/spec/unit/indirector/catalog/yaml.rb +25 -0
- data/spec/unit/indirector/checksum/file.rb +139 -0
- data/spec/unit/indirector/code.rb +33 -0
- data/spec/unit/indirector/direct_file_server.rb +89 -0
- data/spec/unit/indirector/envelope.rb +47 -0
- data/spec/unit/indirector/exec.rb +51 -0
- data/spec/unit/indirector/facts/facter.rb +76 -0
- data/spec/unit/indirector/facts/yaml.rb +26 -0
- data/spec/unit/indirector/file.rb +154 -0
- data/spec/unit/indirector/file_content/file.rb +18 -0
- data/spec/unit/indirector/file_content/file_server.rb +18 -0
- data/spec/unit/indirector/file_content/modules.rb +18 -0
- data/spec/unit/indirector/file_content/rest.rb +11 -0
- data/spec/unit/indirector/file_metadata/file.rb +52 -0
- data/spec/unit/indirector/file_metadata/file_server.rb +18 -0
- data/spec/unit/indirector/file_metadata/modules.rb +42 -0
- data/spec/unit/indirector/file_metadata/rest.rb +9 -0
- data/spec/unit/indirector/file_server.rb +184 -0
- data/spec/unit/indirector/indirection.rb +731 -0
- data/spec/unit/indirector/ldap.rb +143 -0
- data/spec/unit/indirector/memory.rb +29 -0
- data/spec/unit/indirector/module_files.rb +259 -0
- data/spec/unit/indirector/node/exec.rb +69 -0
- data/spec/unit/indirector/node/ldap.rb +424 -0
- data/spec/unit/indirector/node/memory.rb +19 -0
- data/spec/unit/indirector/node/plain.rb +19 -0
- data/spec/unit/indirector/node/rest.rb +13 -0
- data/spec/unit/indirector/node/yaml.rb +25 -0
- data/spec/unit/indirector/plain.rb +29 -0
- data/spec/unit/indirector/report/processor.rb +81 -0
- data/spec/unit/indirector/request.rb +87 -0
- data/spec/unit/indirector/rest.rb +372 -0
- data/spec/unit/indirector/ssl_rsa/file.rb +116 -0
- data/spec/unit/indirector/terminus.rb +245 -0
- data/spec/unit/indirector/yaml.rb +145 -0
- data/spec/unit/module.rb +247 -0
- data/spec/unit/network/client.rb +45 -0
- data/spec/unit/network/client/master.rb +442 -0
- data/spec/unit/network/handler/fileserver.rb +179 -0
- data/spec/unit/network/http.rb +35 -0
- data/spec/unit/network/http/mongrel.rb +117 -0
- data/spec/unit/network/http/mongrel/rest.rb +377 -0
- data/spec/unit/network/http/mongrel/xmlrpc.rb +0 -0
- data/spec/unit/network/http/webrick.rb +127 -0
- data/spec/unit/network/http/webrick/rest.rb +323 -0
- data/spec/unit/network/http/webrick/xmlrpc.rb +0 -0
- data/spec/unit/network/http_pool.rb +238 -0
- data/spec/unit/network/server.rb +316 -0
- data/spec/unit/network/xmlrpc/client.rb +13 -0
- data/spec/unit/node.rb +167 -0
- data/spec/unit/node/catalog.rb +864 -0
- data/spec/unit/node/environment.rb +37 -0
- data/spec/unit/node/facts.rb +44 -0
- data/spec/unit/other/checksum.rb +92 -0
- data/spec/unit/other/pgraph.rb +210 -0
- data/spec/unit/other/transaction.rb +33 -0
- data/spec/unit/other/transbucket.rb +172 -0
- data/spec/unit/other/transobject.rb +92 -0
- data/spec/unit/parameter.rb +24 -0
- data/spec/unit/parser/ast.rb +37 -0
- data/spec/unit/parser/ast/arithmetic_operator.rb +73 -0
- data/spec/unit/parser/ast/astarray.rb +66 -0
- data/spec/unit/parser/ast/boolean_operator.rb +53 -0
- data/spec/unit/parser/ast/collexpr.rb +92 -0
- data/spec/unit/parser/ast/comparison_operator.rb +92 -0
- data/spec/unit/parser/ast/definition.rb +195 -0
- data/spec/unit/parser/ast/function.rb +77 -0
- data/spec/unit/parser/ast/hostclass.rb +148 -0
- data/spec/unit/parser/ast/minus.rb +36 -0
- data/spec/unit/parser/ast/node.rb +125 -0
- data/spec/unit/parser/ast/nop.rb +20 -0
- data/spec/unit/parser/ast/not.rb +30 -0
- data/spec/unit/parser/ast/resource_override.rb +51 -0
- data/spec/unit/parser/ast/resource_reference.rb +63 -0
- data/spec/unit/parser/ast/vardef.rb +47 -0
- data/spec/unit/parser/collector.rb +426 -0
- data/spec/unit/parser/compiler.rb +561 -0
- data/spec/unit/parser/functions.rb +83 -0
- data/spec/unit/parser/functions/inline_template.rb +59 -0
- data/spec/unit/parser/functions/template.rb +62 -0
- data/spec/unit/parser/interpreter.rb +138 -0
- data/spec/unit/parser/lexer.rb +646 -0
- data/spec/unit/parser/parser.rb +228 -0
- data/spec/unit/parser/resource.rb +336 -0
- data/spec/unit/parser/resource/reference.rb +95 -0
- data/spec/unit/parser/scope.rb +87 -0
- data/spec/unit/parser/templatewrapper.rb +129 -0
- data/spec/unit/property.rb +35 -0
- data/spec/unit/property/keyvalue.rb +168 -0
- data/spec/unit/property/list.rb +156 -0
- data/spec/unit/property/ordered_list.rb +64 -0
- data/spec/unit/provider/augeas/augeas.rb +238 -0
- data/spec/unit/provider/confine.rb +78 -0
- data/spec/unit/provider/confine/exists.rb +81 -0
- data/spec/unit/provider/confine/false.rb +53 -0
- data/spec/unit/provider/confine/feature.rb +60 -0
- data/spec/unit/provider/confine/true.rb +53 -0
- data/spec/unit/provider/confine/variable.rb +107 -0
- data/spec/unit/provider/confine_collection.rb +134 -0
- data/spec/unit/provider/confiner.rb +63 -0
- data/spec/unit/provider/group/groupadd.rb +31 -0
- data/spec/unit/provider/group/ldap.rb +105 -0
- data/spec/unit/provider/ldap.rb +248 -0
- data/spec/unit/provider/macauthorization.rb +147 -0
- data/spec/unit/provider/mcx/mcxcontent.rb +175 -0
- data/spec/unit/provider/mount.rb +130 -0
- data/spec/unit/provider/mount/parsed.rb +185 -0
- data/spec/unit/provider/package/apt.rb +138 -0
- data/spec/unit/provider/package/dpkg.rb +163 -0
- data/spec/unit/provider/package/gem.rb +87 -0
- data/spec/unit/provider/package/hpux.rb +52 -0
- data/spec/unit/provider/selboolean.rb +37 -0
- data/spec/unit/provider/selmodule-example.pp +0 -0
- data/spec/unit/provider/selmodule.rb +66 -0
- data/spec/unit/provider/service/daemontools.rb +124 -0
- data/spec/unit/provider/service/launchd.rb +134 -0
- data/spec/unit/provider/service/runit.rb +117 -0
- data/spec/unit/provider/ssh_authorized_key/parsed.rb +102 -0
- data/spec/unit/provider/user/hpux.rb +25 -0
- data/spec/unit/provider/user/ldap.rb +279 -0
- data/spec/unit/provider/user/user_role_add.rb +249 -0
- data/spec/unit/provider/user/useradd.rb +115 -0
- data/spec/unit/provider/zfs/solaris.rb +87 -0
- data/spec/unit/provider/zone/solaris.rb +42 -0
- data/spec/unit/provider/zpool/solaris.rb +179 -0
- data/spec/unit/rails.rb +125 -0
- data/spec/unit/relationship.rb +149 -0
- data/spec/unit/reports.rb +61 -0
- data/spec/unit/resource_reference.rb +73 -0
- data/spec/unit/simple_graph.rb +280 -0
- data/spec/unit/transaction/change.rb +187 -0
- data/spec/unit/transaction/event.rb +25 -0
- data/spec/unit/transaction/report.rb +40 -0
- data/spec/unit/type.rb +64 -0
- data/spec/unit/type/augeas.rb +113 -0
- data/spec/unit/type/computer.rb +82 -0
- data/spec/unit/type/exec.rb +91 -0
- data/spec/unit/type/file.rb +155 -0
- data/spec/unit/type/file/ensure.rb +21 -0
- data/spec/unit/type/file/group.rb +118 -0
- data/spec/unit/type/file/owner.rb +132 -0
- data/spec/unit/type/file/selinux.rb +82 -0
- data/spec/unit/type/group.rb +40 -0
- data/spec/unit/type/macauthorization.rb +78 -0
- data/spec/unit/type/mcx.rb +108 -0
- data/spec/unit/type/mount.rb +219 -0
- data/spec/unit/type/nagios.rb +63 -0
- data/spec/unit/type/noop_metaparam.rb +38 -0
- data/spec/unit/type/package.rb +246 -0
- data/spec/unit/type/resources.rb +27 -0
- data/spec/unit/type/schedule.rb +339 -0
- data/spec/unit/type/selboolean.rb +47 -0
- data/spec/unit/type/selmodule.rb +18 -0
- data/spec/unit/type/service.rb +254 -0
- data/spec/unit/type/ssh_authorized_key.rb +106 -0
- data/spec/unit/type/tidy.rb +68 -0
- data/spec/unit/type/user.rb +260 -0
- data/spec/unit/type/zfs.rb +45 -0
- data/spec/unit/type/zone.rb +20 -0
- data/spec/unit/type/zpool.rb +110 -0
- data/spec/unit/util/checksums.rb +99 -0
- data/spec/unit/util/constant_inflector.rb +70 -0
- data/spec/unit/util/file_locking.rb +115 -0
- data/spec/unit/util/ldap/connection.rb +169 -0
- data/spec/unit/util/ldap/generator.rb +54 -0
- data/spec/unit/util/ldap/manager.rb +654 -0
- data/spec/unit/util/loadedfile.rb +65 -0
- data/spec/unit/util/log.rb +107 -0
- data/spec/unit/util/metric.rb +95 -0
- data/spec/unit/util/nagios_maker.rb +128 -0
- data/spec/unit/util/posix.rb +256 -0
- data/spec/unit/util/resource_template.rb +58 -0
- data/spec/unit/util/selinux.rb +219 -0
- data/spec/unit/util/settings.rb +847 -0
- data/spec/unit/util/storage.rb +248 -0
- data/spec/unit/util/tagging.rb +92 -0
- data/spec/unit/util/uri_helper.rb +41 -0
- data/spec/unit/util/user_attr.rb +47 -0
- data/spec/unit/util/warnings.rb +35 -0
- data/test/certmgr/support.rb +0 -6
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -0
- data/test/data/snippets/multilinecomments.pp +6 -0
- data/test/data/snippets/multipleclass.pp +9 -0
- data/test/language/functions.rb +11 -1
- data/test/language/snippets.rb +16 -0
- data/test/lib/puppettest/runnable_test.rb +1 -1
- data/test/network/handler/fileserver.rb +5 -0
- data/test/other/report.rb +0 -4
- data/test/ral/type/resources.rb +2 -19
- data/test/util/settings.rb +4 -4
- data/test/util/storage.rb +0 -24
- data/test/util/utiltest.rb +0 -33
- metadata +319 -26
- data/conf/debian/README.source +0 -2
- data/conf/debian/TODO.Debian +0 -1
- data/conf/debian/changelog +0 -257
- data/conf/debian/compat +0 -1
- data/conf/debian/control +0 -45
- data/conf/debian/copyright +0 -17
- data/conf/debian/docs +0 -1
- data/conf/debian/fileserver.conf +0 -12
- data/conf/debian/puppet.NEWS +0 -63
- data/conf/debian/puppet.conf +0 -8
- data/conf/debian/puppet.dirs +0 -7
- data/conf/debian/puppet.files +0 -6
- data/conf/debian/puppet.init +0 -64
- data/conf/debian/puppet.logrotate +0 -11
- data/conf/debian/puppet.postinst +0 -9
- data/conf/debian/puppet.postrm +0 -21
- data/conf/debian/puppet.preinst +0 -25
- data/conf/debian/puppetmaster.files +0 -4
- data/conf/debian/puppetmaster.init +0 -58
- data/conf/debian/rules +0 -115
- data/conf/debian/watch +0 -2
- data/lib/puppet/type/nagios_hostgroupescalation.rb +0 -3
@@ -0,0 +1,78 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
4
|
+
|
5
|
+
require 'puppet/provider/confine'
|
6
|
+
|
7
|
+
describe Puppet::Provider::Confine do
|
8
|
+
it "should require a value" do
|
9
|
+
lambda { Puppet::Provider::Confine.new() }.should raise_error(ArgumentError)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should always convert values to an array" do
|
13
|
+
Puppet::Provider::Confine.new("/some/file").values.should be_instance_of(Array)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should have a 'true' test" do
|
17
|
+
Puppet::Provider::Confine.test(:true).should be_instance_of(Class)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should have a 'false' test" do
|
21
|
+
Puppet::Provider::Confine.test(:false).should be_instance_of(Class)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should have a 'feature' test" do
|
25
|
+
Puppet::Provider::Confine.test(:feature).should be_instance_of(Class)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should have an 'exists' test" do
|
29
|
+
Puppet::Provider::Confine.test(:exists).should be_instance_of(Class)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should have a 'variable' test" do
|
33
|
+
Puppet::Provider::Confine.test(:variable).should be_instance_of(Class)
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "when testing all values" do
|
37
|
+
before do
|
38
|
+
@confine = Puppet::Provider::Confine.new(%w{a b c})
|
39
|
+
@confine.label = "foo"
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should be invalid if any values fail" do
|
43
|
+
@confine.stubs(:pass?).returns true
|
44
|
+
@confine.expects(:pass?).with("b").returns false
|
45
|
+
@confine.should_not be_valid
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should be valid if all values pass" do
|
49
|
+
@confine.stubs(:pass?).returns true
|
50
|
+
@confine.should be_valid
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should short-cut at the first failing value" do
|
54
|
+
@confine.expects(:pass?).once.returns false
|
55
|
+
@confine.valid?
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should log failing confines with the label and message" do
|
59
|
+
@confine.stubs(:pass?).returns false
|
60
|
+
@confine.expects(:message).returns "My message"
|
61
|
+
@confine.expects(:label).returns "Mylabel"
|
62
|
+
Puppet.expects(:debug).with("Mylabel: My message")
|
63
|
+
@confine.valid?
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe "when testing the result of the values" do
|
68
|
+
before { @confine = Puppet::Provider::Confine.new(%w{a b c d}) }
|
69
|
+
|
70
|
+
it "should return an array with the result of the test for each value" do
|
71
|
+
@confine.stubs(:pass?).returns true
|
72
|
+
@confine.expects(:pass?).with("b").returns false
|
73
|
+
@confine.expects(:pass?).with("d").returns false
|
74
|
+
|
75
|
+
@confine.result.should == [true, false, true, false]
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
4
|
+
|
5
|
+
require 'puppet/provider/confine/exists'
|
6
|
+
|
7
|
+
describe Puppet::Provider::Confine::Exists do
|
8
|
+
before do
|
9
|
+
@confine = Puppet::Provider::Confine::Exists.new("/my/file")
|
10
|
+
@confine.label = "eh"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should be named :exists" do
|
14
|
+
Puppet::Provider::Confine::Exists.name.should == :exists
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should use the 'pass?' method to test validity" do
|
18
|
+
@confine.expects(:pass?).with("/my/file")
|
19
|
+
@confine.valid?
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should return false if the value is false" do
|
23
|
+
@confine.pass?(false).should be_false
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should return false if the value does not point to a file" do
|
27
|
+
FileTest.expects(:exist?).with("/my/file").returns false
|
28
|
+
@confine.pass?("/my/file").should be_false
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return true if the value points to a file" do
|
32
|
+
FileTest.expects(:exist?).with("/my/file").returns true
|
33
|
+
@confine.pass?("/my/file").should be_true
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should produce a message saying that a file is missing" do
|
37
|
+
@confine.message("/my/file").should be_include("does not exist")
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "and the confine is for binaries" do
|
41
|
+
before { @confine.stubs(:for_binary).returns true }
|
42
|
+
it "should use its 'binary' method to look up the full path of the file" do
|
43
|
+
@confine.expects(:binary).returns nil
|
44
|
+
@confine.pass?("/my/file")
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should return false if no binary can be found" do
|
48
|
+
@confine.expects(:binary).with("/my/file").returns nil
|
49
|
+
@confine.pass?("/my/file").should be_false
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should return true if the binary can be found and the file exists" do
|
53
|
+
@confine.expects(:binary).with("/my/file").returns "/my/file"
|
54
|
+
FileTest.expects(:exist?).with("/my/file").returns true
|
55
|
+
@confine.pass?("/my/file").should be_true
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should return false if the binary can be found but the file does not exist" do
|
59
|
+
@confine.expects(:binary).with("/my/file").returns "/my/file"
|
60
|
+
FileTest.expects(:exist?).with("/my/file").returns true
|
61
|
+
@confine.pass?("/my/file").should be_true
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should produce a summary containing all missing files" do
|
66
|
+
FileTest.stubs(:exist?).returns true
|
67
|
+
FileTest.expects(:exist?).with("/two").returns false
|
68
|
+
FileTest.expects(:exist?).with("/four").returns false
|
69
|
+
|
70
|
+
confine = Puppet::Provider::Confine::Exists.new %w{/one /two /three /four}
|
71
|
+
confine.summary.should == %w{/two /four}
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should summarize multiple instances by returning a flattened array of their summaries" do
|
75
|
+
c1 = mock '1', :summary => %w{one}
|
76
|
+
c2 = mock '2', :summary => %w{two}
|
77
|
+
c3 = mock '3', :summary => %w{three}
|
78
|
+
|
79
|
+
Puppet::Provider::Confine::Exists.summarize([c1, c2, c3]).should == %w{one two three}
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
4
|
+
|
5
|
+
require 'puppet/provider/confine/false'
|
6
|
+
|
7
|
+
describe Puppet::Provider::Confine::False do
|
8
|
+
it "should be named :false" do
|
9
|
+
Puppet::Provider::Confine::False.name.should == :false
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should require a value" do
|
13
|
+
lambda { Puppet::Provider::Confine.new() }.should raise_error(ArgumentError)
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "when testing values" do
|
17
|
+
before { @confine = Puppet::Provider::Confine::False.new("foo") }
|
18
|
+
|
19
|
+
it "should use the 'pass?' method to test validity" do
|
20
|
+
@confine = Puppet::Provider::Confine::False.new("foo")
|
21
|
+
@confine.label = "eh"
|
22
|
+
@confine.expects(:pass?).with("foo")
|
23
|
+
@confine.valid?
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should return true if the value is false" do
|
27
|
+
@confine.pass?(false).should be_true
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should return false if the value is not false" do
|
31
|
+
@confine.pass?("else").should be_false
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should produce a message that a value is true" do
|
35
|
+
@confine = Puppet::Provider::Confine::False.new("foo")
|
36
|
+
@confine.message("eh").should be_include("true")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should be able to produce a summary with the number of incorrectly true values" do
|
41
|
+
confine = Puppet::Provider::Confine::False.new %w{one two three four}
|
42
|
+
confine.expects(:pass?).times(4).returns(true).returns(false).returns(true).returns(false)
|
43
|
+
confine.summary.should == 2
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should summarize multiple instances by summing their summaries" do
|
47
|
+
c1 = mock '1', :summary => 1
|
48
|
+
c2 = mock '2', :summary => 2
|
49
|
+
c3 = mock '3', :summary => 3
|
50
|
+
|
51
|
+
Puppet::Provider::Confine::False.summarize([c1, c2, c3]).should == 6
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
4
|
+
|
5
|
+
require 'puppet/provider/confine/feature'
|
6
|
+
|
7
|
+
describe Puppet::Provider::Confine::Feature do
|
8
|
+
it "should be named :feature" do
|
9
|
+
Puppet::Provider::Confine::Feature.name.should == :feature
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should require a value" do
|
13
|
+
lambda { Puppet::Provider::Confine::Feature.new() }.should raise_error(ArgumentError)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should always convert values to an array" do
|
17
|
+
Puppet::Provider::Confine::Feature.new("/some/file").values.should be_instance_of(Array)
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "when testing values" do
|
21
|
+
before do
|
22
|
+
@features = mock 'features'
|
23
|
+
Puppet.stubs(:features).returns @features
|
24
|
+
@confine = Puppet::Provider::Confine::Feature.new("myfeature")
|
25
|
+
@confine.label = "eh"
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should use the Puppet features instance to test validity" do
|
29
|
+
@features.expects(:myfeature?)
|
30
|
+
@confine.valid?
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should return true if the feature is present" do
|
34
|
+
@features.expects(:myfeature?).returns true
|
35
|
+
@confine.pass?("myfeature").should be_true
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should return false if the value is false" do
|
39
|
+
@features.expects(:myfeature?).returns false
|
40
|
+
@confine.pass?("myfeature").should be_false
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should log that a feature is missing" do
|
44
|
+
@confine.message("myfeat").should be_include("missing")
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should summarize multiple instances by returning a flattened array of all missing features" do
|
49
|
+
confines = []
|
50
|
+
confines << Puppet::Provider::Confine::Feature.new(%w{one two})
|
51
|
+
confines << Puppet::Provider::Confine::Feature.new(%w{two})
|
52
|
+
confines << Puppet::Provider::Confine::Feature.new(%w{three four})
|
53
|
+
|
54
|
+
features = mock 'feature'
|
55
|
+
features.stub_everything
|
56
|
+
Puppet.stubs(:features).returns features
|
57
|
+
|
58
|
+
Puppet::Provider::Confine::Feature.summarize(confines).sort.should == %w{one two three four}.sort
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
4
|
+
|
5
|
+
require 'puppet/provider/confine/true'
|
6
|
+
|
7
|
+
describe Puppet::Provider::Confine::True do
|
8
|
+
it "should be named :true" do
|
9
|
+
Puppet::Provider::Confine::True.name.should == :true
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should require a value" do
|
13
|
+
lambda { Puppet::Provider::Confine::True.new() }.should raise_error(ArgumentError)
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "when testing values" do
|
17
|
+
before do
|
18
|
+
@confine = Puppet::Provider::Confine::True.new("foo")
|
19
|
+
@confine.label = "eh"
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should use the 'pass?' method to test validity" do
|
23
|
+
@confine.expects(:pass?).with("foo")
|
24
|
+
@confine.valid?
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should return true if the value is not false" do
|
28
|
+
@confine.pass?("else").should be_true
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return false if the value is false" do
|
32
|
+
@confine.pass?(nil).should be_false
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should produce the message that a value is false" do
|
36
|
+
@confine.message("eh").should be_include("false")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should produce the number of false values when asked for a summary" do
|
41
|
+
@confine = Puppet::Provider::Confine::True.new %w{one two three four}
|
42
|
+
@confine.expects(:pass?).times(4).returns(true).returns(false).returns(true).returns(false)
|
43
|
+
@confine.summary.should == 2
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should summarize multiple instances by summing their summaries" do
|
47
|
+
c1 = mock '1', :summary => 1
|
48
|
+
c2 = mock '2', :summary => 2
|
49
|
+
c3 = mock '3', :summary => 3
|
50
|
+
|
51
|
+
Puppet::Provider::Confine::True.summarize([c1, c2, c3]).should == 6
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,107 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
4
|
+
|
5
|
+
require 'puppet/provider/confine/variable'
|
6
|
+
|
7
|
+
describe Puppet::Provider::Confine::Variable do
|
8
|
+
it "should be named :variable" do
|
9
|
+
Puppet::Provider::Confine::Variable.name.should == :variable
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should require a value" do
|
13
|
+
lambda { Puppet::Provider::Confine::Variable.new() }.should raise_error(ArgumentError)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should always convert values to an array" do
|
17
|
+
Puppet::Provider::Confine::Variable.new("/some/file").values.should be_instance_of(Array)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should have an accessor for its name" do
|
21
|
+
Puppet::Provider::Confine::Variable.new(:bar).should respond_to(:name)
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "when testing values" do
|
25
|
+
before do
|
26
|
+
@confine = Puppet::Provider::Confine::Variable.new("foo")
|
27
|
+
@confine.name = :myvar
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should use settings if the variable name is a valid setting" do
|
31
|
+
Puppet.settings.expects(:valid?).with(:myvar).returns true
|
32
|
+
Puppet.settings.expects(:value).with(:myvar).returns "foo"
|
33
|
+
@confine.valid?
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should use Facter if the variable name is not a valid setting" do
|
37
|
+
Puppet.settings.expects(:valid?).with(:myvar).returns false
|
38
|
+
Facter.expects(:value).with(:myvar).returns "foo"
|
39
|
+
@confine.valid?
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should be valid if the value matches the facter value" do
|
43
|
+
@confine.expects(:test_value).returns "foo"
|
44
|
+
|
45
|
+
@confine.should be_valid
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should return false if the value does not match the facter value" do
|
49
|
+
@confine.expects(:test_value).returns "fee"
|
50
|
+
|
51
|
+
@confine.should_not be_valid
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should be case insensitive" do
|
55
|
+
@confine.expects(:test_value).returns "FOO"
|
56
|
+
|
57
|
+
@confine.should be_valid
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should not care whether the value is a string or symbol" do
|
61
|
+
@confine.expects(:test_value).returns "FOO"
|
62
|
+
|
63
|
+
@confine.should be_valid
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should produce a message that the fact value is not correct" do
|
67
|
+
@confine = Puppet::Provider::Confine::Variable.new(%w{bar bee})
|
68
|
+
@confine.name = "eh"
|
69
|
+
message = @confine.message("value")
|
70
|
+
message.should be_include("facter")
|
71
|
+
message.should be_include("bar,bee")
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should be valid if the test value matches any of the provided values" do
|
75
|
+
@confine = Puppet::Provider::Confine::Variable.new(%w{bar bee})
|
76
|
+
@confine.expects(:test_value).returns "bee"
|
77
|
+
@confine.should be_valid
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe "when summarizing multiple instances" do
|
82
|
+
it "should return a hash of failing variables and their values" do
|
83
|
+
c1 = Puppet::Provider::Confine::Variable.new("one")
|
84
|
+
c1.name = "uno"
|
85
|
+
c1.expects(:valid?).returns false
|
86
|
+
c2 = Puppet::Provider::Confine::Variable.new("two")
|
87
|
+
c2.name = "dos"
|
88
|
+
c2.expects(:valid?).returns true
|
89
|
+
c3 = Puppet::Provider::Confine::Variable.new("three")
|
90
|
+
c3.name = "tres"
|
91
|
+
c3.expects(:valid?).returns false
|
92
|
+
|
93
|
+
Puppet::Provider::Confine::Variable.summarize([c1, c2, c3]).should == {"uno" => %w{one}, "tres" => %w{three}}
|
94
|
+
end
|
95
|
+
|
96
|
+
it "should combine the values of multiple confines with the same fact" do
|
97
|
+
c1 = Puppet::Provider::Confine::Variable.new("one")
|
98
|
+
c1.name = "uno"
|
99
|
+
c1.expects(:valid?).returns false
|
100
|
+
c2 = Puppet::Provider::Confine::Variable.new("two")
|
101
|
+
c2.name = "uno"
|
102
|
+
c2.expects(:valid?).returns false
|
103
|
+
|
104
|
+
Puppet::Provider::Confine::Variable.summarize([c1, c2]).should == {"uno" => %w{one two}}
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
@@ -0,0 +1,134 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
4
|
+
|
5
|
+
require 'puppet/provider/confine_collection'
|
6
|
+
|
7
|
+
describe Puppet::Provider::ConfineCollection do
|
8
|
+
it "should be able to add confines" do
|
9
|
+
Puppet::Provider::ConfineCollection.new("label").should respond_to(:confine)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should require a label at initialization" do
|
13
|
+
lambda { Puppet::Provider::ConfineCollection.new }.should raise_error(ArgumentError)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should make its label available" do
|
17
|
+
Puppet::Provider::ConfineCollection.new("mylabel").label.should == "mylabel"
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "when creating confine instances" do
|
21
|
+
it "should create an instance of the named test with the provided values" do
|
22
|
+
test_class = mock 'test_class'
|
23
|
+
test_class.expects(:new).with(%w{my values}).returns(stub('confine', :label= => nil))
|
24
|
+
Puppet::Provider::Confine.expects(:test).with(:foo).returns test_class
|
25
|
+
|
26
|
+
Puppet::Provider::ConfineCollection.new("label").confine :foo => %w{my values}
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should copy its label to the confine instance" do
|
30
|
+
confine = mock 'confine'
|
31
|
+
test_class = mock 'test_class'
|
32
|
+
test_class.expects(:new).returns confine
|
33
|
+
Puppet::Provider::Confine.expects(:test).returns test_class
|
34
|
+
|
35
|
+
confine.expects(:label=).with("label")
|
36
|
+
|
37
|
+
Puppet::Provider::ConfineCollection.new("label").confine :foo => %w{my values}
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "and the test cannot be found" do
|
41
|
+
it "should create a Facter test with the provided values and set the name to the test name" do
|
42
|
+
confine = Puppet::Provider::Confine.test(:variable).new(%w{my values})
|
43
|
+
confine.expects(:name=).with(:foo)
|
44
|
+
confine.class.expects(:new).with(%w{my values}).returns confine
|
45
|
+
Puppet::Provider::ConfineCollection.new("label").confine(:foo => %w{my values})
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "and the 'for_binary' option was provided" do
|
50
|
+
it "should mark the test as a binary confine" do
|
51
|
+
confine = Puppet::Provider::Confine.test(:exists).new(:bar)
|
52
|
+
confine.expects(:for_binary=).with true
|
53
|
+
Puppet::Provider::Confine.test(:exists).expects(:new).with(:bar).returns confine
|
54
|
+
Puppet::Provider::ConfineCollection.new("label").confine :exists => :bar, :for_binary => true
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should be valid if no confines are present" do
|
60
|
+
Puppet::Provider::ConfineCollection.new("label").should be_valid
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should be valid if all confines pass" do
|
64
|
+
c1 = stub 'c1', :valid? => true, :label= => nil
|
65
|
+
c2 = stub 'c2', :valid? => true, :label= => nil
|
66
|
+
|
67
|
+
Puppet::Provider::Confine.test(:true).expects(:new).returns(c1)
|
68
|
+
Puppet::Provider::Confine.test(:false).expects(:new).returns(c2)
|
69
|
+
|
70
|
+
confiner = Puppet::Provider::ConfineCollection.new("label")
|
71
|
+
confiner.confine :true => :bar, :false => :bee
|
72
|
+
|
73
|
+
confiner.should be_valid
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should not be valid if any confines fail" do
|
77
|
+
c1 = stub 'c1', :valid? => true, :label= => nil
|
78
|
+
c2 = stub 'c2', :valid? => false, :label= => nil
|
79
|
+
|
80
|
+
Puppet::Provider::Confine.test(:true).expects(:new).returns(c1)
|
81
|
+
Puppet::Provider::Confine.test(:false).expects(:new).returns(c2)
|
82
|
+
|
83
|
+
confiner = Puppet::Provider::ConfineCollection.new("label")
|
84
|
+
confiner.confine :true => :bar, :false => :bee
|
85
|
+
|
86
|
+
confiner.should_not be_valid
|
87
|
+
end
|
88
|
+
|
89
|
+
describe "when providing a summary" do
|
90
|
+
before do
|
91
|
+
@confiner = Puppet::Provider::ConfineCollection.new("label")
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should return a hash" do
|
95
|
+
@confiner.summary.should be_instance_of(Hash)
|
96
|
+
end
|
97
|
+
|
98
|
+
it "should return an empty hash if the confiner is valid" do
|
99
|
+
@confiner.summary.should == {}
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should add each test type's summary to the hash" do
|
103
|
+
@confiner.confine :true => :bar, :false => :bee
|
104
|
+
Puppet::Provider::Confine.test(:true).expects(:summarize).returns :tsumm
|
105
|
+
Puppet::Provider::Confine.test(:false).expects(:summarize).returns :fsumm
|
106
|
+
|
107
|
+
@confiner.summary.should == {:true => :tsumm, :false => :fsumm}
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should not include tests that return 0" do
|
111
|
+
@confiner.confine :true => :bar, :false => :bee
|
112
|
+
Puppet::Provider::Confine.test(:true).expects(:summarize).returns 0
|
113
|
+
Puppet::Provider::Confine.test(:false).expects(:summarize).returns :fsumm
|
114
|
+
|
115
|
+
@confiner.summary.should == {:false => :fsumm}
|
116
|
+
end
|
117
|
+
|
118
|
+
it "should not include tests that return empty arrays" do
|
119
|
+
@confiner.confine :true => :bar, :false => :bee
|
120
|
+
Puppet::Provider::Confine.test(:true).expects(:summarize).returns []
|
121
|
+
Puppet::Provider::Confine.test(:false).expects(:summarize).returns :fsumm
|
122
|
+
|
123
|
+
@confiner.summary.should == {:false => :fsumm}
|
124
|
+
end
|
125
|
+
|
126
|
+
it "should not include tests that return empty hashes" do
|
127
|
+
@confiner.confine :true => :bar, :false => :bee
|
128
|
+
Puppet::Provider::Confine.test(:true).expects(:summarize).returns({})
|
129
|
+
Puppet::Provider::Confine.test(:false).expects(:summarize).returns :fsumm
|
130
|
+
|
131
|
+
@confiner.summary.should == {:false => :fsumm}
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|