11<?php
22
3+ namespace Clue \Tests \React \Redis ;
4+
35use Clue \React \Block ;
6+ use Clue \React \Redis \Client ;
47use Clue \React \Redis \Factory ;
58use Clue \React \Redis \StreamingClient ;
9+ use React \EventLoop \StreamSelectLoop ;
610use React \Promise \Deferred ;
7- use React \Stream \Stream ;
811use React \Stream \DuplexResourceStream ;
912
1013class FunctionalTest extends TestCase
@@ -20,7 +23,7 @@ public function setUp()
2023 $ this ->markTestSkipped ('No REDIS_URI environment variable given ' );
2124 }
2225
23- $ this ->loop = new React \ EventLoop \ StreamSelectLoop ();
26+ $ this ->loop = new StreamSelectLoop ();
2427 $ this ->factory = new Factory ($ this ->loop );
2528 $ this ->client = $ this ->createClient ($ uri );
2629 }
@@ -55,10 +58,10 @@ public function testPipeline()
5558 {
5659 $ client = $ this ->client ;
5760
58- $ client ->set ('a ' , 1 )->then ($ this ->expectCallableOnce ('OK ' ));
59- $ client ->incr ('a ' )->then ($ this ->expectCallableOnce (2 ));
60- $ client ->incr ('a ' )->then ($ this ->expectCallableOnce (3 ));
61- $ promise = $ client ->get ('a ' )->then ($ this ->expectCallableOnce ('3 ' ));
61+ $ client ->set ('a ' , 1 )->then ($ this ->expectCallableOnceWith ('OK ' ));
62+ $ client ->incr ('a ' )->then ($ this ->expectCallableOnceWith (2 ));
63+ $ client ->incr ('a ' )->then ($ this ->expectCallableOnceWith (3 ));
64+ $ promise = $ client ->get ('a ' )->then ($ this ->expectCallableOnceWith ('3 ' ));
6265
6366 Block \await ($ promise , $ this ->loop );
6467 }
@@ -73,8 +76,8 @@ public function testInvalidCommand()
7376
7477 public function testMultiExecEmpty ()
7578 {
76- $ this ->client ->multi ()->then ($ this ->expectCallableOnce ('OK ' ));
77- $ promise = $ this ->client ->exec ()->then ($ this ->expectCallableOnce (array ()));
79+ $ this ->client ->multi ()->then ($ this ->expectCallableOnceWith ('OK ' ));
80+ $ promise = $ this ->client ->exec ()->then ($ this ->expectCallableOnceWith (array ()));
7881
7982 Block \await ($ promise , $ this ->loop );
8083 }
@@ -83,12 +86,12 @@ public function testMultiExecQueuedExecHasValues()
8386 {
8487 $ client = $ this ->client ;
8588
86- $ client ->multi ()->then ($ this ->expectCallableOnce ('OK ' ));
87- $ client ->set ('b ' , 10 )->then ($ this ->expectCallableOnce ('QUEUED ' ));
88- $ client ->expire ('b ' , 20 )->then ($ this ->expectCallableOnce ('QUEUED ' ));
89- $ client ->incrBy ('b ' , 2 )->then ($ this ->expectCallableOnce ('QUEUED ' ));
90- $ client ->ttl ('b ' )->then ($ this ->expectCallableOnce ('QUEUED ' ));
91- $ promise = $ client ->exec ()->then ($ this ->expectCallableOnce (array ('OK ' , 1 , 12 , 20 )));
89+ $ client ->multi ()->then ($ this ->expectCallableOnceWith ('OK ' ));
90+ $ client ->set ('b ' , 10 )->then ($ this ->expectCallableOnceWith ('QUEUED ' ));
91+ $ client ->expire ('b ' , 20 )->then ($ this ->expectCallableOnceWith ('QUEUED ' ));
92+ $ client ->incrBy ('b ' , 2 )->then ($ this ->expectCallableOnceWith ('QUEUED ' ));
93+ $ client ->ttl ('b ' )->then ($ this ->expectCallableOnceWith ('QUEUED ' ));
94+ $ promise = $ client ->exec ()->then ($ this ->expectCallableOnceWith (array ('OK ' , 1 , 12 , 20 )));
9295
9396 Block \await ($ promise , $ this ->loop );
9497 }
@@ -107,19 +110,19 @@ public function testPubSub()
107110 $ consumer ->subscribe ($ channel )->then ($ this ->expectCallableOnce ());
108111
109112 // producer sends a single message
110- $ producer ->publish ($ channel , 'hello world ' )->then ($ this ->expectCallableOnce (1 ));
113+ $ producer ->publish ($ channel , 'hello world ' )->then ($ this ->expectCallableOnceWith (1 ));
111114
112115 // expect "message" event to take no longer than 0.1s
113116 Block \await ($ deferred ->promise (), $ this ->loop , 0.1 );
114117 }
115118
116119 public function testClose ()
117120 {
118- $ this ->client ->get ('willBeCanceledAnyway ' )->then (null , $ this ->expectCallableOnce ());
121+ $ this ->client ->get ('willBeCanceledAnyway ' )->then (null , $ this ->expectCallableOnceWith ());
119122
120123 $ this ->client ->close ();
121124
122- $ this ->client ->get ('willBeRejectedRightAway ' )->then (null , $ this ->expectCallableOnce ());
125+ $ this ->client ->get ('willBeRejectedRightAway ' )->then (null , $ this ->expectCallableOnceWith ());
123126 }
124127
125128 public function testInvalidProtocol ()
@@ -142,7 +145,7 @@ public function testInvalidServerRepliesWithDuplicateMessages()
142145 $ client ->on ('error ' , $ this ->expectCallableOnce ());
143146 $ client ->on ('close ' , $ this ->expectCallableOnce ());
144147
145- $ promise = $ client ->set ('a ' , 0 )->then ($ this ->expectCallableOnce ('OK ' ));
148+ $ promise = $ client ->set ('a ' , 0 )->then ($ this ->expectCallableOnceWith ('OK ' ));
146149
147150 Block \await ($ promise , $ this ->loop );
148151 }
@@ -162,15 +165,8 @@ protected function createClientResponse($response)
162165 fwrite ($ fp , $ response );
163166 fseek ($ fp , 0 );
164167
165- $ stream = class_exists ( ' React\Stream\DuplexResourceStream ' ) ? new DuplexResourceStream ( $ fp , $ this -> loop ) : new Stream ($ fp , $ this ->loop );
168+ $ stream = new DuplexResourceStream ($ fp , $ this ->loop );
166169
167170 return new StreamingClient ($ stream );
168171 }
169-
170- protected function createServer ($ response )
171- {
172- $ port = 1337 ;
173- $ cmd = 'echo -e " ' . str_replace ("\r\n" , '\r\n ' , $ response ) . '" | nc -lC ' . $ port ;
174-
175- }
176172}
0 commit comments