Sha256: 31ba53ffbee98ae4d87fc291e12ebada4c96645f649b2deb90f555526191fbeb
Contents?: true
Size: 1.27 KB
Versions: 5
Compression:
Stored size: 1.27 KB
Contents
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') require 'kestrel/client/json' describe Kestrel::Client::Json do describe "Instance Methods" do before do Kestrel::Config.load TEST_CONFIG_FILE @raw_kestrel_client = Kestrel::Client.new(*Kestrel::Config.default) @kestrel = Kestrel::Client::Json.new(@raw_kestrel_client) end describe "#get" do it "parses json" do mock(@raw_kestrel_client).get('a_queue') { '{"a": 1, "b": [{"c": 2}]}' } @kestrel.get('a_queue').should == {"a" => 1, "b" => ["c" => 2]} end it "uses a HashWithIndifferentAccess" do mock(@raw_kestrel_client).get('a_queue') { '{"a": 1, "b": [{"c": 2}]}' } @kestrel.get('a_queue').class.should == HashWithIndifferentAccess end it "passes through non-strings" do mock(@raw_kestrel_client).get('a_queue') { {:key => "value"} } @kestrel.get('a_queue').should == {:key => "value"} end it "passes through strings that are not json" do mock(@raw_kestrel_client).get('a_queue') { "I am not JSON" } @kestrel.get('a_queue').should == "I am not JSON" end end end end class HashWithIndifferentAccess < Hash def initialize(hash = {}) super() merge!(hash) end end
Version data entries
5 entries across 5 versions & 1 rubygems