diff --git a/test/libraries/PMA_relation_test.php b/test/libraries/PMA_relation_test.php new file mode 100644 index 0000000000..0e6dc31cc8 --- /dev/null +++ b/test/libraries/PMA_relation_test.php @@ -0,0 +1,141 @@ +getPath(); + $GLOBALS['pmaThemeImage'] = 'theme/'; + + include_once 'libraries/relation.lib.php'; + } + + /** + * Test for PMA_queryAsControlUser + * + * @return void + */ + public function testPMA_queryAsControlUser() + { + $dbi = $this->getMockBuilder('PMA_DatabaseInterface') + ->disableOriginalConstructor() + ->getMock(); + + $dbi->expects($this->once()) + ->method('query') + ->will($this->returnValue('executeResult1')); + + $dbi->expects($this->once()) + ->method('tryQuery') + ->will($this->returnValue('executeResult2')); + + $GLOBALS['dbi'] = $dbi; + + $sql = "insert into PMA_bookmark A,B values(1, 2)"; + $this->assertEquals( + 'executeResult1', + PMA_queryAsControlUser($sql) + ); + $this->assertEquals( + 'executeResult2', + PMA_queryAsControlUser($sql, false) + ); + } + + /** + * Test for PMA_getRelationsParam & PMA_getRelationsParamDiagnostic + * + * @return void + */ + public function testPMA_getRelationsParam() + { + $GLOBALS['cfg']['ServerDefault'] = 0; + $_SESSION['relation'] = array(); + + $relationsPara = PMA_getRelationsParam(); + $this->assertEquals( + false, + $relationsPara['relwork'] + ); + $this->assertEquals( + false, + $relationsPara['bookmarkwork'] + ); + $this->assertEquals( + 'root', + $relationsPara['user'] + ); + $this->assertEquals( + 'phpmyadmin', + $relationsPara['db'] + ); + + $retval = PMA_getRelationsParamDiagnostic($relationsPara); + //check $cfg['Servers'][$i]['pmadb'] + $this->assertContains( + "\$cfg['Servers'][\$i]['pmadb']", + $retval + ); + $this->assertContains( + 'OK', + $retval + ); + + //$cfg['Servers'][$i]['relation'] + $result = "\$cfg['Servers'][\$i]['pmadb'] ...