You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							69 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							69 lines
						
					
					
						
							1.2 KiB
						
					
					
				<?php | 
						|
 | 
						|
namespace yiiunit\framework\redis; | 
						|
 | 
						|
use yii\redis\Connection; | 
						|
 | 
						|
/** | 
						|
 * @group redis | 
						|
 */ | 
						|
class RedisConnectionTest extends RedisTestCase | 
						|
{ | 
						|
	/** | 
						|
	 * Empty DSN should throw exception | 
						|
	 * @expectedException \yii\base\InvalidConfigException | 
						|
	 */ | 
						|
	public function testEmptyDSN() | 
						|
	{ | 
						|
		$db = new Connection(); | 
						|
		$db->open(); | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * test connection to redis and selection of db | 
						|
	 */ | 
						|
	public function testConnect() | 
						|
	{ | 
						|
		$db = new Connection(); | 
						|
		$db->dsn = 'redis://localhost:6379'; | 
						|
		$db->open(); | 
						|
		$this->assertTrue($db->ping()); | 
						|
		$db->set('YIITESTKEY', 'YIITESTVALUE'); | 
						|
		$db->close(); | 
						|
 | 
						|
		$db = new Connection(); | 
						|
		$db->dsn = 'redis://localhost:6379/0'; | 
						|
		$db->open(); | 
						|
		$this->assertEquals('YIITESTVALUE', $db->get('YIITESTKEY')); | 
						|
		$db->close(); | 
						|
 | 
						|
		$db = new Connection(); | 
						|
		$db->dsn = 'redis://localhost:6379/1'; | 
						|
		$db->open(); | 
						|
		$this->assertNull($db->get('YIITESTKEY')); | 
						|
		$db->close(); | 
						|
	} | 
						|
 | 
						|
	public function keyValueData() | 
						|
	{ | 
						|
		return array( | 
						|
			array(123), | 
						|
			array(-123), | 
						|
			array(0), | 
						|
			array('test'), | 
						|
			array("test\r\ntest"), | 
						|
			array(''), | 
						|
		); | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @dataProvider keyValueData | 
						|
	 */ | 
						|
	public function testStoreGet($data) | 
						|
	{ | 
						|
		$db = $this->getConnection(true); | 
						|
 | 
						|
		$db->set('hi', $data); | 
						|
		$this->assertEquals($data, $db->get('hi')); | 
						|
	} | 
						|
} |