PMA_VERSION, 'db' => 'pmadb', 'users' => 'users', 'usergroups' => 'usergroups' ]; } /** * Tests UserGroups::getHtmlForUserGroupsTable() function when there are no user groups * * @return void * @group medium */ public function testGetHtmlForUserGroupsTableWithNoUserGroups() { $expectedQuery = "SELECT * FROM `pmadb`.`usergroups`" . " ORDER BY `usergroup` ASC"; $dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface') ->disableOriginalConstructor() ->getMock(); $dbi->expects($this->once()) ->method('tryQuery') ->with($expectedQuery) ->will($this->returnValue(true)); $dbi->expects($this->once()) ->method('numRows') ->withAnyParameters() ->will($this->returnValue(0)); $dbi->expects($this->once()) ->method('freeResult'); $GLOBALS['dbi'] = $dbi; $html = UserGroups::getHtmlForUserGroupsTable(); $this->assertNotContains( '', $html ); $url_tag = 'getMockBuilder('PhpMyAdmin\DatabaseInterface') ->disableOriginalConstructor() ->getMock(); $dbi->expects($this->once()) ->method('tryQuery') ->with($expectedQuery) ->will($this->returnValue(true)); $dbi->expects($this->once()) ->method('numRows') ->withAnyParameters() ->will($this->returnValue(1)); $dbi->expects($this->at(2)) ->method('fetchAssoc') ->withAnyParameters() ->will( $this->returnValue( [ 'usergroup' => 'usergroup', 'tab' => 'server_sql', 'allowed' => 'Y' ] ) ); $dbi->expects($this->at(3)) ->method('fetchAssoc') ->withAnyParameters() ->will($this->returnValue(false)); $dbi->expects($this->once()) ->method('freeResult'); $GLOBALS['dbi'] = $dbi; $html = UserGroups::getHtmlForUserGroupsTable(); $this->assertContains( '', $html ); $url_tag = 'getMockBuilder('PhpMyAdmin\DatabaseInterface') ->disableOriginalConstructor() ->getMock(); $dbi->expects($this->at(1)) ->method('query') ->with($userDelQuery); $dbi->expects($this->at(3)) ->method('query') ->with($userGrpDelQuery); $dbi->expects($this->any()) ->method('escapeString') ->will($this->returnArgument(0)); $GLOBALS['dbi'] = $dbi; UserGroups::delete('ug'); } /** * Tests UserGroups::getHtmlToEditUserGroup() function * * @return void */ public function testGetHtmlToEditUserGroup() { // adding a user group $html = UserGroups::getHtmlToEditUserGroup(); $this->assertContains( 'assertContains( 'getMockBuilder('PhpMyAdmin\DatabaseInterface') ->disableOriginalConstructor() ->getMock(); $dbi->expects($this->once()) ->method('tryQuery') ->with($expectedQuery) ->will($this->returnValue(true)); $dbi->expects($this->exactly(2)) ->method('fetchAssoc') ->willReturnOnConsecutiveCalls( [ 'usergroup' => 'ug', 'tab' => 'server_sql', 'allowed' => 'Y' ], false ); $dbi->expects($this->once()) ->method('freeResult'); $dbi->expects($this->any()) ->method('escapeString') ->will($this->returnArgument(0)); $GLOBALS['dbi'] = $dbi; // editing a user group $html = UserGroups::getHtmlToEditUserGroup('ug'); $this->assertContains( 'assertContains( 'assertContains( 'assertContains( '', $html ); $this->assertContains( '', $html ); } }
usergroup