summaryrefslogtreecommitdiffstats
path: root/spec/unit/util/queue_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/util/queue_spec.rb')
-rwxr-xr-xspec/unit/util/queue_spec.rb134
1 files changed, 67 insertions, 67 deletions
diff --git a/spec/unit/util/queue_spec.rb b/spec/unit/util/queue_spec.rb
index c8a75550e..571bddda4 100755
--- a/spec/unit/util/queue_spec.rb
+++ b/spec/unit/util/queue_spec.rb
@@ -5,92 +5,92 @@ require 'puppet/util/queue'
require 'spec/mocks'
def make_test_client_class(n)
- c = Class.new do
- class <<self
- attr_accessor :name
- def to_s
- name
- end
- end
+ c = Class.new do
+ class <<self
+ attr_accessor :name
+ def to_s
+ name
+ end
end
- c.name = n
- c
+ end
+ c.name = n
+ c
end
mod = Puppet::Util::Queue
client_classes = { :default => make_test_client_class('Bogus::Default'), :setup => make_test_client_class('Bogus::Setup') }
describe Puppet::Util::Queue do
- before :all do
- mod.register_queue_type(client_classes[:default], :default)
- mod.register_queue_type(client_classes[:setup], :setup)
+ before :all do
+ mod.register_queue_type(client_classes[:default], :default)
+ mod.register_queue_type(client_classes[:setup], :setup)
+ end
+
+ before :each do
+ @class = Class.new do
+ extend mod
end
+ end
- before :each do
- @class = Class.new do
- extend mod
- end
+ after :all do
+ instances = mod.instance_hash(:queue_clients)
+ [:default, :setup, :bogus, :aardvark, :conflict, :test_a, :test_b].each{ |x| instances.delete(x) }
+ end
+
+ context 'when determining a type name from a class' do
+ it 'should handle a simple one-word class name' do
+ mod.queue_type_from_class(make_test_client_class('Foo')).should == :foo
+ end
+
+ it 'should handle a simple two-word class name' do
+ mod.queue_type_from_class(make_test_client_class('FooBar')).should == :foo_bar
+ end
+
+ it 'should handle a two-part class name with one terminating word' do
+ mod.queue_type_from_class(make_test_client_class('Foo::Bar')).should == :bar
end
- after :all do
- instances = mod.instance_hash(:queue_clients)
- [:default, :setup, :bogus, :aardvark, :conflict, :test_a, :test_b].each{ |x| instances.delete(x) }
+ it 'should handle a two-part class name with two terminating words' do
+ mod.queue_type_from_class(make_test_client_class('Foo::BarBah')).should == :bar_bah
end
+ end
- context 'when determining a type name from a class' do
- it 'should handle a simple one-word class name' do
- mod.queue_type_from_class(make_test_client_class('Foo')).should == :foo
- end
+ context 'when registering a queue client class' do
+ c = make_test_client_class('Foo::Bogus')
+ it 'uses the proper default name logic when type is unspecified' do
+ mod.register_queue_type(c)
+ mod.queue_type_to_class(:bogus).should == c
+ end
- it 'should handle a simple two-word class name' do
- mod.queue_type_from_class(make_test_client_class('FooBar')).should == :foo_bar
- end
+ it 'uses an explicit type name when provided' do
+ mod.register_queue_type(c, :aardvark)
+ mod.queue_type_to_class(:aardvark).should == c
+ end
- it 'should handle a two-part class name with one terminating word' do
- mod.queue_type_from_class(make_test_client_class('Foo::Bar')).should == :bar
- end
+ it 'throws an exception when type names conflict' do
+ mod.register_queue_type( make_test_client_class('Conflict') )
+ lambda { mod.register_queue_type( c, :conflict) }.should raise_error
+ end
- it 'should handle a two-part class name with two terminating words' do
- mod.queue_type_from_class(make_test_client_class('Foo::BarBah')).should == :bar_bah
- end
+ it 'handle multiple, non-conflicting registrations' do
+ a = make_test_client_class('TestA')
+ b = make_test_client_class('TestB')
+ mod.register_queue_type(a)
+ mod.register_queue_type(b)
+ mod.queue_type_to_class(:test_a).should == a
+ mod.queue_type_to_class(:test_b).should == b
end
- context 'when registering a queue client class' do
- c = make_test_client_class('Foo::Bogus')
- it 'uses the proper default name logic when type is unspecified' do
- mod.register_queue_type(c)
- mod.queue_type_to_class(:bogus).should == c
- end
-
- it 'uses an explicit type name when provided' do
- mod.register_queue_type(c, :aardvark)
- mod.queue_type_to_class(:aardvark).should == c
- end
-
- it 'throws an exception when type names conflict' do
- mod.register_queue_type( make_test_client_class('Conflict') )
- lambda { mod.register_queue_type( c, :conflict) }.should raise_error
- end
-
- it 'handle multiple, non-conflicting registrations' do
- a = make_test_client_class('TestA')
- b = make_test_client_class('TestB')
- mod.register_queue_type(a)
- mod.register_queue_type(b)
- mod.queue_type_to_class(:test_a).should == a
- mod.queue_type_to_class(:test_b).should == b
- end
-
- it 'throws an exception when type name is unknown' do
- lambda { mod.queue_type_to_class(:nope) }.should raise_error
- end
+ it 'throws an exception when type name is unknown' do
+ lambda { mod.queue_type_to_class(:nope) }.should raise_error
end
+ end
- context 'when determining client type' do
- it 'returns client class based on the :queue_type setting' do
- Puppet.settings.expects(:value).with(:queue_type).returns(:myqueue)
- Puppet::Util::Queue.expects(:queue_type_to_class).with(:myqueue).returns "eh"
- @class.client_class.should == "eh"
- end
+ context 'when determining client type' do
+ it 'returns client class based on the :queue_type setting' do
+ Puppet.settings.expects(:value).with(:queue_type).returns(:myqueue)
+ Puppet::Util::Queue.expects(:queue_type_to_class).with(:myqueue).returns "eh"
+ @class.client_class.should == "eh"
end
+ end
end