beetle 0.2.10 → 0.2.11

Sign up to get free protection for your applications and to get access to all the features.
data/beetle.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "beetle"
3
- s.version = "0.2.10"
3
+ s.version = "0.2.11"
4
4
  s.required_rubygems_version = ">= 1.3.1"
5
5
  s.authors = ["Stefan Kaes", "Pascal Friederich", "Ali Jelveh", "Sebastian Roebke"]
6
6
  s.date = Time.now.strftime('%Y-%m-%d')
data/lib/beetle/client.rb CHANGED
@@ -66,7 +66,7 @@ module Beetle
66
66
  def register_exchange(name, options={})
67
67
  name = name.to_s
68
68
  raise ConfigurationError.new("exchange #{name} already configured") if exchanges.include?(name)
69
- exchanges[name] = options.symbolize_keys.merge(:type => :topic, :durable => true)
69
+ exchanges[name] = options.symbolize_keys.merge(:type => :topic, :durable => true, :queues => [])
70
70
  end
71
71
 
72
72
  # register a durable, non passive, non auto_deleted queue with the given _name_ and an _options_ hash:
@@ -101,7 +101,7 @@ module Beetle
101
101
  key = (opts[:key] || name).to_s
102
102
  (bindings[name] ||= []) << {:exchange => exchange, :key => key}
103
103
  register_exchange(exchange) unless exchanges.include?(exchange)
104
- queues = (exchanges[exchange][:queues] ||= [])
104
+ queues = exchanges[exchange][:queues]
105
105
  queues << name unless queues.include?(name)
106
106
  end
107
107
 
@@ -40,7 +40,7 @@ module Beetle
40
40
  test "registering an exchange should store it in the configuration with symbolized option keys and force a topic queue and durability" do
41
41
  opts = {"durable" => false, "type" => "fanout"}
42
42
  @client.register_exchange("some_exchange", opts)
43
- assert_equal({:durable => true, :type => :topic}, @client.exchanges["some_exchange"])
43
+ assert_equal({:durable => true, :type => :topic, :queues => []}, @client.exchanges["some_exchange"])
44
44
  end
45
45
 
46
46
  test "should convert exchange name to a string when registering an exchange" do
@@ -53,6 +53,12 @@ module Beetle
53
53
  assert_raises(ConfigurationError){ @client.register_exchange("some_exchange") }
54
54
  end
55
55
 
56
+ test "registering an exchange should initialize the list of queues bound to it" do
57
+ @client.register_exchange("some_exchange")
58
+ assert_equal [], @client.exchanges["some_exchange"][:queues]
59
+ assert_raises(ConfigurationError){ @client.register_exchange("some_exchange") }
60
+ end
61
+
56
62
  test "registering a queue should automatically register the corresponding exchange if it doesn't exist yet" do
57
63
  @client.register_queue("some_queue", "durable" => false, "exchange" => "some_exchange")
58
64
  assert @client.exchanges.include?("some_exchange")
@@ -119,14 +125,14 @@ module Beetle
119
125
  test "registering a message should register a corresponding exchange if it hasn't been registered yet" do
120
126
  opts = { "exchange" => "some_exchange" }
121
127
  @client.register_message("some_message", opts)
122
- assert_equal({:durable => true, :type => :topic}, @client.exchanges["some_exchange"])
128
+ assert_equal({:durable => true, :type => :topic, :queues => []}, @client.exchanges["some_exchange"])
123
129
  end
124
130
 
125
131
  test "registering a message should not fail if the exchange has already been registered" do
126
132
  opts = { "exchange" => "some_exchange" }
127
133
  @client.register_exchange("some_exchange")
128
134
  @client.register_message("some_message", opts)
129
- assert_equal({:durable => true, :type => :topic}, @client.exchanges["some_exchange"])
135
+ assert_equal({:durable => true, :type => :topic, :queues => []}, @client.exchanges["some_exchange"])
130
136
  end
131
137
 
132
138
  test "should convert message name to a string when registering a message" do
@@ -290,7 +290,7 @@ module Beetle
290
290
 
291
291
  test "accessing a given exchange should create it using the config. further access should return the created exchange" do
292
292
  m = mock("Bunny")
293
- m.expects(:exchange).with("some_exchange", :type => :topic, :durable => true).returns(42)
293
+ m.expects(:exchange).with("some_exchange", :type => :topic, :durable => true, :queues => []).returns(42)
294
294
  @client.register_exchange("some_exchange", :type => :topic, :durable => true)
295
295
  @pub.expects(:bunny).returns(m)
296
296
  ex = @pub.send(:exchange, "some_exchange")
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beetle
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 10
10
- version: 0.2.10
9
+ - 11
10
+ version: 0.2.11
11
11
  platform: ruby
12
12
  authors:
13
13
  - Stefan Kaes
@@ -18,7 +18,7 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2011-01-27 00:00:00 +01:00
21
+ date: 2011-02-15 00:00:00 +01:00
22
22
  default_executable: beetle
23
23
  dependencies:
24
24
  - !ruby/object:Gem::Dependency