aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/DB/QueryBuilder/QueryBuilderTest.php
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2016-11-02 21:10:51 +0100
committerLukas Reschke <lukas@statuscode.ch>2016-11-02 21:10:51 +0100
commita8b7df9cc19991bdb936539950400760dfafd29a (patch)
treeb27d49ee528593d49281157718cea3face001ce2 /tests/lib/DB/QueryBuilder/QueryBuilderTest.php
parent2c4035e80679b6ebf8e56d86f88701f3ddb65bec (diff)
downloadnextcloud-server-a8b7df9cc19991bdb936539950400760dfafd29a.tar.gz
nextcloud-server-a8b7df9cc19991bdb936539950400760dfafd29a.zip
Add tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
Diffstat (limited to 'tests/lib/DB/QueryBuilder/QueryBuilderTest.php')
-rw-r--r--tests/lib/DB/QueryBuilder/QueryBuilderTest.php126
1 files changed, 126 insertions, 0 deletions
diff --git a/tests/lib/DB/QueryBuilder/QueryBuilderTest.php b/tests/lib/DB/QueryBuilder/QueryBuilderTest.php
index 171b44fe92d..22808f586ef 100644
--- a/tests/lib/DB/QueryBuilder/QueryBuilderTest.php
+++ b/tests/lib/DB/QueryBuilder/QueryBuilderTest.php
@@ -1216,4 +1216,130 @@ class QueryBuilderTest extends \Test\TestCase {
$this->queryBuilder->getColumnName($column, $prefix)
);
}
+
+ public function testExecuteWithoutLogger() {
+ $queryBuilder = $this->createMock(\Doctrine\DBAL\Query\QueryBuilder::class);
+ $queryBuilder
+ ->expects($this->once())
+ ->method('execute')
+ ->willReturn(3);
+ $this->logger
+ ->expects($this->never())
+ ->method('debug');
+ $this->config
+ ->expects($this->once())
+ ->method('getValue')
+ ->with('log_query', false)
+ ->willReturn(false);
+
+ $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]);
+ $this->assertEquals(3, $this->queryBuilder->execute());
+ }
+
+ public function testExecuteWithLoggerAndNamedArray() {
+ $queryBuilder = $this->createMock(\Doctrine\DBAL\Query\QueryBuilder::class);
+ $queryBuilder
+ ->expects($this->at(0))
+ ->method('getParameters')
+ ->willReturn([
+ 'foo' => 'bar',
+ 'key' => 'value',
+ ]);
+ $queryBuilder
+ ->expects($this->at(1))
+ ->method('getSQL')
+ ->willReturn('SELECT * FROM FOO WHERE BAR = ?');
+ $queryBuilder
+ ->expects($this->once())
+ ->method('execute')
+ ->willReturn(3);
+ $this->logger
+ ->expects($this->once())
+ ->method('debug')
+ ->with(
+ 'DB QueryBuilder: \'{query}\' with parameters: {params}',
+ [
+ 'query' => 'SELECT * FROM FOO WHERE BAR = ?',
+ 'params' => 'foo => \'bar\', key => \'value\'',
+ 'app' => 'core',
+ ]
+ );
+ $this->config
+ ->expects($this->once())
+ ->method('getValue')
+ ->with('log_query', false)
+ ->willReturn(true);
+
+ $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]);
+ $this->assertEquals(3, $this->queryBuilder->execute());
+ }
+
+ public function testExecuteWithLoggerAndUnnamedArray() {
+ $queryBuilder = $this->createMock(\Doctrine\DBAL\Query\QueryBuilder::class);
+ $queryBuilder
+ ->expects($this->at(0))
+ ->method('getParameters')
+ ->willReturn(['Bar']);
+ $queryBuilder
+ ->expects($this->at(1))
+ ->method('getSQL')
+ ->willReturn('SELECT * FROM FOO WHERE BAR = ?');
+ $queryBuilder
+ ->expects($this->once())
+ ->method('execute')
+ ->willReturn(3);
+ $this->logger
+ ->expects($this->once())
+ ->method('debug')
+ ->with(
+ 'DB QueryBuilder: \'{query}\' with parameters: {params}',
+ [
+ 'query' => 'SELECT * FROM FOO WHERE BAR = ?',
+ 'params' => '0 => \'Bar\'',
+ 'app' => 'core',
+ ]
+ );
+ $this->config
+ ->expects($this->once())
+ ->method('getValue')
+ ->with('log_query', false)
+ ->willReturn(true);
+
+ $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]);
+ $this->assertEquals(3, $this->queryBuilder->execute());
+ }
+
+ public function testExecuteWithLoggerAndNoParams() {
+ $queryBuilder = $this->createMock(\Doctrine\DBAL\Query\QueryBuilder::class);
+ $queryBuilder
+ ->expects($this->at(0))
+ ->method('getParameters')
+ ->willReturn([]);
+ $queryBuilder
+ ->expects($this->at(1))
+ ->method('getSQL')
+ ->willReturn('SELECT * FROM FOO WHERE BAR = ?');
+ $queryBuilder
+ ->expects($this->once())
+ ->method('execute')
+ ->willReturn(3);
+ $this->logger
+ ->expects($this->once())
+ ->method('debug')
+ ->with(
+ 'DB QueryBuilder: \'{query}\'',
+ [
+ 'query' => 'SELECT * FROM FOO WHERE BAR = ?',
+ 'app' => 'core',
+ ]
+ );
+ $this->config
+ ->expects($this->once())
+ ->method('getValue')
+ ->with('log_query', false)
+ ->willReturn(true);
+
+ $this->invokePrivate($this->queryBuilder, 'queryBuilder', [$queryBuilder]);
+ $this->assertEquals(3, $this->queryBuilder->execute());
+ }
}