1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
require "spec/helper/all"
describe EM::Protocols::Redis do
it "should yield until connection is ready" do
EventMachine.synchrony do
connection = EM::Protocols::Redis.connect
connection.connected.should eq(true)
EventMachine.stop
end
end
it "should get/set records synchronously" do
EventMachine.synchrony do
redis = EM::Protocols::Redis.connect
redis.set('a', 'foo')
redis.get('a').should == 'foo'
redis.get('c').should == nil
EM.stop
end
end
it "should mapped_mget synchronously" do
EventMachine.synchrony do
redis = EM::Protocols::Redis.connect
redis.set('mmget1', 'value1')
redis.set('mmget3', 'value3')
redis.mapped_mget('mmget1', 'mmget2', 'mmget3').should ==
{ 'mmget1' => 'value1', 'mmget3' => 'value3' }
EM.stop
end
end
it "should incr/decr key synchronously" do
EventMachine.synchrony do
redis = EM::Protocols::Redis.connect
redis.delete('key')
redis.incr('key')
redis.get('key').to_i.should == 1
redis.decr('key')
redis.get('key').to_i.should == 0
EM.stop
end
end
it "should execute async commands" do
EventMachine.synchrony do
redis = EM::Protocols::Redis.connect
redis.set('a', 'foobar')
redis.aget('a') do |response|
response.should == 'foobar'
EM.stop
end
end
end
it "should execute async set add" do
EventMachine.synchrony do
redis = EM::Protocols::Redis.connect
redis.asadd('test', 'hai') do
redis.asadd('test', 'bai') do
redis.aset_count('test') do |resp|
resp.to_i.should == 2
EM.stop
end
end
end
end
end
it "should execute async mapped_mget" do
EventMachine.synchrony do
redis = EM::Protocols::Redis.connect
redis.aset('some_key', 'some_value') do
redis.amapped_mget('some_key', 'some_other_key') do |values|
values.should == { 'some_key' => 'some_value' }
EM.stop
end
end
end
end
xit "should execute sync add and auth", ci_skip: true do
EventMachine.synchrony do
redis = EM::Protocols::Redis.connect
redis.auth('abc')
redis.delete('key')
redis.add('key', 'value')
redis.scard('key').should == 1
EM.stop
end
end
end
|