Paul Klimov
11 years ago
4 changed files with 135 additions and 1 deletions
@ -0,0 +1,71 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace yiiunit\extensions\sphinx; |
||||||
|
|
||||||
|
use yii\caching\FileCache; |
||||||
|
use yii\sphinx\Schema; |
||||||
|
|
||||||
|
/** |
||||||
|
* @group sphinx |
||||||
|
*/ |
||||||
|
class SchemaTest extends SphinxTestCase |
||||||
|
{ |
||||||
|
public function testFindIndexNames() |
||||||
|
{ |
||||||
|
$schema = $this->getConnection()->schema; |
||||||
|
|
||||||
|
$indexes = $schema->getIndexNames(); |
||||||
|
$this->assertContains('yii2_test_article_index', $indexes); |
||||||
|
$this->assertContains('yii2_test_item_index', $indexes); |
||||||
|
$this->assertContains('yii2_test_rt_index', $indexes); |
||||||
|
} |
||||||
|
|
||||||
|
public function testGetIndexSchemas() |
||||||
|
{ |
||||||
|
$schema = $this->getConnection()->schema; |
||||||
|
|
||||||
|
$indexes = $schema->getTableSchemas(); |
||||||
|
$this->assertEquals(count($schema->getIndexNames()), count($indexes)); |
||||||
|
foreach($indexes as $index) { |
||||||
|
$this->assertInstanceOf('yii\sphinx\IndexSchema', $index); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public function testGetNonExistingIndexSchema() |
||||||
|
{ |
||||||
|
$this->assertNull($this->getConnection()->schema->getIndexSchema('non_existing_index')); |
||||||
|
} |
||||||
|
|
||||||
|
public function testSchemaRefresh() |
||||||
|
{ |
||||||
|
$schema = $this->getConnection()->schema; |
||||||
|
|
||||||
|
$schema->db->enableSchemaCache = true; |
||||||
|
$schema->db->schemaCache = new FileCache(); |
||||||
|
$noCacheIndex = $schema->getIndexSchema('yii2_test_rt_index', true); |
||||||
|
$cachedIndex = $schema->getIndexSchema('yii2_test_rt_index', true); |
||||||
|
$this->assertEquals($noCacheIndex, $cachedIndex); |
||||||
|
} |
||||||
|
|
||||||
|
public function testGetPDOType() |
||||||
|
{ |
||||||
|
$values = [ |
||||||
|
[null, \PDO::PARAM_NULL], |
||||||
|
['', \PDO::PARAM_STR], |
||||||
|
['hello', \PDO::PARAM_STR], |
||||||
|
[0, \PDO::PARAM_INT], |
||||||
|
[1, \PDO::PARAM_INT], |
||||||
|
[1337, \PDO::PARAM_INT], |
||||||
|
[true, \PDO::PARAM_BOOL], |
||||||
|
[false, \PDO::PARAM_BOOL], |
||||||
|
[$fp=fopen(__FILE__, 'rb'), \PDO::PARAM_LOB], |
||||||
|
]; |
||||||
|
|
||||||
|
$schema = $this->getConnection()->schema; |
||||||
|
|
||||||
|
foreach($values as $value) { |
||||||
|
$this->assertEquals($value[1], $schema->getPdoType($value[0])); |
||||||
|
} |
||||||
|
fclose($fp); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue