Пример #1
0
 public function testFind()
 {
     $this->assertEquals('localnat', $this->module->getCurrentConn());
     $this->assertInstanceOf('insolita\\redisman\\components\\PhpredisConnection', $this->module->getConnection());
     $res = RedisItem::find('tfx_string');
     $this->assertNotEmpty($res);
     $this->assertEquals($res->value, null);
     $this->assertEquals($res->formatvalue, null);
     $this->assertEquals($res->type, 'string');
     $this->assertEquals($res->ttl, -1);
     $res = RedisItem::find('tfx_string')->findValue();
     $this->assertNotEmpty($res);
     $this->assertEquals(13, $res->size);
     $this->assertEquals($res->value, 'somestringval');
     $this->assertEquals($res->formatvalue, 'somestringval');
     $res = RedisItem::find('tfx_list')->findValue();
     Debug::debug($res->getValue());
     Debug::debug($res->getAttributes());
     $this->assertNotEmpty($res);
     $this->assertEquals(3, $res->size);
     $this->assertEquals($res->value, ['someval1', 'someval2', 'someval3']);
     $this->assertEquals($res->formatvalue, "someval1\r\nsomeval2\r\nsomeval3");
     $res = RedisItem::find('tfx_set')->findValue();
     $this->assertNotEmpty($res);
     Debug::debug($res->getValue());
     Debug::debug($res->getAttributes());
     $this->assertEquals(4, $res->size);
     $this->assertTrue(in_array('someval4', $res->value));
     $this->assertTrue(in_array('someval1', $res->value));
     $this->assertEquals($res->formatvalue, implode("\r\n", $res->value));
     $res = RedisItem::find('tfx_hash')->findValue();
     Debug::debug($res->getValue());
     Debug::debug($res->getAttributes());
     $this->assertNotEmpty($res);
     $this->assertEquals(1, $res->size);
     $this->assertEquals(['hashfield' => 'hashval'], $res->value);
     $this->assertAttributeInstanceOf('\\yii\\data\\ArrayDataProvider', 'formatvalue', $res);
     $res = RedisItem::find('tfx_zset')->findValue();
     Debug::debug($res->getValue());
     Debug::debug($res->getAttributes());
     $this->assertNotEmpty($res);
     $this->assertEquals(3, $res->size);
     $this->assertEquals(['someval2' => 3, 'someval1' => 4, 'someval3' => 8], $res->value);
     $this->assertAttributeInstanceOf('\\yii\\data\\ArrayDataProvider', 'formatvalue', $res);
     $this->setExpectedException('yii\\web\\NotFoundHttpException');
     $res = RedisItem::find('iugigigi giu')->findValue();
 }
Пример #2
0
 public function testGetValue()
 {
     $this->assertEquals('local', $this->module->getCurrentConn());
     $this->assertNotInstanceOf('insolita\\redisman\\components\\PhpredisConnection', $this->module->getConnection());
     $model = new RedisItem();
     $model->setAttributes(['key' => 'tfx_string', 'type' => 'string']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     $this->assertEquals('somestringval', $val);
     $model = new RedisItem();
     $model->setAttributes(['key' => 'tfx_list', 'type' => 'list']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     $this->assertTrue(is_array($val));
     $this->assertEquals(['someval1', 'someval2', 'someval3'], $val);
     $model = new RedisItem();
     $model->setAttributes(['key' => 'tfx_set', 'type' => 'set']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     $this->assertTrue(is_array($val));
     $this->assertTrue(in_array('someval4', $val));
     $this->assertTrue(in_array('someval1', $val));
     $this->assertTrue(in_array('someval2', $val));
     $this->assertTrue(in_array('someval3', $val));
     $model = new RedisItem();
     $model->setAttributes(['key' => 'testfxt:3:hash']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     Debug::debug($model->getAttributes());
     Debug::debug($val);
     Debug::debug($model->findValue()->getAttributes());
     Debug::debug($this->module->executeCommand('HGETALL', ['testfxt:3:hash']));
     $this->assertTrue(is_array($val));
     $this->assertEquals($this->module->executeCommand('HGETALL', ['testfxt:3:hash']), $val);
     $model = new RedisItem();
     $model->setAttributes(['key' => 'tfx_zset', 'type' => 'zset']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     $this->assertTrue(is_array($val));
     $this->assertEquals(['someval2', 3, 'someval1', 4, 'someval3', 8], $val);
 }