puppet 0.24.1 → 0.24.2
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 +94 -0
- data/Rakefile +0 -4
- data/bin/puppet +18 -10
- data/bin/puppetd +1 -1
- data/bin/puppetdoc +14 -4
- data/bin/puppetmasterd +1 -1
- data/bin/puppetrun +3 -8
- data/bin/ralsh +12 -11
- data/conf/freebsd/puppetd +1 -1
- data/conf/freebsd/puppetmasterd +1 -1
- data/conf/gentoo/puppet/puppet.conf +29 -0
- data/conf/namespaceauth.conf +20 -0
- data/conf/redhat/puppet.spec +4 -1
- data/conf/solaris/smf/puppetd.xml +1 -1
- data/conf/solaris/smf/puppetmasterd.xml +1 -1
- data/conf/suse/puppet.spec +10 -8
- data/examples/root/etc/puppet/{puppetmasterd.conf → puppet.conf} +6 -3
- data/ext/logcheck/puppet +7 -0
- data/ext/puppet-test +28 -5
- data/lib/puppet.rb +2 -1
- data/lib/puppet/defaults.rb +12 -5
- data/lib/puppet/dsl.rb +43 -45
- data/lib/puppet/external/{gratr/rdot.rb → dot.rb} +0 -0
- data/lib/puppet/external/nagios.rb +50 -0
- data/lib/puppet/external/nagios/base.rb +421 -0
- data/lib/puppet/external/nagios/parser.rb +816 -0
- data/lib/puppet/file_serving/file_base.rb +16 -3
- data/lib/puppet/file_serving/metadata.rb +29 -11
- data/lib/puppet/indirector/terminus.rb +1 -0
- data/lib/puppet/metatype/closure.rb +4 -0
- data/lib/puppet/metatype/evaluation.rb +2 -17
- data/lib/puppet/metatype/metaparams.rb +1 -1
- data/lib/puppet/network.rb +3 -0
- data/lib/puppet/network/client.rb +4 -5
- data/lib/puppet/network/client/master.rb +10 -7
- data/lib/puppet/network/handler/fileserver.rb +22 -45
- data/lib/puppet/network/http_pool.rb +3 -0
- data/lib/puppet/network/http_server/mongrel.rb +7 -1
- data/lib/puppet/network/http_server/webrick.rb +4 -3
- data/lib/puppet/network/xmlrpc/client.rb +12 -1
- data/lib/puppet/node/catalog.rb +51 -40
- data/lib/puppet/parser/ast.rb +27 -49
- data/lib/puppet/parser/ast/astarray.rb +5 -24
- data/lib/puppet/parser/ast/caseopt.rb +4 -4
- data/lib/puppet/parser/ast/casestatement.rb +4 -5
- data/lib/puppet/parser/ast/collection.rb +3 -5
- data/lib/puppet/parser/ast/collexpr.rb +3 -5
- data/lib/puppet/parser/ast/definition.rb +148 -159
- data/lib/puppet/parser/ast/else.rb +2 -3
- data/lib/puppet/parser/ast/function.rb +3 -10
- data/lib/puppet/parser/ast/hostclass.rb +66 -59
- data/lib/puppet/parser/ast/ifstatement.rb +4 -5
- data/lib/puppet/parser/ast/leaf.rb +6 -6
- data/lib/puppet/parser/ast/node.rb +26 -58
- data/lib/puppet/parser/ast/resource.rb +5 -7
- data/lib/puppet/parser/ast/resource_defaults.rb +2 -4
- data/lib/puppet/parser/ast/resource_override.rb +4 -6
- data/lib/puppet/parser/ast/resource_reference.rb +2 -4
- data/lib/puppet/parser/ast/resourceparam.rb +2 -4
- data/lib/puppet/parser/ast/selector.rb +5 -6
- data/lib/puppet/parser/ast/tag.rb +2 -4
- data/lib/puppet/parser/ast/vardef.rb +3 -4
- data/lib/puppet/parser/collector.rb +5 -5
- data/lib/puppet/parser/{compile.rb → compiler.rb} +69 -107
- data/lib/puppet/parser/functions.rb +3 -3
- data/lib/puppet/parser/interpreter.rb +32 -23
- data/lib/puppet/parser/lexer.rb +391 -282
- data/lib/puppet/parser/parser.rb +5 -4
- data/lib/puppet/parser/parser_support.rb +3 -6
- data/lib/puppet/parser/resource.rb +24 -36
- data/lib/puppet/parser/resource/param.rb +1 -1
- data/lib/puppet/parser/resource/reference.rb +7 -3
- data/lib/puppet/parser/scope.rb +12 -7
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/pgraph.rb +9 -98
- data/lib/puppet/provider/interface/redhat.rb +65 -65
- data/lib/puppet/provider/mount/parsed.rb +1 -1
- data/lib/puppet/provider/naginator.rb +55 -0
- data/lib/puppet/provider/nameservice/directoryservice.rb +6 -7
- data/lib/puppet/provider/package/fink.rb +0 -2
- data/lib/puppet/provider/package/gem.rb +9 -5
- data/lib/puppet/provider/package/openbsd.rb +1 -1
- data/lib/puppet/provider/package/pkgdmg.rb +3 -8
- data/lib/puppet/provider/package/portage.rb +4 -4
- data/lib/puppet/provider/package/yumhelper.py +8 -6
- data/lib/puppet/provider/parsedfile.rb +7 -1
- data/lib/puppet/provider/service/debian.rb +2 -0
- data/lib/puppet/provider/service/gentoo.rb +4 -0
- data/lib/puppet/provider/service/init.rb +1 -1
- data/lib/puppet/provider/sshkey/parsed.rb +2 -0
- data/lib/puppet/provider/user/useradd.rb +1 -1
- data/lib/puppet/rails.rb +4 -0
- data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +17 -0
- data/lib/puppet/rails/fact_value.rb +4 -0
- data/lib/puppet/rails/host.rb +1 -2
- data/lib/puppet/rails/param_value.rb +4 -0
- data/lib/puppet/rails/resource_tag.rb +4 -0
- data/lib/puppet/rails/source_file.rb +4 -1
- data/lib/puppet/relationship.rb +5 -1
- data/lib/puppet/reports/tagmail.rb +12 -1
- data/lib/puppet/resource_reference.rb +1 -1
- data/lib/puppet/simple_graph.rb +78 -11
- data/lib/puppet/sslcertificates.rb +1 -1
- data/lib/puppet/sslcertificates/ca.rb +3 -3
- data/lib/puppet/transaction.rb +7 -4
- data/lib/puppet/transportable.rb +1 -1
- data/lib/puppet/type.rb +3 -10
- data/lib/puppet/type/cron.rb +18 -0
- data/lib/puppet/type/exec.rb +18 -12
- data/lib/puppet/type/{pfile.rb → file.rb} +66 -84
- data/lib/puppet/type/file/checksum.rb +271 -0
- data/lib/puppet/type/{pfile → file}/content.rb +10 -15
- data/lib/puppet/type/{pfile → file}/ensure.rb +15 -8
- data/lib/puppet/type/{pfile → file}/group.rb +0 -0
- data/lib/puppet/type/{pfile → file}/mode.rb +0 -0
- data/lib/puppet/type/{pfile → file}/owner.rb +0 -0
- data/lib/puppet/type/{pfile → file}/source.rb +34 -48
- data/lib/puppet/type/{pfile → file}/target.rb +0 -0
- data/lib/puppet/type/{pfile → file}/type.rb +0 -0
- data/lib/puppet/type/{pfilebucket.rb → filebucket.rb} +0 -0
- data/lib/puppet/type/host.rb +13 -0
- data/lib/puppet/type/mailalias.rb +1 -1
- data/lib/puppet/type/nagios_command.rb +3 -0
- data/lib/puppet/type/nagios_contact.rb +3 -0
- data/lib/puppet/type/nagios_contactgroup.rb +3 -0
- data/lib/puppet/type/nagios_host.rb +3 -0
- data/lib/puppet/type/nagios_hostextinfo.rb +3 -0
- data/lib/puppet/type/nagios_hostgroup.rb +3 -0
- data/lib/puppet/type/nagios_hostgroupescalation.rb +3 -0
- data/lib/puppet/type/nagios_service.rb +3 -0
- data/lib/puppet/type/nagios_servicedependency.rb +3 -0
- data/lib/puppet/type/nagios_serviceescalation.rb +3 -0
- data/lib/puppet/type/nagios_serviceextinfo.rb +3 -0
- data/lib/puppet/type/nagios_timeperiod.rb +3 -0
- data/lib/puppet/type/package.rb +4 -12
- data/lib/puppet/type/service.rb +9 -0
- data/lib/puppet/type/sshkey.rb +3 -3
- data/lib/puppet/util/autoload.rb +5 -5
- data/lib/puppet/util/checksums.rb +51 -13
- data/lib/puppet/util/constant_inflector.rb +14 -0
- data/lib/puppet/util/filetype.rb +1 -1
- data/lib/puppet/util/graph.rb +3 -9
- data/lib/puppet/util/nagios_maker.rb +57 -0
- data/lib/puppet/util/settings.rb +19 -16
- data/lib/puppet/util/tagging.rb +39 -0
- data/test/executables/puppetbin.rb +17 -0
- data/test/language/ast.rb +8 -58
- data/test/language/ast/casestatement.rb +3 -3
- data/test/language/ast/resource.rb +6 -7
- data/test/language/ast/resource_reference.rb +12 -12
- data/test/language/ast/selector.rb +2 -2
- data/test/language/ast/variable.rb +2 -2
- data/test/language/functions.rb +24 -24
- data/test/language/parser.rb +20 -8
- data/test/language/resource.rb +5 -42
- data/test/language/scope.rb +21 -37
- data/test/language/snippets.rb +7 -0
- data/test/lib/puppettest.rb +28 -14
- data/test/lib/puppettest/parsertesting.rb +10 -10
- data/test/lib/puppettest/support/resources.rb +1 -1
- data/test/network/client/master.rb +10 -0
- data/test/network/handler/fileserver.rb +51 -49
- data/test/network/server/webrick.rb +1 -1
- data/test/other/dsl.rb +3 -4
- data/test/other/transactions.rb +6 -4
- data/test/rails/ast.rb +2 -2
- data/test/rails/configuration.rb +1 -1
- data/test/rails/railsparameter.rb +2 -0
- data/test/rails/railsresource.rb +1 -0
- data/test/ral/manager/type.rb +4 -4
- data/test/ral/providers/cron/crontab.rb +3 -1
- data/test/ral/providers/package.rb +1 -1
- data/test/ral/{types → type}/basic.rb +2 -2
- data/test/ral/{types → type}/cron.rb +0 -0
- data/test/ral/{types → type}/exec.rb +42 -2
- data/test/ral/{types → type}/file.rb +34 -79
- data/test/ral/{types → type}/file/target.rb +0 -0
- data/test/ral/{types → type}/filebucket.rb +0 -0
- data/test/ral/{types → type}/fileignoresource.rb +0 -0
- data/test/ral/{types → type}/filesources.rb +8 -27
- data/test/ral/{types → type}/group.rb +0 -0
- data/test/ral/{types → type}/host.rb +16 -0
- data/test/ral/{types → type}/mailalias.rb +0 -0
- data/test/ral/{types → type}/parameter.rb +0 -0
- data/test/ral/{types → type}/port.rb +0 -0
- data/test/ral/{types → type}/property.rb +0 -0
- data/test/ral/{types → type}/resources.rb +0 -0
- data/test/ral/{types → type}/service.rb +0 -0
- data/test/ral/{types → type}/sshkey.rb +0 -0
- data/test/ral/{types → type}/tidy.rb +1 -0
- data/test/ral/{types → type}/user.rb +0 -0
- data/test/ral/{types → type}/yumrepo.rb +0 -0
- data/test/ral/{types → type}/zone.rb +0 -0
- data/test/util/autoload.rb +24 -5
- metadata +60 -107
- data/conf/gentoo/puppet/puppetca.conf +0 -29
- data/conf/gentoo/puppet/puppetd.conf +0 -29
- data/conf/gentoo/puppet/puppetmasterd.conf +0 -29
- data/examples/root/etc/puppet/puppetd.conf +0 -4
- data/lib/puppet/external/gratr.rb +0 -33
- data/lib/puppet/external/gratr/adjacency_graph.rb +0 -257
- data/lib/puppet/external/gratr/base.rb +0 -34
- data/lib/puppet/external/gratr/biconnected.rb +0 -116
- data/lib/puppet/external/gratr/chinese_postman.rb +0 -123
- data/lib/puppet/external/gratr/common.rb +0 -73
- data/lib/puppet/external/gratr/comparability.rb +0 -92
- data/lib/puppet/external/gratr/digraph.rb +0 -116
- data/lib/puppet/external/gratr/digraph_distance.rb +0 -185
- data/lib/puppet/external/gratr/dot.rb +0 -90
- data/lib/puppet/external/gratr/edge.rb +0 -145
- data/lib/puppet/external/gratr/graph.rb +0 -303
- data/lib/puppet/external/gratr/graph_api.rb +0 -83
- data/lib/puppet/external/gratr/import.rb +0 -44
- data/lib/puppet/external/gratr/labels.rb +0 -90
- data/lib/puppet/external/gratr/maximum_flow.rb +0 -64
- data/lib/puppet/external/gratr/search.rb +0 -409
- data/lib/puppet/external/gratr/strong_components.rb +0 -127
- data/lib/puppet/external/gratr/undirected_graph.rb +0 -153
- data/lib/puppet/rails/external/tagging/acts_as_taggable.rb +0 -62
- data/lib/puppet/rails/external/tagging/init.rb +0 -5
- data/lib/puppet/rails/external/tagging/tag.rb +0 -50
- data/lib/puppet/rails/external/tagging/tagging.rb +0 -12
- data/lib/puppet/rails/puppet_class.rb +0 -6
- data/lib/puppet/reference/node_source.rb +0 -9
- data/lib/puppet/reference/report.rb +0 -21
- data/lib/puppet/type/pfile/checksum.rb +0 -326
- data/test/language/ast/definition.rb +0 -166
- data/test/language/ast/hostclass.rb +0 -184
- data/test/language/compile.rb +0 -569
- data/test/language/lexer.rb +0 -276
- data/test/lib/mocha.rb +0 -19
- data/test/lib/mocha/any_instance_method.rb +0 -35
- data/test/lib/mocha/auto_verify.rb +0 -113
- data/test/lib/mocha/central.rb +0 -35
- data/test/lib/mocha/class_method.rb +0 -62
- data/test/lib/mocha/deprecation.rb +0 -22
- data/test/lib/mocha/exception_raiser.rb +0 -17
- data/test/lib/mocha/expectation.rb +0 -378
- data/test/lib/mocha/expectation_error.rb +0 -6
- data/test/lib/mocha/infinite_range.rb +0 -25
- data/test/lib/mocha/inspect.rb +0 -39
- data/test/lib/mocha/instance_method.rb +0 -8
- data/test/lib/mocha/is_a.rb +0 -9
- data/test/lib/mocha/metaclass.rb +0 -7
- data/test/lib/mocha/missing_expectation.rb +0 -27
- data/test/lib/mocha/mock.rb +0 -207
- data/test/lib/mocha/multiple_yields.rb +0 -20
- data/test/lib/mocha/no_yields.rb +0 -11
- data/test/lib/mocha/object.rb +0 -110
- data/test/lib/mocha/parameter_matchers.rb +0 -9
- data/test/lib/mocha/parameter_matchers/all_of.rb +0 -39
- data/test/lib/mocha/parameter_matchers/any_of.rb +0 -44
- data/test/lib/mocha/parameter_matchers/anything.rb +0 -30
- data/test/lib/mocha/parameter_matchers/has_entry.rb +0 -39
- data/test/lib/mocha/parameter_matchers/has_key.rb +0 -39
- data/test/lib/mocha/parameter_matchers/has_value.rb +0 -39
- data/test/lib/mocha/parameter_matchers/includes.rb +0 -37
- data/test/lib/mocha/pretty_parameters.rb +0 -28
- data/test/lib/mocha/return_values.rb +0 -31
- data/test/lib/mocha/setup_and_teardown.rb +0 -23
- data/test/lib/mocha/single_return_value.rb +0 -24
- data/test/lib/mocha/single_yield.rb +0 -18
- data/test/lib/mocha/standalone.rb +0 -32
- data/test/lib/mocha/stub.rb +0 -18
- data/test/lib/mocha/test_case_adapter.rb +0 -49
- data/test/lib/mocha/yield_parameters.rb +0 -31
@@ -1,9 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
# Used as parameters for Expectation#with to restrict the parameter values which will match the expectation.
|
4
|
-
module ParameterMatchers; end
|
5
|
-
|
6
|
-
end
|
7
|
-
|
8
|
-
|
9
|
-
Dir[File.expand_path(File.join(File.dirname(__FILE__), 'parameter_matchers', "*.rb"))].each { |lib| require lib }
|
@@ -1,39 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
module ParameterMatchers
|
4
|
-
|
5
|
-
# :call-seq: all_of -> parameter_matcher
|
6
|
-
#
|
7
|
-
# Matches if all +matchers+ match.
|
8
|
-
# object = mock()
|
9
|
-
# object.expects(:method_1).with(all_of(includes(1), includes(3)))
|
10
|
-
# object.method_1([1, 3])
|
11
|
-
# # no error raised
|
12
|
-
#
|
13
|
-
# object = mock()
|
14
|
-
# object.expects(:method_1).with(all_of(includes(1), includes(3)))
|
15
|
-
# object.method_1([1, 2])
|
16
|
-
# # error raised, because method_1 was not called with object including 1 and 3
|
17
|
-
def all_of(*matchers)
|
18
|
-
AllOf.new(*matchers)
|
19
|
-
end
|
20
|
-
|
21
|
-
class AllOf # :nodoc:
|
22
|
-
|
23
|
-
def initialize(*matchers)
|
24
|
-
@matchers = matchers
|
25
|
-
end
|
26
|
-
|
27
|
-
def ==(parameter)
|
28
|
-
@matchers.all? { |matcher| matcher == parameter }
|
29
|
-
end
|
30
|
-
|
31
|
-
def mocha_inspect
|
32
|
-
"all_of(#{@matchers.map { |matcher| matcher.mocha_inspect }.join(", ") })"
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
module ParameterMatchers
|
4
|
-
|
5
|
-
# :call-seq: any_of -> parameter_matcher
|
6
|
-
#
|
7
|
-
# Matches if any +matchers+ match.
|
8
|
-
# object = mock()
|
9
|
-
# object.expects(:method_1).with(any_of(1, 3))
|
10
|
-
# object.method_1(1)
|
11
|
-
# # no error raised
|
12
|
-
#
|
13
|
-
# object = mock()
|
14
|
-
# object.expects(:method_1).with(any_of(1, 3))
|
15
|
-
# object.method_1(3)
|
16
|
-
# # no error raised
|
17
|
-
#
|
18
|
-
# object = mock()
|
19
|
-
# object.expects(:method_1).with(any_of(1, 3))
|
20
|
-
# object.method_1(2)
|
21
|
-
# # error raised, because method_1 was not called with 1 or 3
|
22
|
-
def any_of(*matchers)
|
23
|
-
AnyOf.new(*matchers)
|
24
|
-
end
|
25
|
-
|
26
|
-
class AnyOf # :nodoc:
|
27
|
-
|
28
|
-
def initialize(*matchers)
|
29
|
-
@matchers = matchers
|
30
|
-
end
|
31
|
-
|
32
|
-
def ==(parameter)
|
33
|
-
@matchers.any? { |matcher| matcher == parameter }
|
34
|
-
end
|
35
|
-
|
36
|
-
def mocha_inspect
|
37
|
-
"any_of(#{@matchers.map { |matcher| matcher.mocha_inspect }.join(", ") })"
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
module ParameterMatchers
|
4
|
-
|
5
|
-
# :call-seq: anything -> parameter_matcher
|
6
|
-
#
|
7
|
-
# Matches any object.
|
8
|
-
# object = mock()
|
9
|
-
# object.expects(:method_1).with(anything)
|
10
|
-
# object.method_1('foo')
|
11
|
-
# # no error raised
|
12
|
-
def anything
|
13
|
-
Anything.new
|
14
|
-
end
|
15
|
-
|
16
|
-
class Anything # :nodoc:
|
17
|
-
|
18
|
-
def ==(parameter)
|
19
|
-
return true
|
20
|
-
end
|
21
|
-
|
22
|
-
def mocha_inspect
|
23
|
-
"anything"
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
module ParameterMatchers
|
4
|
-
|
5
|
-
# :call-seq: has_entry(key, value) -> parameter_matcher
|
6
|
-
#
|
7
|
-
# Matches +Hash+ containing entry with +key+ and +value+.
|
8
|
-
# object = mock()
|
9
|
-
# object.expects(:method_1).with(has_entry('key_1', 1))
|
10
|
-
# object.method_1('key_1' => 1, 'key_2' => 2)
|
11
|
-
# # no error raised
|
12
|
-
#
|
13
|
-
# object = mock()
|
14
|
-
# object.expects(:method_1).with(has_entry('key_1', 1))
|
15
|
-
# object.method_1('key_1' => 2, 'key_2' => 1)
|
16
|
-
# # error raised, because method_1 was not called with Hash containing entry: 'key_1' => 1
|
17
|
-
def has_entry(key, value)
|
18
|
-
HasEntry.new(key, value)
|
19
|
-
end
|
20
|
-
|
21
|
-
class HasEntry # :nodoc:
|
22
|
-
|
23
|
-
def initialize(key, value)
|
24
|
-
@key, @value = key, value
|
25
|
-
end
|
26
|
-
|
27
|
-
def ==(parameter)
|
28
|
-
parameter[@key] == @value
|
29
|
-
end
|
30
|
-
|
31
|
-
def mocha_inspect
|
32
|
-
"has_entry(#{@key.mocha_inspect}, #{@value.mocha_inspect})"
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
module ParameterMatchers
|
4
|
-
|
5
|
-
# :call-seq: has_key(key) -> parameter_matcher
|
6
|
-
#
|
7
|
-
# Matches +Hash+ containing +key+.
|
8
|
-
# object = mock()
|
9
|
-
# object.expects(:method_1).with(has_key('key_1'))
|
10
|
-
# object.method_1('key_1' => 1, 'key_2' => 2)
|
11
|
-
# # no error raised
|
12
|
-
#
|
13
|
-
# object = mock()
|
14
|
-
# object.expects(:method_1).with(has_key('key_1'))
|
15
|
-
# object.method_1('key_2' => 2)
|
16
|
-
# # error raised, because method_1 was not called with Hash containing key: 'key_1'
|
17
|
-
def has_key(key)
|
18
|
-
HasKey.new(key)
|
19
|
-
end
|
20
|
-
|
21
|
-
class HasKey # :nodoc:
|
22
|
-
|
23
|
-
def initialize(key)
|
24
|
-
@key = key
|
25
|
-
end
|
26
|
-
|
27
|
-
def ==(parameter)
|
28
|
-
parameter.keys.include?(@key)
|
29
|
-
end
|
30
|
-
|
31
|
-
def mocha_inspect
|
32
|
-
"has_key(#{@key.mocha_inspect})"
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
module ParameterMatchers
|
4
|
-
|
5
|
-
# :call-seq: has_value(value) -> parameter_matcher
|
6
|
-
#
|
7
|
-
# Matches +Hash+ containing +value+.
|
8
|
-
# object = mock()
|
9
|
-
# object.expects(:method_1).with(has_value(1))
|
10
|
-
# object.method_1('key_1' => 1, 'key_2' => 2)
|
11
|
-
# # no error raised
|
12
|
-
#
|
13
|
-
# object = mock()
|
14
|
-
# object.expects(:method_1).with(has_value(1))
|
15
|
-
# object.method_1('key_2' => 2)
|
16
|
-
# # error raised, because method_1 was not called with Hash containing value: 1
|
17
|
-
def has_value(value)
|
18
|
-
HasValue.new(value)
|
19
|
-
end
|
20
|
-
|
21
|
-
class HasValue # :nodoc:
|
22
|
-
|
23
|
-
def initialize(value)
|
24
|
-
@value = value
|
25
|
-
end
|
26
|
-
|
27
|
-
def ==(parameter)
|
28
|
-
parameter.values.include?(@value)
|
29
|
-
end
|
30
|
-
|
31
|
-
def mocha_inspect
|
32
|
-
"has_value(#{@value.mocha_inspect})"
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
module ParameterMatchers
|
4
|
-
|
5
|
-
# :call-seq: includes(item) -> parameter_matcher
|
6
|
-
#
|
7
|
-
# Matches any object that responds true to include?(item)
|
8
|
-
# object = mock()
|
9
|
-
# object.expects(:method_1).with(includes('foo'))
|
10
|
-
# object.method_1(['foo', 'bar'])
|
11
|
-
# # no error raised
|
12
|
-
#
|
13
|
-
# object.method_1(['baz'])
|
14
|
-
# # error raised, because ['baz'] does not include 'foo'.
|
15
|
-
def includes(item)
|
16
|
-
Includes.new(item)
|
17
|
-
end
|
18
|
-
|
19
|
-
class Includes # :nodoc:
|
20
|
-
|
21
|
-
def initialize(item)
|
22
|
-
@item = item
|
23
|
-
end
|
24
|
-
|
25
|
-
def ==(parameter)
|
26
|
-
return parameter.include?(@item)
|
27
|
-
end
|
28
|
-
|
29
|
-
def mocha_inspect
|
30
|
-
"includes(#{@item.mocha_inspect})"
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'mocha/inspect'
|
2
|
-
|
3
|
-
module Mocha
|
4
|
-
|
5
|
-
class PrettyParameters
|
6
|
-
|
7
|
-
def initialize(params)
|
8
|
-
@params = params
|
9
|
-
@params_string = params.mocha_inspect
|
10
|
-
end
|
11
|
-
|
12
|
-
def pretty
|
13
|
-
remove_outer_array_braces!
|
14
|
-
remove_outer_hash_braces!
|
15
|
-
@params_string
|
16
|
-
end
|
17
|
-
|
18
|
-
def remove_outer_array_braces!
|
19
|
-
@params_string = @params_string.gsub(/^\[|\]$/, '')
|
20
|
-
end
|
21
|
-
|
22
|
-
def remove_outer_hash_braces!
|
23
|
-
@params_string = @params_string.gsub(/^\{|\}$/, '') if @params.size == 1
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'mocha/single_return_value'
|
2
|
-
|
3
|
-
module Mocha # :nodoc:
|
4
|
-
|
5
|
-
class ReturnValues # :nodoc:
|
6
|
-
|
7
|
-
def self.build(*values)
|
8
|
-
new(*values.map { |value| SingleReturnValue.new(value) })
|
9
|
-
end
|
10
|
-
|
11
|
-
attr_accessor :values
|
12
|
-
|
13
|
-
def initialize(*values)
|
14
|
-
@values = values
|
15
|
-
end
|
16
|
-
|
17
|
-
def next
|
18
|
-
case @values.size
|
19
|
-
when 0: nil
|
20
|
-
when 1: @values.first.evaluate
|
21
|
-
else @values.shift.evaluate
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def +(other)
|
26
|
-
self.class.new(*(@values + other.values))
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'mocha/central'
|
2
|
-
|
3
|
-
module Mocha
|
4
|
-
|
5
|
-
module SetupAndTeardown
|
6
|
-
|
7
|
-
def setup_stubs
|
8
|
-
$stubba = Mocha::Central.new
|
9
|
-
end
|
10
|
-
|
11
|
-
def verify_stubs
|
12
|
-
$stubba.verify_all { yield if block_given? } if $stubba
|
13
|
-
end
|
14
|
-
|
15
|
-
def teardown_stubs
|
16
|
-
if $stubba then
|
17
|
-
$stubba.unstub_all
|
18
|
-
$stubba = nil
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'mocha/is_a'
|
2
|
-
require 'mocha/deprecation'
|
3
|
-
|
4
|
-
module Mocha # :nodoc:
|
5
|
-
|
6
|
-
class SingleReturnValue # :nodoc:
|
7
|
-
|
8
|
-
def initialize(value)
|
9
|
-
@value = value
|
10
|
-
end
|
11
|
-
|
12
|
-
def evaluate
|
13
|
-
if @value.__is_a__(Proc) then
|
14
|
-
message = 'use of Expectation#returns with instance of Proc - see Expectation#returns RDoc for alternatives'
|
15
|
-
Deprecation.warning(message)
|
16
|
-
@value.call
|
17
|
-
else
|
18
|
-
@value
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'mocha/auto_verify'
|
2
|
-
require 'mocha/parameter_matchers'
|
3
|
-
require 'mocha/setup_and_teardown'
|
4
|
-
|
5
|
-
module Mocha
|
6
|
-
|
7
|
-
module Standalone
|
8
|
-
|
9
|
-
include AutoVerify
|
10
|
-
include ParameterMatchers
|
11
|
-
include SetupAndTeardown
|
12
|
-
|
13
|
-
def mocha_setup
|
14
|
-
setup_stubs
|
15
|
-
end
|
16
|
-
|
17
|
-
def mocha_verify(&block)
|
18
|
-
verify_mocks(&block)
|
19
|
-
verify_stubs(&block)
|
20
|
-
end
|
21
|
-
|
22
|
-
def mocha_teardown
|
23
|
-
begin
|
24
|
-
teardown_mocks
|
25
|
-
ensure
|
26
|
-
teardown_stubs
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|