Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/HuasoFoundries/phpPgAdmin6.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorffflabs <amenadiel@gmail.com>2020-03-06 00:22:33 +0300
committerffflabs <amenadiel@gmail.com>2020-03-06 00:22:33 +0300
commit09c13116a9d98caea5030e2c0bd300059b75a086 (patch)
tree2ce353615410bf450498684bc900e4f08d6f109d
parent98393645c36629d551d01b6f7f32a14f5416655d (diff)
fixes tests
-rw-r--r--src/classes/ContainerUtils.php3
-rw-r--r--src/controllers/DisplayController.php31
-rw-r--r--tests/_support/Helper/Unit.php4
-rw-r--r--tests/unit/ViewTest.php82
4 files changed, 65 insertions, 55 deletions
diff --git a/src/classes/ContainerUtils.php b/src/classes/ContainerUtils.php
index c3d66f77..37606452 100644
--- a/src/classes/ContainerUtils.php
+++ b/src/classes/ContainerUtils.php
@@ -71,6 +71,7 @@ class ContainerUtils
$appVersion = $composerinfo->extra->version;
$phpMinVer = (\str_replace(['<', '>', '='], '', $composerinfo->require->php));
+ //$this->prtrace($appVersion);
//$this->dump($composerinfo);
$settings = [
'determineRouteBeforeAppMiddleware' => true,
@@ -317,6 +318,7 @@ class ContainerUtils
{
$_server_info = $this->container->misc->getServerInfo();
$this->addFlash($subject, 'getDestinationWithLastTab');
+ //$this->prtrace('$_server_info', $_server_info);
// If username isn't set in server_info, you should login
if (!isset($_server_info['username'])) {
$destinationurl = $this->getRedirectUrl();
@@ -328,6 +330,7 @@ class ContainerUtils
$urlvars = [];
foreach ($url['urlvars'] as $key => $urlvar) {
+ //$this->prtrace($key, $urlvar);
$urlvars[$key] = \PHPPgAdmin\Decorators\Decorator::get_sanitized_value($urlvar, $_REQUEST);
}
$_REQUEST = \array_merge($_REQUEST, $urlvars);
diff --git a/src/controllers/DisplayController.php b/src/controllers/DisplayController.php
index 104c8c42..18252017 100644
--- a/src/controllers/DisplayController.php
+++ b/src/controllers/DisplayController.php
@@ -146,7 +146,6 @@ class DisplayController extends BaseController
);
$_REQUEST['query'] = $query;
$_REQUEST['return'] = 'selectrows';
- $this->prtrace($query);
}
//$object = $this->setIfIsset($object, $_REQUEST[$subject]);
@@ -164,7 +163,6 @@ class DisplayController extends BaseController
$this->printTabs($subject, $tabsPosition);
[$query, $title, $type] = $this->getQueryTitleAndType($data, $object);
- $this->prtrace($query);
$this->printTitle($this->lang[$title]);
@@ -471,8 +469,12 @@ class DisplayController extends BaseController
echo '<table id="data">' . \PHP_EOL;
echo '<tr>';
- // Display edit and delete actions if we have a key
- $display_action_column = (0 < \count($actions['actionbuttons']) && 0 < \count($key));
+ try {
+ // Display edit and delete actions if we have a key
+ $display_action_column = (0 < \count($actions['actionbuttons']) && 0 < \count($key));
+ } catch (\Exception $e) {
+ $display_action_column = false;
+ }
echo $display_action_column ? "<th class=\"data\">{$this->lang['stractions']}</th>" . \PHP_EOL : '';
@@ -957,20 +959,23 @@ class DisplayController extends BaseController
if ($object) {
$key = $data->getRowIdentifier($object);
}
+ // -1 means no unique keys, other non iterable should be discarded as well
+ if ($key === -1 || \is_iterable($key)) {
+ $key = [];
+ }
// Check that the key is actually in the result set. This can occur for select
// operations where the key fields aren't part of the select. XXX: We should
// be able to support this, somehow.
- if (\is_iterable($key)) {
- foreach ($key as $v) {
- // If a key column is not found in the record set, then we
- // can't use the key.
- if (!\array_key_exists($v, $resultset->fields)) {
- $key = [];
-
- break;
- }
+ foreach ($key as $v) {
+ // If a key column is not found in the record set, then we
+ // can't use the key.
+ if (!\array_key_exists($v, $resultset->fields)) {
+ $key = [];
+
+ break;
}
}
+
$buttons = [
'edit' => [
'content' => $this->lang['stredit'],
diff --git a/tests/_support/Helper/Unit.php b/tests/_support/Helper/Unit.php
index d18682ee..f828c8bc 100644
--- a/tests/_support/Helper/Unit.php
+++ b/tests/_support/Helper/Unit.php
@@ -9,10 +9,11 @@ namespace Helper;
use PHPPgAdmin\ContainerUtils;
-if (!is_readable(BASE_PATH . '/src/lib.inc.php')) {
+if (!is_readable(ContainerUtils::BASE_PATH . '/src/lib.inc.php')) {
die('lib.inc.php is not readable');
}
defined('IN_TEST') || define('IN_TEST', true);
+require_once ContainerUtils::BASE_PATH . '/src/lib.inc.php';
// here you can define custom actions
// all public methods declared in helper class will be available in $I
@@ -40,7 +41,6 @@ class Unit extends \Codeception\Module
//$conf = self::getConf();
if (!static::$_container) {
- require_once BASE_PATH . '/src/lib.inc.php';
self::$_container = ContainerUtils::getContainerInstance();
}
diff --git a/tests/unit/ViewTest.php b/tests/unit/ViewTest.php
index 5099e6dd..fa7bf8c9 100644
--- a/tests/unit/ViewTest.php
+++ b/tests/unit/ViewTest.php
@@ -7,19 +7,21 @@
class ViewTest extends \Codeception\Test\Unit
{
- const BASE_PATH = \Codeception\Util::BASE_PATH;
+ //const BASE_PATH = self::BASE_PATH;
/**
* @var \UnitTester
*/
protected $tester;
protected $_container;
+ protected static $BASE_PATH;
protected function _before()
{
$Helper = $this->getModule('\Helper\Unit');
$this->container = $Helper::getContainer();
-
+ self::$BASE_PATH = $Helper::BASE_PATH;
$this->container->get('misc')->setNoDBConnection(true);
+ // Helper
//\Codeception\Util\Debug::debug('BASE_PATH is ' . \BASE_PATH);
}
@@ -32,7 +34,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testAcinsertView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/acinsert.php';
+ require self::$BASE_PATH . '/tests/views/acinsert.php';
$controller = acinsertFactory($_container);
$this->assertSame($controller->controller_name, 'AcinsertController', 'controller name should be AcinsertController');
}
@@ -40,7 +42,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testAggregatesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/aggregates.php';
+ require self::$BASE_PATH . '/tests/views/aggregates.php';
$controller = aggregatesFactory($_container);
$this->assertSame($controller->controller_name, 'AggregatesController', 'controller name should be AggregatesController');
}
@@ -48,7 +50,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testAlldbView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/alldb.php';
+ require self::$BASE_PATH . '/tests/views/alldb.php';
$controller = alldbFactory($_container);
$this->assertSame($controller->controller_name, 'AlldbController', 'controller name should be AlldbController');
}
@@ -56,7 +58,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testBrowserView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/browser.php';
+ require self::$BASE_PATH . '/tests/views/browser.php';
$controller = browserFactory($_container);
$this->assertSame($controller->controller_name, 'BrowserController', 'controller name should be BrowserController');
}
@@ -64,7 +66,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testCastsView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/casts.php';
+ require self::$BASE_PATH . '/tests/views/casts.php';
$controller = castsFactory($_container);
$this->assertSame($controller->controller_name, 'CastsController', 'controller name should be CastsController');
}
@@ -72,7 +74,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testColpropertiesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/colproperties.php';
+ require self::$BASE_PATH . '/tests/views/colproperties.php';
$controller = colpropertiesFactory($_container);
$this->assertSame($controller->controller_name, 'ColpropertiesController', 'controller name should be ColpropertiesController');
}
@@ -80,7 +82,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testConstraintsView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/constraints.php';
+ require self::$BASE_PATH . '/tests/views/constraints.php';
$controller = constraintsFactory($_container);
$this->assertSame($controller->controller_name, 'ConstraintsController', 'controller name should be ConstraintsController');
}
@@ -88,7 +90,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testConversionsView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/conversions.php';
+ require self::$BASE_PATH . '/tests/views/conversions.php';
$controller = conversionsFactory($_container);
$this->assertSame($controller->controller_name, 'ConversionsController', 'controller name should be ConversionsController');
}
@@ -96,7 +98,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testDatabaseView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/database.php';
+ require self::$BASE_PATH . '/tests/views/database.php';
$controller = databaseFactory($_container);
$this->assertSame($controller->controller_name, 'DatabaseController', 'controller name should be DatabaseController');
}
@@ -104,7 +106,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testDataexportView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/dataexport.php';
+ require self::$BASE_PATH . '/tests/views/dataexport.php';
$controller = dataexportFactory($_container);
$this->assertSame($controller->controller_name, 'DataexportController', 'controller name should be DataexportController');
}
@@ -112,7 +114,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testDataimportView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/dataimport.php';
+ require self::$BASE_PATH . '/tests/views/dataimport.php';
$controller = dataimportFactory($_container);
$this->assertSame($controller->controller_name, 'DataimportController', 'controller name should be DataimportController');
}
@@ -120,7 +122,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testDbexportView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/dbexport.php';
+ require self::$BASE_PATH . '/tests/views/dbexport.php';
$controller = dbexportFactory($_container);
$this->assertSame($controller->controller_name, 'DbexportController', 'controller name should be DbexportController');
}
@@ -128,7 +130,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testDisplayView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/display.php';
+ require self::$BASE_PATH . '/tests/views/display.php';
$controller = displayFactory($_container);
$this->assertSame($controller->controller_name, 'DisplayController', 'controller name should be DisplayController');
}
@@ -136,7 +138,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testDomainsView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/domains.php';
+ require self::$BASE_PATH . '/tests/views/domains.php';
$controller = domainsFactory($_container);
$this->assertSame($controller->controller_name, 'DomainsController', 'controller name should be DomainsController');
}
@@ -144,7 +146,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testFulltextView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/fulltext.php';
+ require self::$BASE_PATH . '/tests/views/fulltext.php';
$controller = fulltextFactory($_container);
$this->assertSame($controller->controller_name, 'FulltextController', 'controller name should be FulltextController');
}
@@ -152,7 +154,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testFunctionsView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/functions.php';
+ require self::$BASE_PATH . '/tests/views/functions.php';
$controller = functionsFactory($_container);
$this->assertSame($controller->controller_name, 'FunctionsController', 'controller name should be FunctionsController');
}
@@ -160,7 +162,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testGroupsView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/groups.php';
+ require self::$BASE_PATH . '/tests/views/groups.php';
$controller = groupsFactory($_container);
$this->assertSame($controller->controller_name, 'GroupsController', 'controller name should be GroupsController');
}
@@ -168,7 +170,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testHelpView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/help.php';
+ require self::$BASE_PATH . '/tests/views/help.php';
$controller = helpFactory($_container);
$this->assertSame($controller->controller_name, 'HelpController', 'controller name should be HelpController');
}
@@ -176,7 +178,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testHistoryView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/history.php';
+ require self::$BASE_PATH . '/tests/views/history.php';
$controller = historyFactory($_container);
$this->assertSame($controller->controller_name, 'HistoryController', 'controller name should be HistoryController');
}
@@ -184,7 +186,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testIndexesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/indexes.php';
+ require self::$BASE_PATH . '/tests/views/indexes.php';
$controller = indexesFactory($_container);
$this->assertSame($controller->controller_name, 'IndexesController', 'controller name should be IndexesController');
}
@@ -192,7 +194,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testInfoView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/info.php';
+ require self::$BASE_PATH . '/tests/views/info.php';
$controller = infoFactory($_container);
$this->assertSame($controller->controller_name, 'InfoController', 'controller name should be InfoController');
}
@@ -200,7 +202,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testIntroView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/intro.php';
+ require self::$BASE_PATH . '/tests/views/intro.php';
$controller = introFactory($_container);
$this->assertSame($controller->controller_name, 'IntroController', 'controller name should be IntroController');
}
@@ -208,7 +210,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testLanguagesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/languages.php';
+ require self::$BASE_PATH . '/tests/views/languages.php';
$controller = languagesFactory($_container);
$this->assertSame($controller->controller_name, 'LanguagesController', 'controller name should be LanguagesController');
}
@@ -216,7 +218,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testLoginView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/login.php';
+ require self::$BASE_PATH . '/tests/views/login.php';
$controller = loginFactory($_container);
$this->assertSame($controller->controller_name, 'LoginController', 'controller name should be LoginController');
}
@@ -224,7 +226,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testOpclassesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/opclasses.php';
+ require self::$BASE_PATH . '/tests/views/opclasses.php';
$controller = opclassesFactory($_container);
$this->assertSame($controller->controller_name, 'OpclassesController', 'controller name should be OpclassesController');
}
@@ -232,7 +234,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testOperatorsView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/operators.php';
+ require self::$BASE_PATH . '/tests/views/operators.php';
$controller = operatorsFactory($_container);
$this->assertSame($controller->controller_name, 'OperatorsController', 'controller name should be OperatorsController');
}
@@ -240,7 +242,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testPrivilegesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/privileges.php';
+ require self::$BASE_PATH . '/tests/views/privileges.php';
$controller = privilegesFactory($_container);
$this->assertSame($controller->controller_name, 'PrivilegesController', 'controller name should be PrivilegesController');
}
@@ -248,7 +250,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testRolesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/roles.php';
+ require self::$BASE_PATH . '/tests/views/roles.php';
$controller = rolesFactory($_container);
$this->assertSame($controller->controller_name, 'RolesController', 'controller name should be RolesController');
}
@@ -256,7 +258,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testRulesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/rules.php';
+ require self::$BASE_PATH . '/tests/views/rules.php';
$controller = rulesFactory($_container);
$this->assertSame($controller->controller_name, 'RulesController', 'controller name should be RulesController');
}
@@ -264,7 +266,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testSchemasView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/schemas.php';
+ require self::$BASE_PATH . '/tests/views/schemas.php';
$controller = schemasFactory($_container);
$this->assertSame($controller->controller_name, 'SchemasController', 'controller name should be SchemasController');
}
@@ -272,7 +274,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testSequencesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/sequences.php';
+ require self::$BASE_PATH . '/tests/views/sequences.php';
$controller = sequencesFactory($_container);
$this->assertSame($controller->controller_name, 'SequencesController', 'controller name should be SequencesController');
}
@@ -280,7 +282,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testServersView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/servers.php';
+ require self::$BASE_PATH . '/tests/views/servers.php';
$controller = serversFactory($_container);
$this->assertSame($controller->controller_name, 'ServersController', 'controller name should be ServersController');
}
@@ -288,7 +290,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testSqleditView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/sqledit.php';
+ require self::$BASE_PATH . '/tests/views/sqledit.php';
$controller = sqleditFactory($_container);
$this->assertSame($controller->controller_name, 'SqleditController', 'controller name should be SqleditController');
}
@@ -296,7 +298,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testSqlView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/sql.php';
+ require self::$BASE_PATH . '/tests/views/sql.php';
$controller = sqlFactory($_container);
$this->assertSame($controller->controller_name, 'SqlController', 'controller name should be SqlController');
}
@@ -304,7 +306,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testTablespacesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/tablespaces.php';
+ require self::$BASE_PATH . '/tests/views/tablespaces.php';
$controller = tablespacesFactory($_container);
$this->assertSame($controller->controller_name, 'TablespacesController', 'controller name should be TablespacesController');
}
@@ -312,7 +314,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testTriggersView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/triggers.php';
+ require self::$BASE_PATH . '/tests/views/triggers.php';
$controller = triggersFactory($_container);
$this->assertSame($controller->controller_name, 'TriggersController', 'controller name should be TriggersController');
}
@@ -320,7 +322,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testTypesView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/types.php';
+ require self::$BASE_PATH . '/tests/views/types.php';
$controller = typesFactory($_container);
$this->assertSame($controller->controller_name, 'TypesController', 'controller name should be TypesController');
}
@@ -328,7 +330,7 @@ class ViewTest extends \Codeception\Test\Unit
public function testUsersView()
{
$_container = $this->container;
- require self::BASE_PATH . '/tests/views/users.php';
+ require self::$BASE_PATH . '/tests/views/users.php';
$controller = usersFactory($_container);
$this->assertSame($controller->controller_name, 'UsersController', 'controller name should be UsersController');
}