pipeline_toolkit 1.2.18 → 1.2.19

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,5 +19,5 @@ end
19
19
 
20
20
  Then /^these messages are on queue "(\w+)":$/ do |queue, expected_messages|
21
21
  received_messages = @amqp.receive_messages(queue, expected_messages.rows.size)
22
- expected_messages.diff!(received_messages)
22
+ expected_messages.diff!(received_messages.map! { |h| h.keys_and_values_as_strings } )
23
23
  end
@@ -32,17 +32,13 @@ end
32
32
 
33
33
  Then /^these messages are passed on:$/ do |expected_msgs|
34
34
  received_messages = @process.get_messages(expected_msgs.rows.size)
35
- # turn everything into str
36
- received_messages.map! { |h| h.each { |k,v| h[k] = v.to_s }}
37
- expected_msgs.diff!(received_messages)
35
+ expected_msgs.diff!(received_messages.map! { |h| h.keys_and_values_as_strings })
38
36
  end
39
37
 
40
38
  # Lets you use JSON to express a complex message
41
39
  Then /^this message is passed on$/ do |expected_msg|
42
40
  received_message = @process.get_messages(1).first
43
- # turn everything into str
44
- received_message.each { |k,v| received_message[k] = v.to_s }
45
- received_message.should == JSON.parse(expected_msg)
41
+ received_message.keys_and_values_as_strings.should == JSON.parse(expected_msg)
46
42
  end
47
43
 
48
44
  Then /^these messages are acknowledged:$/ do |expected_msgs|
@@ -1,15 +1,23 @@
1
1
  class IndifferentHash < Hash
2
2
  # extended so that value is returned regardless if key is symbol or string, and all values are set as symbols
3
3
  def initialize(hash)
4
- self.merge!(hash)
4
+ self.merge!( Hash[hash.map { |k,v| [k.to_sym, v] }] )
5
5
  end
6
6
 
7
7
  def [](key)
8
- super(key.to_s) || super(key.to_sym)
8
+ super(key.to_sym)
9
9
  end
10
10
 
11
11
  def []=(key, value)
12
12
  super(key.to_sym, value)
13
13
  end
14
14
 
15
+ def keys_and_values_as_strings
16
+ Hash[self.map { |k,v| [k.to_s, v.to_s] }]
17
+ end
18
+
19
+ def has_key?(key)
20
+ super(key.to_sym)
21
+ end
22
+
15
23
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 2
8
- - 18
9
- version: 1.2.18
8
+ - 19
9
+ version: 1.2.19
10
10
  platform: ruby
11
11
  authors:
12
12
  - Aisha Fenton