1010use SplitIO \Component \Log \Handler \Stdout ;
1111use SplitIO \Component \Log \Logger ;
1212use SplitIO \Component \Log \LogLevelEnum ;
13+ use SplitIO \Sdk \Events \EventDTO ;
14+ use SplitIO \Sdk \Events \EventQueueMessage ;
15+ use SplitIO \Sdk \QueueMetadataMessage ;
16+
17+ use SplitIO \Test \Utils ;
1318
1419class CacheInterfacesTest extends \PHPUnit \Framework \TestCase
1520{
@@ -31,18 +36,21 @@ public function testDiLog()
3136 public function testDiCache ()
3237 {
3338 try {
34- $ cachePoolAdapter = array (
35- 'name ' => 'redis ' ,
36- 'options ' => array (
37- 'host ' => REDIS_HOST ,
38- 'port ' => REDIS_PORT ,
39- )
39+ $ parameters = array (
40+ 'host ' => REDIS_HOST ,
41+ 'port ' => REDIS_PORT ,
4042 );
4143
42- $ cachePool = new Pool (array ( 'adapter ' => $ cachePoolAdapter ));
44+ $ cachePool = new Pool (array ('adapter ' => array (
45+ 'name ' => 'predis ' ,
46+ 'options ' => array (
47+ 'options ' => array ('prefix ' => TEST_PREFIX ),
48+ 'parameters ' => $ parameters ,
49+ ),
50+ )));
4351 Di::getInstance ()->setCache ($ cachePool );
4452 } catch (\Exception $ e ) {
45- $ this ->assertTrue (false , "Error setting cache on Di " );
53+ $ this ->assertTrue (false , "Error setting cache on Di " . $ e );
4654 }
4755
4856 $ this ->assertTrue (true );
@@ -57,6 +65,7 @@ public function testSplitCacheInterface()
5765 $ splitChanges = file_get_contents (__DIR__ ."/../../files/splitChanges.json " );
5866 $ this ->assertJson ($ splitChanges );
5967
68+ Utils \Utils::addSplitsInCache ($ splitChanges );
6069 $ splitCache = new SplitCache ();
6170
6271 $ splitChanges = json_decode ($ splitChanges , true );
@@ -65,14 +74,7 @@ public function testSplitCacheInterface()
6574
6675 $ splitName = $ split ['name ' ];
6776
68- $ this ->assertTrue ($ splitCache ->addSplit ($ splitName , json_encode ($ split )));
69-
7077 $ this ->assertEquals (strlen (json_encode ($ split )), strlen ($ splitCache ->getSplit ($ splitName )));
71-
72- $ this ->assertTrue ($ splitCache ->removeSplit ($ splitName ));
73-
74- $ this ->assertTrue ($ splitCache ->setChangeNumber ($ splitChanges ['till ' ]));
75-
7678 $ this ->assertEquals ($ splitChanges ['till ' ], $ splitCache ->getChangeNumber ());
7779 }
7880
@@ -82,48 +84,19 @@ public function testSplitCacheInterface()
8284 public function testSegmentCacheInterface ()
8385 {
8486 $ segmentChanges = file_get_contents (__DIR__ ."/../../files/segmentEmployeesChanges.json " );
85-
8687 $ this ->assertJson ($ segmentChanges );
8788
88- $ segmentData = json_decode ($ segmentChanges, true );
89+ Utils \Utils:: addSegmentsInCache ($ segmentChanges );
8990
91+ $ segmentData = json_decode ($ segmentChanges , true );
9092 $ segmentName = $ segmentData ['name ' ];
91-
9293 $ segmentCache = new SegmentCache ();
93-
94- $ this ->assertArrayHasKey ('fake_user_id_4 ' , $ segmentCache ->addToSegment ($ segmentName , $ segmentData ['added ' ]));
95-
96- $ removedResult = $ segmentCache ->removeFromSegment ($ segmentName , $ segmentData ['removed ' ]);
97- $ this ->assertArrayHasKey ('fake_user_id_6 ' , $ removedResult );
98-
99- $ this ->assertTrue ($ segmentCache ->setChangeNumber ($ segmentName , $ segmentData ['till ' ]));
94+ $ this ->assertTrue (boolval ($ segmentCache ->isInSegment ($ segmentName , "fake_user_id_4 " )));
95+ $ this ->assertFalse (boolval ($ segmentCache ->isInSegment ($ segmentName , "fake_user_id_4_ " )));
10096
10197 $ this ->assertEquals ($ segmentData ['till ' ], $ segmentCache ->getChangeNumber ($ segmentName ));
10298 }
10399
104- /**
105- * @depends testDiLog
106- * @depends testDiCache
107- */
108- public function testBlockUntilReadyCacheInterface ()
109- {
110- $ dateTimeUTC = new \DateTime ("now " , new \DateTimeZone ("UTC " ));
111- $ deltaTime = 100 ;
112-
113- $ splitsTimestamp = $ dateTimeUTC ->getTimestamp ();
114- $ segmentsTimestamp = $ dateTimeUTC ->getTimestamp () + $ deltaTime ;
115-
116- $ bur = new BlockUntilReadyCache ();
117- $ bur ->setReadySplits ($ splitsTimestamp );
118- $ bur ->setReadySegments ($ segmentsTimestamp );
119-
120- //Checking
121- $ this ->assertEquals ($ splitsTimestamp , $ bur ->getReadySplits ());
122- $ this ->assertEquals ($ segmentsTimestamp , $ bur ->getReadySegments ());
123-
124- $ this ->assertEquals (min ($ splitsTimestamp , $ segmentsTimestamp ), $ bur ->getReadyCheckpoint ());
125- }
126-
127100 /**
128101 * @depends testDiLog
129102 * @depends testDiCache
@@ -135,9 +108,8 @@ public function testEventsCache()
135108 $ eventType = "some_event_type " ;
136109 $ value = 0.0 ;
137110
138- $ eventDTO = new EventDTO ($ key , $ trafficType , $ eventType , $ value );
139- $ eventMessageMetadata = new EventQueueMetadataMessage ();
140- $ eventQueueMessage = new EventQueueMessage ($ eventMessageMetadata , $ eventDTO );
111+ $ eventDTO = new EventDTO ($ key , $ trafficType , $ eventType , $ value , null );
112+ $ eventQueueMessage = new EventQueueMessage (new QueueMetadataMessage (), $ eventDTO );
141113
142114 $ this ->assertTrue (EventsCache::addEvent ($ eventQueueMessage ));
143115 }
@@ -160,8 +132,7 @@ public function testEventsCacheWithProperties()
160132 );
161133
162134 $ eventDTO = new EventDTO ($ key , $ trafficType , $ eventType , $ value , $ properties );
163- $ eventMessageMetadata = new EventQueueMetadataMessage ();
164- $ eventQueueMessage = new EventQueueMessage ($ eventMessageMetadata , $ eventDTO );
135+ $ eventQueueMessage = new EventQueueMessage (new QueueMetadataMessage (), $ eventDTO );
165136
166137 $ this ->assertTrue (EventsCache::addEvent ($ eventQueueMessage ));
167138
0 commit comments