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 }
@@ -67,14 +70,18 @@ public function testInvalidCommand()
6770 {
6871 $ promise = $ this ->client ->doesnotexist (1 , 2 , 3 );
6972
70- $ this ->setExpectedException ('Exception ' );
73+ if (method_exists ($ this , 'expectException ' )) {
74+ $ this ->expectException ('Exception ' );
75+ } else {
76+ $ this ->setExpectedException ('Exception ' );
77+ }
7178 Block \await ($ promise , $ this ->loop );
7279 }
7380
7481 public function testMultiExecEmpty ()
7582 {
76- $ this ->client ->multi ()->then ($ this ->expectCallableOnce ('OK ' ));
77- $ promise = $ this ->client ->exec ()->then ($ this ->expectCallableOnce (array ()));
83+ $ this ->client ->multi ()->then ($ this ->expectCallableOnceWith ('OK ' ));
84+ $ promise = $ this ->client ->exec ()->then ($ this ->expectCallableOnceWith (array ()));
7885
7986 Block \await ($ promise , $ this ->loop );
8087 }
@@ -83,12 +90,12 @@ public function testMultiExecQueuedExecHasValues()
8390 {
8491 $ client = $ this ->client ;
8592
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 )));
93+ $ client ->multi ()->then ($ this ->expectCallableOnceWith ('OK ' ));
94+ $ client ->set ('b ' , 10 )->then ($ this ->expectCallableOnceWith ('QUEUED ' ));
95+ $ client ->expire ('b ' , 20 )->then ($ this ->expectCallableOnceWith ('QUEUED ' ));
96+ $ client ->incrBy ('b ' , 2 )->then ($ this ->expectCallableOnceWith ('QUEUED ' ));
97+ $ client ->ttl ('b ' )->then ($ this ->expectCallableOnceWith ('QUEUED ' ));
98+ $ promise = $ client ->exec ()->then ($ this ->expectCallableOnceWith (array ('OK ' , 1 , 12 , 20 )));
9299
93100 Block \await ($ promise , $ this ->loop );
94101 }
@@ -107,7 +114,7 @@ public function testPubSub()
107114 $ consumer ->subscribe ($ channel )->then ($ this ->expectCallableOnce ());
108115
109116 // producer sends a single message
110- $ producer ->publish ($ channel , 'hello world ' )->then ($ this ->expectCallableOnce (1 ));
117+ $ producer ->publish ($ channel , 'hello world ' )->then ($ this ->expectCallableOnceWith (1 ));
111118
112119 // expect "message" event to take no longer than 0.1s
113120 Block \await ($ deferred ->promise (), $ this ->loop , 0.1 );
@@ -131,7 +138,11 @@ public function testInvalidProtocol()
131138
132139 $ promise = $ client ->get ('willBeRejectedDueToClosing ' );
133140
134- $ this ->setExpectedException ('Exception ' );
141+ if (method_exists ($ this , 'expectException ' )) {
142+ $ this ->expectException ('Exception ' );
143+ } else {
144+ $ this ->setExpectedException ('Exception ' );
145+ }
135146 Block \await ($ promise , $ this ->loop );
136147 }
137148
@@ -142,7 +153,7 @@ public function testInvalidServerRepliesWithDuplicateMessages()
142153 $ client ->on ('error ' , $ this ->expectCallableOnce ());
143154 $ client ->on ('close ' , $ this ->expectCallableOnce ());
144155
145- $ promise = $ client ->set ('a ' , 0 )->then ($ this ->expectCallableOnce ('OK ' ));
156+ $ promise = $ client ->set ('a ' , 0 )->then ($ this ->expectCallableOnceWith ('OK ' ));
146157
147158 Block \await ($ promise , $ this ->loop );
148159 }
@@ -162,15 +173,8 @@ protected function createClientResponse($response)
162173 fwrite ($ fp , $ response );
163174 fseek ($ fp , 0 );
164175
165- $ stream = class_exists ( ' React\Stream\DuplexResourceStream ' ) ? new DuplexResourceStream ( $ fp , $ this -> loop ) : new Stream ($ fp , $ this ->loop );
176+ $ stream = new DuplexResourceStream ($ fp , $ this ->loop );
166177
167178 return new StreamingClient ($ stream );
168179 }
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- }
176180}
0 commit comments