|
- <?php
- /**
- * PhpUnderControl_PhalApiRedis_Test
- *
- * 针对 ../../PhalApi/Cache/Redis.php PhalApi_Redis 类的PHPUnit单元测试
- *
- * @author: dogstar 20150516
- */
-
- require_once dirname(__FILE__) . '/../test_env.php';
-
- if (!class_exists('PhalApi_Cache_Redis')) {
- require dirname(__FILE__) . '/../../PhalApi/Cache/Redis.php';
- }
-
- class PhpUnderControl_PhalApiRedis_Test extends PHPUnit_Framework_TestCase
- {
- public $phalApiRedis;
-
- protected function setUp()
- {
- parent::setUp();
-
- $config = array('host' => '127.0.0.1', 'port' => 6379);
- $this->phalApiRedis = new PhalApi_Cache_Redis($config);
- }
-
- protected function tearDown()
- {
- }
-
-
- /**
- * @group testSet
- */
- public function testSet()
- {
- $key = 'testSetKey';
- $value = 'phalapi';
- $expire = 2;
-
- $rs = $this->phalApiRedis->set($key, $value, $expire);
- }
-
- /**
- * @group testGet
- */
- public function testGet()
- {
- $key = 'testSetKey';
-
- $rs = $this->phalApiRedis->get($key);
-
- $this->assertEquals('phalapi', $rs);
-
- sleep(3);
-
- $this->assertSame(NULL, $this->phalApiRedis->get($key));
- }
-
- /**
- * @group testDelete
- */
- public function testDelete()
- {
- $key = 'testDeleteKey';
-
- $this->phalApiRedis->set($key, 'net', 3);
-
- $this->assertNotEmpty($this->phalApiRedis->get($key));
-
- $rs = $this->phalApiRedis->delete($key);
-
- $this->assertEmpty($this->phalApiRedis->get($key));
- }
-
- /**
- * @group testSetnx
- */
- public function testSetnx()
- {
- $key = 'testSetnxKey';
- $value = array('name' => 'phalapi');
-
- $rs = $this->phalApiRedis->setnx($key, $value);
-
- $this->assertEquals(array('name' => 'phalapi'), $this->phalApiRedis->get($key));
- }
-
- /**
- * @group testLPush
- */
- public function testLPush()
- {
- $key = 'testLPushKey';
-
- $this->phalApiRedis->delete($key);
-
- $rs = $this->phalApiRedis->lPush($key, 1);
- $this->assertEquals(1, $rs);
- $rs = $this->phalApiRedis->lPush($key, 2);
- $this->assertEquals(2, $rs);
- $rs = $this->phalApiRedis->lPush($key, 3);
- $this->assertEquals(3, $rs);
- }
-
- /**
- * @group testRPush
- */
- public function testRPush()
- {
- $key = 'testRPushKey';
-
- $this->phalApiRedis->delete($key);
-
- $rs = $this->phalApiRedis->rPush($key, 1);
- $this->assertEquals(1, $rs);
- $rs = $this->phalApiRedis->rPush($key, 'haha~');
- $this->assertEquals(2, $rs);
- $rs = $this->phalApiRedis->rPush($key, true);
- $this->assertEquals(3, $rs);
- $rs = $this->phalApiRedis->rPush($key, array('name' => 'phalapi'));
- $this->assertEquals(4, $rs);
- }
-
- /**
- * @group testLPop
- */
- public function testLPop()
- {
- $key = 'testLPushKey';
-
- $rs = $this->phalApiRedis->lPop($key);
- $this->assertEquals(3, $rs);
- $rs = $this->phalApiRedis->lPop($key);
- $this->assertEquals(2, $rs);
- $rs = $this->phalApiRedis->lPop($key);
- $this->assertEquals(1, $rs);
-
- $rs = $this->phalApiRedis->lPop($key);
- $this->assertEquals(NULL, $rs);
- }
-
- /**
- * @group testRPop
- */
- public function testRPop()
- {
- $key = 'testRPushKey';
-
- $rs = $this->phalApiRedis->rPop($key);
- $this->assertSame(array('name' => 'phalapi'), $rs);
- $rs = $this->phalApiRedis->rPop($key);
- $this->assertSame(true, $rs);
- $rs = $this->phalApiRedis->rPop($key);
- $this->assertSame('haha~', $rs);
- $rs = $this->phalApiRedis->rPop($key);
- $this->assertSame(1, $rs);
-
- $rs = $this->phalApiRedis->rPop($key);
- $this->assertSame(NULL, $rs);
- }
-
- public function testPushAndPop()
- {
- $key = 'testPushAndPopKey';
-
- $this->phalApiRedis->delete($key);
-
- $this->phalApiRedis->rPush($key, 'www');
- $this->phalApiRedis->rPush($key, 'phalapi');
- $this->phalApiRedis->rPush($key, 'net');
-
- $this->assertEquals('www', $this->phalApiRedis->lPop($key));
- $this->assertEquals('phalapi', $this->phalApiRedis->lPop($key));
- $this->assertEquals('net', $this->phalApiRedis->lPop($key));
- }
- }
|