diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2015-08-10 16:20:42 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2015-08-10 16:20:42 +0200 |
commit | 5fea6f753e27939a693041288d46115154dac051 (patch) | |
tree | 01c646b534f9c598f1375d4b78fb5e39ad44d6db /tests | |
parent | 15e16d335db5771778477e944d4e63ac807382b9 (diff) | |
download | nextcloud-server-5fea6f753e27939a693041288d46115154dac051.tar.gz nextcloud-server-5fea6f753e27939a693041288d46115154dac051.zip |
Automatically prefix table names with *PREFIX* unless specified
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/db/querybuilder/querybuildertest.php | 98 |
1 files changed, 64 insertions, 34 deletions
diff --git a/tests/lib/db/querybuilder/querybuildertest.php b/tests/lib/db/querybuilder/querybuildertest.php index 02e516b7386..75e62ba944e 100644 --- a/tests/lib/db/querybuilder/querybuildertest.php +++ b/tests/lib/db/querybuilder/querybuildertest.php @@ -253,8 +253,8 @@ class QueryBuilderTest extends \Test\TestCase { public function dataDelete() { return [ - ['data', null, ['table' => '`data`', 'alias' => null], '`data`'], - ['data', 't', ['table' => '`data`', 'alias' => 't'], '`data` t'], + ['data', null, ['table' => '`*PREFIX*data`', 'alias' => null], '`*PREFIX*data`'], + ['data', 't', ['table' => '`*PREFIX*data`', 'alias' => 't'], '`*PREFIX*data` t'], ]; } @@ -282,8 +282,8 @@ class QueryBuilderTest extends \Test\TestCase { public function dataUpdate() { return [ - ['data', null, ['table' => '`data`', 'alias' => null], '`data`'], - ['data', 't', ['table' => '`data`', 'alias' => 't'], '`data` t'], + ['data', null, ['table' => '`*PREFIX*data`', 'alias' => null], '`*PREFIX*data`'], + ['data', 't', ['table' => '`*PREFIX*data`', 'alias' => 't'], '`*PREFIX*data` t'], ]; } @@ -311,7 +311,7 @@ class QueryBuilderTest extends \Test\TestCase { public function dataInsert() { return [ - ['data', ['table' => '`data`'], '`data`'], + ['data', ['table' => '`*PREFIX*data`'], '`*PREFIX*data`'], ]; } @@ -338,16 +338,16 @@ class QueryBuilderTest extends \Test\TestCase { public function dataFrom() { return [ - ['data', null, null, null, [['table' => '`data`', 'alias' => null]], '`data`'], - ['data', 't', null, null, [['table' => '`data`', 'alias' => 't']], '`data` t'], + ['data', null, null, null, [['table' => '`*PREFIX*data`', 'alias' => null]], '`*PREFIX*data`'], + ['data', 't', null, null, [['table' => '`*PREFIX*data`', 'alias' => 't']], '`*PREFIX*data` t'], ['data1', null, 'data2', null, [ - ['table' => '`data1`', 'alias' => null], - ['table' => '`data2`', 'alias' => null] - ], '`data1`, `data2`'], + ['table' => '`*PREFIX*data1`', 'alias' => null], + ['table' => '`*PREFIX*data2`', 'alias' => null] + ], '`*PREFIX*data1`, `*PREFIX*data2`'], ['data', 't1', 'data', 't2', [ - ['table' => '`data`', 'alias' => 't1'], - ['table' => '`data`', 'alias' => 't2'] - ], '`data` t1, `data` t2'], + ['table' => '`*PREFIX*data`', 'alias' => 't1'], + ['table' => '`*PREFIX*data`', 'alias' => 't2'] + ], '`*PREFIX*data` t1, `*PREFIX*data` t2'], ]; } @@ -382,18 +382,18 @@ class QueryBuilderTest extends \Test\TestCase { return [ [ 'd1', 'data2', null, null, - ['d1' => [['joinType' => 'inner', 'joinTable' => '`data2`', 'joinAlias' => null, 'joinCondition' => null]]], - '`data1` d1 INNER JOIN `data2` ON ' + ['d1' => [['joinType' => 'inner', 'joinTable' => '`*PREFIX*data2`', 'joinAlias' => null, 'joinCondition' => null]]], + '`*PREFIX*data1` d1 INNER JOIN `*PREFIX*data2` ON ' ], [ 'd1', 'data2', 'd2', null, - ['d1' => [['joinType' => 'inner', 'joinTable' => '`data2`', 'joinAlias' => 'd2', 'joinCondition' => null]]], - '`data1` d1 INNER JOIN `data2` d2 ON ' + ['d1' => [['joinType' => 'inner', 'joinTable' => '`*PREFIX*data2`', 'joinAlias' => 'd2', 'joinCondition' => null]]], + '`*PREFIX*data1` d1 INNER JOIN `*PREFIX*data2` d2 ON ' ], [ 'd1', 'data2', 'd2', 'd1.`field1` = d2.`field2`', - ['d1' => [['joinType' => 'inner', 'joinTable' => '`data2`', 'joinAlias' => 'd2', 'joinCondition' => 'd1.`field1` = d2.`field2`']]], - '`data1` d1 INNER JOIN `data2` d2 ON d1.`field1` = d2.`field2`' + ['d1' => [['joinType' => 'inner', 'joinTable' => '`*PREFIX*data2`', 'joinAlias' => 'd2', 'joinCondition' => 'd1.`field1` = d2.`field2`']]], + '`*PREFIX*data1` d1 INNER JOIN `*PREFIX*data2` d2 ON d1.`field1` = d2.`field2`' ], ]; @@ -463,18 +463,18 @@ class QueryBuilderTest extends \Test\TestCase { return [ [ 'd1', 'data2', null, null, - ['d1' => [['joinType' => 'left', 'joinTable' => '`data2`', 'joinAlias' => null, 'joinCondition' => null]]], - '`data1` d1 LEFT JOIN `data2` ON ' + ['d1' => [['joinType' => 'left', 'joinTable' => '`*PREFIX*data2`', 'joinAlias' => null, 'joinCondition' => null]]], + '`*PREFIX*data1` d1 LEFT JOIN `*PREFIX*data2` ON ' ], [ 'd1', 'data2', 'd2', null, - ['d1' => [['joinType' => 'left', 'joinTable' => '`data2`', 'joinAlias' => 'd2', 'joinCondition' => null]]], - '`data1` d1 LEFT JOIN `data2` d2 ON ' + ['d1' => [['joinType' => 'left', 'joinTable' => '`*PREFIX*data2`', 'joinAlias' => 'd2', 'joinCondition' => null]]], + '`*PREFIX*data1` d1 LEFT JOIN `*PREFIX*data2` d2 ON ' ], [ 'd1', 'data2', 'd2', 'd1.`field1` = d2.`field2`', - ['d1' => [['joinType' => 'left', 'joinTable' => '`data2`', 'joinAlias' => 'd2', 'joinCondition' => 'd1.`field1` = d2.`field2`']]], - '`data1` d1 LEFT JOIN `data2` d2 ON d1.`field1` = d2.`field2`' + ['d1' => [['joinType' => 'left', 'joinTable' => '`*PREFIX*data2`', 'joinAlias' => 'd2', 'joinCondition' => 'd1.`field1` = d2.`field2`']]], + '`*PREFIX*data1` d1 LEFT JOIN `*PREFIX*data2` d2 ON d1.`field1` = d2.`field2`' ], ]; } @@ -513,18 +513,18 @@ class QueryBuilderTest extends \Test\TestCase { return [ [ 'd1', 'data2', null, null, - ['d1' => [['joinType' => 'right', 'joinTable' => '`data2`', 'joinAlias' => null, 'joinCondition' => null]]], - '`data1` d1 RIGHT JOIN `data2` ON ' + ['d1' => [['joinType' => 'right', 'joinTable' => '`*PREFIX*data2`', 'joinAlias' => null, 'joinCondition' => null]]], + '`*PREFIX*data1` d1 RIGHT JOIN `*PREFIX*data2` ON ' ], [ 'd1', 'data2', 'd2', null, - ['d1' => [['joinType' => 'right', 'joinTable' => '`data2`', 'joinAlias' => 'd2', 'joinCondition' => null]]], - '`data1` d1 RIGHT JOIN `data2` d2 ON ' + ['d1' => [['joinType' => 'right', 'joinTable' => '`*PREFIX*data2`', 'joinAlias' => 'd2', 'joinCondition' => null]]], + '`*PREFIX*data1` d1 RIGHT JOIN `*PREFIX*data2` d2 ON ' ], [ 'd1', 'data2', 'd2', 'd1.`field1` = d2.`field2`', - ['d1' => [['joinType' => 'right', 'joinTable' => '`data2`', 'joinAlias' => 'd2', 'joinCondition' => 'd1.`field1` = d2.`field2`']]], - '`data1` d1 RIGHT JOIN `data2` d2 ON d1.`field1` = d2.`field2`' + ['d1' => [['joinType' => 'right', 'joinTable' => '`*PREFIX*data2`', 'joinAlias' => 'd2', 'joinCondition' => 'd1.`field1` = d2.`field2`']]], + '`*PREFIX*data1` d1 RIGHT JOIN `*PREFIX*data2` d2 ON d1.`field1` = d2.`field2`' ], ]; } @@ -591,7 +591,7 @@ class QueryBuilderTest extends \Test\TestCase { ); $this->assertSame( - 'UPDATE `data` SET ' . $expectedQuery, + 'UPDATE `*PREFIX*data` SET ' . $expectedQuery, $this->queryBuilder->getSQL() ); } @@ -774,7 +774,7 @@ class QueryBuilderTest extends \Test\TestCase { ); $this->assertSame( - 'INSERT INTO `data` ' . $expectedQuery, + 'INSERT INTO `*PREFIX*data` ' . $expectedQuery, $this->queryBuilder->getSQL() ); } @@ -799,7 +799,7 @@ class QueryBuilderTest extends \Test\TestCase { ); $this->assertSame( - 'INSERT INTO `data` ' . $expectedQuery, + 'INSERT INTO `*PREFIX*data` ' . $expectedQuery, $this->queryBuilder->getSQL() ); } @@ -996,4 +996,34 @@ class QueryBuilderTest extends \Test\TestCase { $this->queryBuilder->getSQL() ); } + + public function dataGetTableName() { + return [ + ['*PREFIX*table', null, '`*PREFIX*table`'], + ['*PREFIX*table', true, '`*PREFIX*table`'], + ['*PREFIX*table', false, '`*PREFIX*table`'], + + ['table', null, '`*PREFIX*table`'], + ['table', true, '`*PREFIX*table`'], + ['table', false, '`table`'], + ]; + } + + /** + * @dataProvider dataGetTableName + * + * @param string $tableName + * @param bool $automatic + * @param string $expected + */ + public function testGetTableName($tableName, $automatic, $expected) { + if ($automatic !== null) { + $this->queryBuilder->automaticTablePrefix($automatic); + } + + $this->assertSame( + $expected, + $this->invokePrivate($this->queryBuilder, 'getTableName', [$tableName]) + ); + } } |