1
0
mirror of https://github.com/phpmyadmin/phpmyadmin.git synced 2026-10-23 18:29:15 +03:00

Merge branch 'QA_5_2'

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.com.br>
This commit is contained in:
Maurício Meneghini Fauth
2026-07-31 18:15:28 -03:00
82 changed files with 911 additions and 831 deletions

View File

@@ -190,3 +190,47 @@ jobs:
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: build/logs/clover.xml
test-php-with-newer-phpunit:
name: Test on PHP ${{ matrix.php }} with PHPUnit ${{ matrix.phpunit }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { php: '8.3', phpunit: '12' }
- { php: '8.4', phpunit: '13' }
steps:
- name: Checkout code
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Install gettext and generate translation files
run: |
sudo apt-get install -y gettext
./bin/generate-mo --quiet
- name: Set up PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: mbstring, iconv, mysqli, zip, gd, bz2
- name: Update composer.json
shell: bash
env:
PHPUNIT_VERSION: ${{ matrix.phpunit }}
run: |
composer config --unset platform --no-interaction --ansi
composer remove --dev vimeo/psalm psalm/plugin-phpunit --no-update --no-interaction --ansi
composer require --dev phpunit/phpunit:^"$PHPUNIT_VERSION" --no-update --no-interaction --ansi
composer validate --strict
- name: Install Composer dependencies
uses: ramsey/composer-install@v4
with:
dependency-versions: highest
- name: Run PHP tests
run: vendor/bin/phpunit --testsuite unit --no-coverage --no-logging --display-all-issues

View File

@@ -13896,6 +13896,12 @@ parameters:
count: 3
path: tests/unit/Config/PageSettingsTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Config/ServerConfigChecksTest.php
-
message: '#^Call to static method PHPUnit\\Framework\\Assert\:\:assertArrayHasKey\(\) with ''notice'' and array\{blowfish_secret\: ''aaaaaaaaaaaaaaaaaaa…'', Servers\: array\{1\: array\{host\: ''localhost'', auth_type\: ''cookie''\}\}\} will always evaluate to false\.$#'
identifier: staticMethod.impossibleType
@@ -14130,6 +14136,12 @@ parameters:
count: 1
path: tests/unit/Config/UserPreferencesTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/ConfigStorage/RelationTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -14238,6 +14250,12 @@ parameters:
count: 2
path: tests/unit/Controllers/Database/EventsControllerTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Controllers/Database/PrivilegesControllerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -14274,6 +14292,12 @@ parameters:
count: 1
path: tests/unit/Controllers/Database/Structure/RealRowCountControllerTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Controllers/Database/StructureControllerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -14346,6 +14370,12 @@ parameters:
count: 1
path: tests/unit/Controllers/Database/StructureControllerTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Controllers/Export/ExportControllerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -14517,6 +14547,12 @@ parameters:
count: 1
path: tests/unit/Controllers/Server/Databases/DestroyControllerTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Controllers/Server/Databases/DestroyControllerTest.php
-
message: '#^Parameter \#2 \$haystack of static method PHPUnit\\Framework\\Assert\:\:assertStringContainsString\(\) expects string, mixed given\.$#'
identifier: argument.type
@@ -14595,6 +14631,12 @@ parameters:
count: 1
path: tests/unit/Controllers/Server/ShowEngineControllerTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Controllers/Server/Status/AdvisorControllerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -14862,6 +14904,12 @@ parameters:
count: 1
path: tests/unit/Controllers/Server/Status/VariablesControllerTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Controllers/Server/VariablesControllerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -14967,6 +15015,12 @@ parameters:
count: 1
path: tests/unit/Controllers/Table/IndexRenameControllerTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Controllers/Table/IndexesControllerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -14976,6 +15030,12 @@ parameters:
count: 2
path: tests/unit/Controllers/Table/IndexesControllerTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Controllers/Table/PrivilegesControllerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -14994,6 +15054,12 @@ parameters:
count: 1
path: tests/unit/Controllers/Table/PrivilegesControllerTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Controllers/Table/RelationControllerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -15081,6 +15147,12 @@ parameters:
count: 2
path: tests/unit/Controllers/ThemeSetControllerTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Controllers/Triggers/IndexControllerTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -15177,6 +15249,12 @@ parameters:
count: 1
path: tests/unit/Crypto/CryptoTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Database/CentralColumnsTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -15219,6 +15297,18 @@ parameters:
count: 1
path: tests/unit/Database/EventsTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Database/EventsTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Database/RoutinesTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -15291,6 +15381,12 @@ parameters:
count: 1
path: tests/unit/Dbal/DbiDummyTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 2
path: tests/unit/Dbal/DbiMysqliTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -15411,6 +15507,12 @@ parameters:
count: 1
path: tests/unit/Export/ExportTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Export/OptionsTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -15468,6 +15570,12 @@ parameters:
count: 2
path: tests/unit/Gis/Ds/PolygonTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Gis/GisGeometryTest.php
-
message: '#^Cannot access offset ''data_length'' on mixed\.$#'
identifier: offsetAccess.nonOffsetAccessible
@@ -15705,6 +15813,12 @@ parameters:
count: 1
path: tests/unit/InsertEditTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 4
path: tests/unit/InsertEditTest.php
-
message: '#^Method PhpMyAdmin\\Tests\\InsertEditTest\:\:parseString\(\) should return string but returns mixed\.$#'
identifier: return.type
@@ -15774,6 +15888,12 @@ parameters:
count: 8
path: tests/unit/Navigation/Nodes/NodeTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Navigation/Nodes/NodeTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -15783,6 +15903,12 @@ parameters:
count: 4
path: tests/unit/Navigation/Nodes/ObjectFetcherTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/NormalizationTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -15993,6 +16119,12 @@ parameters:
count: 2
path: tests/unit/Plugins/Auth/AuthenticationConfigTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Plugins/Auth/AuthenticationConfigTest.php
-
message: '#^Property PhpMyAdmin\\Config\:\:\$selectedServer \(array\{host\: string, port\: string, socket\: string, ssl\: bool, ssl_key\: string\|null, ssl_cert\: string\|null, ssl_ca\: string\|null, ssl_ca_path\: string\|null, \.\.\.\}\) does not accept array\{user\: ''username'', password\: ''password''\}\.$#'
identifier: assign.propertyType
@@ -16083,6 +16215,12 @@ parameters:
count: 2
path: tests/unit/Plugins/Auth/AuthenticationHttpTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Plugins/Auth/AuthenticationSignonTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16131,6 +16269,12 @@ parameters:
count: 1
path: tests/unit/Plugins/Export/ExportHtmlwordTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Plugins/Export/ExportHtmlwordTest.php
-
message: '#^Parameter \#2 \$haystack of static method PHPUnit\\Framework\\Assert\:\:assertStringContainsString\(\) expects string, mixed given\.$#'
identifier: argument.type
@@ -16143,6 +16287,12 @@ parameters:
count: 1
path: tests/unit/Plugins/Export/ExportHtmlwordTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Plugins/Export/ExportLatexTest.php
-
message: '#^Parameter \#2 \$haystack of static method PHPUnit\\Framework\\Assert\:\:assertStringContainsString\(\) expects string, string\|false given\.$#'
identifier: argument.type
@@ -16155,6 +16305,12 @@ parameters:
count: 1
path: tests/unit/Plugins/Export/ExportLatexTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Plugins/Export/ExportMediawikiTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16164,6 +16320,18 @@ parameters:
count: 1
path: tests/unit/Plugins/Export/ExportOdtTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Plugins/Export/ExportOdtTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Plugins/Export/ExportSqlTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16197,6 +16365,36 @@ parameters:
count: 2
path: tests/unit/Plugins/Export/ExportXmlTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 3
path: tests/unit/Plugins/Import/ImportCsvTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Plugins/Import/ImportLdiTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 2
path: tests/unit/Plugins/Import/ImportMediawikiTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Plugins/Import/ImportShpTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Plugins/Import/ImportXmlTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16278,6 +16476,18 @@ parameters:
count: 1
path: tests/unit/PluginsTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Properties/Options/OptionsPropertyGroupTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Properties/Options/OptionsPropertyOneItemTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16341,6 +16551,12 @@ parameters:
count: 1
path: tests/unit/Server/PluginsTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Server/PrivilegesTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16491,6 +16707,12 @@ parameters:
count: 1
path: tests/unit/Stubs/ResponseRenderer.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/SystemDatabaseTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16500,6 +16722,12 @@ parameters:
count: 1
path: tests/unit/SystemDatabaseTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/SystemDatabaseTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16509,6 +16737,18 @@ parameters:
count: 1
path: tests/unit/Table/ColumnsDefinitionTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Table/IndexesTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Table/IndexesTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Dbal\\DatabaseInterface\:
@@ -16518,6 +16758,12 @@ parameters:
count: 1
path: tests/unit/Table/SearchTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/Table/TableTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16590,6 +16836,18 @@ parameters:
count: 2
path: tests/unit/Tracking/TrackingTest.php
-
message: '#^Dynamic call to static method PHPUnit\\Framework\\TestCase\:\:createStub\(\)\.$#'
identifier: staticMethod.dynamicCall
count: 1
path: tests/unit/Tracking/TrackingTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/TransformationsTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16677,6 +16935,12 @@ parameters:
count: 4
path: tests/unit/UrlTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/UtilTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:
@@ -16800,6 +17064,12 @@ parameters:
count: 2
path: tests/unit/Utils/SessionCacheTest.php
-
message: '#^Attribute class PHPUnit\\Framework\\Attributes\\AllowMockObjectsWithoutExpectations does not exist\.$#'
identifier: attribute.notFound
count: 1
path: tests/unit/VersionInformationTest.php
-
message: '''
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Config\:

View File

@@ -8763,6 +8763,9 @@
<MixedAssignment>
<code><![CDATA[$this->sessionID]]></code>
</MixedAssignment>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Config/SettingsTest.php">
<PossiblyUnusedMethod>
@@ -8943,6 +8946,9 @@
<code><![CDATA[assertSame]]></code>
<code><![CDATA[assertSame]]></code>
</TypeDoesNotContainType>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/ConfigTest.php">
<PossiblyInvalidArgument>
@@ -9007,6 +9013,9 @@
<code><![CDATA[Config::getInstance()]]></code>
<code><![CDATA[DatabaseInterface::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Controllers/Database/RoutinesControllerTest.php">
<DeprecatedMethod>
@@ -9085,12 +9094,18 @@
<code><![CDATA[[$currentTable, , , , , , $sumSize]]]></code>
<code><![CDATA[[$currentTable]]]></code>
</MixedAssignment>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Controllers/Export/ExportControllerTest.php">
<DeprecatedMethod>
<code><![CDATA[Config::getInstance()]]></code>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Controllers/Export/Template/CreateControllerTest.php">
<DeprecatedMethod>
@@ -9232,6 +9247,9 @@
<code><![CDATA[DatabaseInterface::getInstance()]]></code>
<code><![CDATA[DatabaseInterface::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Controllers/Server/Status/Monitor/GeneralLogControllerTest.php">
<DeprecatedMethod>
@@ -9344,6 +9362,9 @@
<code><![CDATA[[$formattedValue, $isHtmlFormatted]]]></code>
<code><![CDATA[[$formattedValue, $isHtmlFormatted]]]></code>
</MixedAssignment>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Controllers/Sql/EnumValuesControllerTest.php">
<DeprecatedMethod>
@@ -9405,12 +9426,18 @@
<code><![CDATA[Config::getInstance()]]></code>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Controllers/Table/PrivilegesControllerTest.php">
<DeprecatedMethod>
<code><![CDATA[Config::getInstance()]]></code>
<code><![CDATA[DatabaseInterface::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Controllers/Table/RelationControllerTest.php">
<DeprecatedMethod>
@@ -9420,6 +9447,9 @@
<code><![CDATA[Config::getInstance()]]></code>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Controllers/Table/ReplaceControllerTest.php">
<DeprecatedMethod>
@@ -9478,6 +9508,9 @@
<code><![CDATA[Config::getInstance()]]></code>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/CoreTest.php">
<DeprecatedMethod>
@@ -9557,6 +9590,9 @@
<DeprecatedMethod>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Database/DesignerTest.php">
<DeprecatedMethod>
@@ -9584,6 +9620,9 @@
<code><![CDATA[$_REQUEST[$key]]]></code>
<code><![CDATA[$value]]></code>
</MixedAssignment>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Database/SearchTest.php">
<DeprecatedMethod>
@@ -9723,6 +9762,9 @@
<code><![CDATA[Config::getInstance()]]></code>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/FileListingTest.php">
<DeprecatedMethod>
@@ -9774,6 +9816,9 @@
<code><![CDATA[$extent]]></code>
<code><![CDATA[$points]]></code>
</MixedAssignment>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Gis/GisPolygonTest.php">
<MixedArrayAccess>
@@ -10015,6 +10060,9 @@
<DocblockTypeContradiction>
<code><![CDATA[assertSame]]></code>
</DocblockTypeContradiction>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/PdfTest.php">
<MixedArgument>
@@ -10148,6 +10196,9 @@
<RedundantCondition>
<code><![CDATA[assertSame]]></code>
</RedundantCondition>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Plugins/AuthenticationPluginFactoryTest.php">
<DeprecatedMethod>
@@ -10198,6 +10249,9 @@
<code><![CDATA[$result]]></code>
<code><![CDATA[$result]]></code>
</MixedAssignment>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Plugins/Export/ExportTexytextTest.php">
<DeprecatedMethod>
@@ -10214,12 +10268,20 @@
<TypeDoesNotContainType>
<code><![CDATA[assertTrue]]></code>
</TypeDoesNotContainType>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Plugins/Import/ImportShpTest.php">
<RedundantCondition>
<code><![CDATA[assertFalse]]></code>
</RedundantCondition>
</file>
<file src="tests/unit/Plugins/Import/ImportXmlTest.php">
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Plugins/Schema/DiaRelationSchemaTest.php">
<DeprecatedMethod>
<code><![CDATA[Config::getInstance()]]></code>
@@ -10262,6 +10324,16 @@
<code><![CDATA[Config::getInstance()->settings]]></code>
</PropertyTypeCoercion>
</file>
<file src="tests/unit/Properties/Options/OptionsPropertyGroupTest.php">
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Properties/Options/OptionsPropertyOneItemTest.php">
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Replication/ReplicationGuiTest.php">
<DeprecatedMethod>
<code><![CDATA[Config::getInstance()]]></code>
@@ -10301,6 +10373,9 @@
<code><![CDATA[Config::getInstance()]]></code>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Server/SelectTest.php">
<DeprecatedMethod>
@@ -10396,12 +10471,20 @@
<DeprecatedMethod>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Table/ColumnsDefinitionTest.php">
<DeprecatedMethod>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
</file>
<file src="tests/unit/Table/IndexesTest.php">
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Table/SearchTest.php">
<DeprecatedMethod>
<code><![CDATA[DatabaseInterface::getInstance()]]></code>
@@ -10416,6 +10499,9 @@
<code><![CDATA[$isDefineProperty]]></code>
<code><![CDATA[$sql]]></code>
</MixedAssignment>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Tracking/TrackerTest.php">
<DeprecatedMethod>
@@ -10461,6 +10547,9 @@
<code><![CDATA[testGetOptions]]></code>
<code><![CDATA[testGetOptions]]></code>
</PossiblyInvalidArgument>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Triggers/TriggersTest.php">
<DeprecatedMethod>
@@ -10542,6 +10631,9 @@
<code><![CDATA[testBackquote]]></code>
<code><![CDATA[testBackquote]]></code>
</PossiblyInvalidArgument>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
<file src="tests/unit/Utils/ForeignKeyTest.php">
<DeprecatedMethod>
@@ -10636,5 +10728,8 @@
<MixedArrayAccess>
<code><![CDATA[$_SESSION['cache']['version_check']]]></code>
</MixedArrayAccess>
<UndefinedAttributeClass>
<code><![CDATA[AllowMockObjectsWithoutExpectations]]></code>
</UndefinedAttributeClass>
</file>
</files>

View File

@@ -27,7 +27,7 @@ final class ApplicationTest extends AbstractTestCase
#[BackupStaticProperties(true)]
public function testRunWithConfigError(): void
{
$config = self::createMock(Config::class);
$config = $this->createMock(Config::class);
$config->expects(self::once())->method('loadFromFile')
->willThrowException(new ConfigException('Failed to load phpMyAdmin configuration.'));
$config->config = new Config\Settings([]);

View File

@@ -7,6 +7,7 @@ namespace PhpMyAdmin\Tests\Config;
use PhpMyAdmin\Config\ConfigFile;
use PhpMyAdmin\Config\ServerConfigChecks;
use PhpMyAdmin\Tests\AbstractTestCase;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
use ReflectionException;
@@ -19,6 +20,7 @@ use function str_repeat;
use const SODIUM_CRYPTO_SECRETBOX_KEYBYTES;
#[CoversClass(ServerConfigChecks::class)]
#[AllowMockObjectsWithoutExpectations]
class ServerConfigChecksTest extends AbstractTestCase
{
private string $sessionID;

View File

@@ -103,9 +103,7 @@ class UserPreferencesTest extends AbstractTestCase
]);
(new ReflectionProperty(Relation::class, 'cache'))->setValue(null, $relationParameters);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$query = 'SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts '
. 'FROM `pma\'db`.`testconf` WHERE `username` = \'user\'';
@@ -114,8 +112,7 @@ class UserPreferencesTest extends AbstractTestCase
->method('fetchSingleRow')
->with($query, DatabaseInterface::FETCH_ASSOC, ConnectionType::ControlUser)
->willReturn(['ts' => '123', 'config_data' => json_encode([1, 2])]);
$dbi->expects(self::any())
->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$userPreferences = new UserPreferences(
@@ -188,9 +185,7 @@ class UserPreferencesTest extends AbstractTestCase
$query2 = 'UPDATE `pmadb`.`testconf` SET `timevalue` = NOW(), `config_data` = \''
. json_encode([1]) . '\' WHERE `username` = \'user\'';
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('fetchValue')
@@ -202,8 +197,7 @@ class UserPreferencesTest extends AbstractTestCase
->with($query2, ConnectionType::ControlUser)
->willReturn(self::createStub(DummyResult::class));
$dbi->expects(self::any())
->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$userPreferences = new UserPreferences(
@@ -224,9 +218,7 @@ class UserPreferencesTest extends AbstractTestCase
$query2 = 'INSERT INTO `pmadb`.`testconf` (`username`, `timevalue`,`config_data`) '
. 'VALUES (\'user\', NOW(), \'' . json_encode([1]) . '\')';
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('fetchValue')
@@ -242,8 +234,7 @@ class UserPreferencesTest extends AbstractTestCase
->method('getError')
->with(ConnectionType::ControlUser)
->willReturn('err1');
$dbi->expects(self::any())
->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$userPreferences = new UserPreferences(

View File

@@ -17,7 +17,7 @@ class RelationCleanupTest extends AbstractTestCase
{
public function testColumnWithoutRelations(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::never())->method('queryAsControlUser');
(new RelationCleanup($dbi, new Relation($dbi)))->column('database', 'table', 'column');
@@ -37,8 +37,8 @@ class RelationCleanupTest extends AbstractTestCase
RelationParameters::COLUMN_INFO => 'column_info',
]));
$dbi = self::createMock(DatabaseInterface::class);
$dbi->expects(self::any())->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$result = self::createStub(ResultInterface::class);
$dbi->expects(self::exactly(4))->method('queryAsControlUser')->willReturnMap([
@@ -69,7 +69,7 @@ class RelationCleanupTest extends AbstractTestCase
public function testTableWithoutRelations(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::never())->method('queryAsControlUser');
(new RelationCleanup($dbi, new Relation($dbi)))->table('database', 'table');
@@ -96,8 +96,8 @@ class RelationCleanupTest extends AbstractTestCase
RelationParameters::NAVIGATION_HIDING => 'navigationhiding',
]));
$dbi = self::createMock(DatabaseInterface::class);
$dbi->expects(self::any())->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$result = self::createStub(ResultInterface::class);
$dbi->expects(self::exactly(7))->method('queryAsControlUser')->willReturnMap([
@@ -119,7 +119,7 @@ class RelationCleanupTest extends AbstractTestCase
public function testDatabaseWithoutRelations(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::never())->method('queryAsControlUser');
(new RelationCleanup($dbi, new Relation($dbi)))->database('database');
@@ -152,8 +152,8 @@ class RelationCleanupTest extends AbstractTestCase
RelationParameters::CENTRAL_COLUMNS => 'central_columns',
]));
$dbi = self::createMock(DatabaseInterface::class);
$dbi->expects(self::any())->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$result = self::createStub(ResultInterface::class);
$dbi->expects(self::exactly(11))->method('queryAsControlUser')->willReturnMap([
@@ -175,7 +175,7 @@ class RelationCleanupTest extends AbstractTestCase
public function testUserWithoutRelations(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::never())->method('queryAsControlUser');
(new RelationCleanup($dbi, new Relation($dbi)))->user('user');
@@ -210,8 +210,8 @@ class RelationCleanupTest extends AbstractTestCase
RelationParameters::DESIGNER_SETTINGS => 'designer_settings',
]));
$dbi = self::createMock(DatabaseInterface::class);
$dbi->expects(self::any())->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$result = self::createStub(ResultInterface::class);
$dbi->expects(self::exactly(10))->method('queryAsControlUser')->willReturnMap([

View File

@@ -16,6 +16,7 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\SqlParser\Utils\ForeignKey;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\DummyResult;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\Medium;
@@ -25,6 +26,7 @@ use function implode;
#[CoversClass(Relation::class)]
#[Medium]
#[AllowMockObjectsWithoutExpectations]
class RelationTest extends AbstractTestCase
{
/**
@@ -132,16 +134,13 @@ class RelationTest extends AbstractTestCase
$config = Config::getInstance();
$config->selectedServer['DisableIS'] = false;
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$getColumnsResult = [
new Column('field1', 'int(11)', null, false, '', null, '', '', 'Comment1'),
new Column('field2', 'text', null, false, '', null, '', '', 'Comment1'),
];
$dbi->expects(self::any())->method('getColumns')
->willReturn($getColumnsResult);
$dbi->method('getColumns')->willReturn($getColumnsResult);
$relation = new Relation($dbi);
@@ -166,20 +165,12 @@ class RelationTest extends AbstractTestCase
*/
public function testPMATryUpgradeTransformations(): void
{
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())
->method('tryQueryAsControlUser')
->willReturn($resultStub);
$resultStub->expects(self::any())
->method('numRows')
->willReturn(0);
$dbi->expects(self::any())
->method('getError')
->willReturn('Error', '');
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('tryQueryAsControlUser')->willReturn($resultStub);
$resultStub->method('numRows')->willReturn(0);
$dbi->method('getError')->willReturn('Error', '');
DatabaseInterface::$instance = $dbi;
$relation = new Relation($dbi);

View File

@@ -49,11 +49,9 @@ class UserGroupsTest extends AbstractTestCase
{
$expectedQuery = 'SELECT * FROM `pmadb`.`usergroups` ORDER BY `usergroup` ASC';
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQueryAsControlUser')
->with($expectedQuery)
@@ -98,12 +96,12 @@ class UserGroupsTest extends AbstractTestCase
$userGrpDelQuery = 'DELETE FROM `pmadb`.`usergroups` WHERE `usergroup`=\'ug\'';
$result = self::createStub(ResultInterface::class);
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(2))->method('queryAsControlUser')->willReturnMap([
[$userDelQuery, $result],
[$userGrpDelQuery, $result],
]);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
UserGroups::delete($dbi, $this->configurableMenusFeature, 'ug');
@@ -119,12 +117,10 @@ class UserGroupsTest extends AbstractTestCase
self::assertStringContainsString('<input type="hidden" name="addUserGroupSubmit" value="1"', $html);
self::assertStringContainsString('<input class="form-control" type="text" name="userGroup"', $html);
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$expectedQuery = 'SELECT * FROM `pmadb`.`usergroups` WHERE `usergroup`=\'user<br>group\'';
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQueryAsControlUser')
->with($expectedQuery)
@@ -134,7 +130,7 @@ class UserGroupsTest extends AbstractTestCase
->willReturnCallback(static function (): Generator {
yield ['usergroup' => 'user<br>group', 'tab' => 'server_sql', 'allowed' => 'Y'];
});
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
DatabaseInterface::$instance = $dbi;

View File

@@ -21,12 +21,12 @@ class CollationConnectionControllerTest extends AbstractTestCase
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['collation_connection', null, 'utf8mb4_general_ci']]);
$response = self::createMock(ResponseRenderer::class);
$response = $this->createMock(ResponseRenderer::class);
$response->expects(self::once())->method('redirect')
->with('index.php?route=/' . Url::getCommonRaw([], '&'));
$response->expects(self::once())->method('response')->willReturn(ResponseFactory::create()->createResponse());
$userPreferencesHandler = self::createMock(UserPreferencesHandler::class);
$userPreferencesHandler = $this->createMock(UserPreferencesHandler::class);
$userPreferencesHandler->expects(self::once())->method('setUserValue')
->with('DefaultConnectionCollation', 'utf8mb4_general_ci', 'utf8mb4_unicode_ci');
$userPreferencesHandler->expects(self::once())->method('updateConfigValue')

View File

@@ -14,11 +14,13 @@ use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\DbiDummy;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PhpMyAdmin\Url;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use function __;
#[CoversClass(PrivilegesController::class)]
#[AllowMockObjectsWithoutExpectations]
class PrivilegesControllerTest extends AbstractTestCase
{
protected DatabaseInterface $dbi;
@@ -51,7 +53,7 @@ class PrivilegesControllerTest extends AbstractTestCase
$privileges = [];
$serverPrivileges = self::createMock(Privileges::class);
$serverPrivileges = $this->createMock(Privileges::class);
$serverPrivileges->method('getAllPrivileges')
->willReturn($privileges);

View File

@@ -18,12 +18,14 @@ use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer as ResponseStub;
use PhpMyAdmin\Tracking\TrackingChecker;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use ReflectionClass;
use ReflectionException;
use ReflectionMethod;
#[CoversClass(StructureController::class)]
#[AllowMockObjectsWithoutExpectations]
class StructureControllerTest extends AbstractTestCase
{
private ResponseStub $response;
@@ -46,20 +48,13 @@ class StructureControllerTest extends AbstractTestCase
Current::$table = 'table';
Current::$database = 'db';
$table = $this->getMockBuilder(Table::class)
->disableOriginalConstructor()
->getMock();
$table = $this->createMock(Table::class);
// Expect the table will have 6 rows
$table->expects(self::any())->method('getRealRowCountTable')
->willReturn(6);
$table->expects(self::any())->method('countRecords')
->willReturn(6);
$table->method('getRealRowCountTable')->willReturn(6);
$table->method('countRecords')->willReturn(6);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())->method('getTable')
->willReturn($table);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('getTable')->willReturn($table);
DatabaseInterface::$instance = $dbi;

View File

@@ -26,6 +26,7 @@ use PhpMyAdmin\Tests\FieldHelper;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PhpMyAdmin\Theme\ThemeManager;
use PhpMyAdmin\ZipExtension;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
use ReflectionProperty;
@@ -44,6 +45,7 @@ use const MYSQLI_TYPE_DECIMAL;
use const MYSQLI_TYPE_STRING;
#[CoversClass(ExportController::class)]
#[AllowMockObjectsWithoutExpectations]
final class ExportControllerTest extends AbstractTestCase
{
public function testExportController(): void

View File

@@ -23,7 +23,7 @@ final class LogoutControllerTest extends AbstractTestCase
$expectedResponse = ResponseFactory::create()->createResponse();
$authPlugin = self::createMock(AuthenticationPlugin::class);
$authPlugin = $this->createMock(AuthenticationPlugin::class);
$authPlugin->expects(self::once())->method('logOut')->willReturn($expectedResponse);
$factory = self::createStub(AuthenticationPluginFactory::class);

View File

@@ -30,9 +30,7 @@ class DestroyControllerTest extends AbstractTestCase
public function testDropDatabases(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$response = new ResponseRenderer();

View File

@@ -57,11 +57,9 @@ class PluginsControllerTest extends AbstractTestCase
'PLUGIN_STATUS' => 'ACTIVE',
];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('query')
->willReturn($resultStub);

View File

@@ -13,10 +13,12 @@ use PhpMyAdmin\Server\Status\Data;
use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
#[CoversClass(AdvisorController::class)]
#[AllowMockObjectsWithoutExpectations]
class AdvisorControllerTest extends AbstractTestCase
{
private ResponseRenderer $response;
@@ -89,7 +91,7 @@ class AdvisorControllerTest extends AbstractTestCase
],
];
$advisor = self::createMock(Advisor::class);
$advisor = $this->createMock(Advisor::class);
$advisor->method('run')->willReturn($advisorData);
$controller = new AdvisorController($this->response, $this->template, $this->data, $advisor);

View File

@@ -18,6 +18,7 @@ use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\DummyResult;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer as ResponseStub;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\MockObject\MockObject;
use ReflectionMethod;
@@ -28,6 +29,7 @@ use function htmlspecialchars;
use function str_replace;
#[CoversClass(VariablesController::class)]
#[AllowMockObjectsWithoutExpectations]
class VariablesControllerTest extends AbstractTestCase
{
private DatabaseInterface&MockObject $mockedDbi;
@@ -42,9 +44,7 @@ class VariablesControllerTest extends AbstractTestCase
Current::$table = 'table';
Config::getInstance()->selectedServer['DisableIS'] = false;
$this->mockedDbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$this->mockedDbi = $this->createMock(DatabaseInterface::class);
//this data is needed when PhpMyAdmin\Server\Status\Data constructs
$serverSessionVariables = [
@@ -62,8 +62,7 @@ class VariablesControllerTest extends AbstractTestCase
['SHOW GLOBAL VARIABLES;', 0, 1, ConnectionType::User, $serverGlobalVariables],
];
$this->mockedDbi->expects(self::any())->method('fetchResult')
->willReturnMap($fetchResult);
$this->mockedDbi->method('fetchResult')->willReturnMap($fetchResult);
}
public function testIndex(): void
@@ -128,7 +127,7 @@ class VariablesControllerTest extends AbstractTestCase
//name is_numeric and the value type is byte
$args = [$nameForValueByte, '3'];
$voidProviderMock = $this->getMockBuilder(ServerVariablesVoidProvider::class)->getMock();
$voidProviderMock = $this->createMock(ServerVariablesVoidProvider::class);
$voidProviderMock
->expects(self::exactly(2))

View File

@@ -32,7 +32,7 @@ class ChangeRowsControllerTest extends AbstractTestCase
$request = ServerRequestFactory::create()->createServerRequest('POST', 'http://example.com/')
->withParsedBody(['rows_to_delete' => 'row']);
$mock = self::createMock(ChangeController::class);
$mock = $this->createMock(ChangeController::class);
$mock->expects(self::once())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());
@@ -46,7 +46,7 @@ class ChangeRowsControllerTest extends AbstractTestCase
$request = ServerRequestFactory::create()->createServerRequest('POST', 'http://example.com/')
->withParsedBody(['goto' => 'goto']);
$mock = self::createMock(ChangeController::class);
$mock = $this->createMock(ChangeController::class);
$mock->expects(self::never())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());
@@ -63,7 +63,7 @@ class ChangeRowsControllerTest extends AbstractTestCase
$request = ServerRequestFactory::create()->createServerRequest('POST', 'http://example.com/')
->withParsedBody(['goto' => 'goto', 'rows_to_delete' => ['key1' => 'row1', 'key2' => 'row2']]);
$mock = self::createMock(ChangeController::class);
$mock = $this->createMock(ChangeController::class);
$mock->expects(self::once())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());

View File

@@ -20,6 +20,7 @@ use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer as ResponseStub;
use PhpMyAdmin\Url;
use PhpMyAdmin\UrlParams;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use ReflectionMethod;
@@ -27,6 +28,7 @@ use function __;
use function sprintf;
#[CoversClass(IndexesController::class)]
#[AllowMockObjectsWithoutExpectations]
class IndexesControllerTest extends AbstractTestCase
{
/**
@@ -52,9 +54,7 @@ class IndexesControllerTest extends AbstractTestCase
*/
public function testDisplayFormAction(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$indexs = [
['Schema' => 'Schema1', 'Key_name' => 'Key_name1', 'Column_name' => 'Column_name1'],
@@ -62,23 +62,16 @@ class IndexesControllerTest extends AbstractTestCase
['Schema' => 'Schema3', 'Key_name' => 'Key_name3', 'Column_name' => 'Column_name3'],
];
$dbi->expects(self::any())->method('getTableIndexes')
->willReturn($indexs);
$dbi->method('getTableIndexes')->willReturn($indexs);
DatabaseInterface::$instance = $dbi;
$table = $this->getMockBuilder(Table::class)
->disableOriginalConstructor()
->getMock();
$table->expects(self::any())->method('getStatusInfo')
->willReturn('');
$table->expects(self::any())->method('isView')
->willReturn(false);
$table->expects(self::any())->method('getNameAndTypeOfTheColumns')
->willReturn(['field_name' => 'field_type']);
$table = $this->createMock(Table::class);
$table->method('getStatusInfo')->willReturn('');
$table->method('isView')->willReturn(false);
$table->method('getNameAndTypeOfTheColumns')->willReturn(['field_name' => 'field_type']);
$dbi->expects(self::any())->method('getTable')
->willReturn($table);
$dbi->method('getTable')->willReturn($table);
$response = new ResponseStub();
$index = new Index();

View File

@@ -13,11 +13,13 @@ use PhpMyAdmin\Server\Privileges;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PhpMyAdmin\Url;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use function __;
#[CoversClass(PrivilegesController::class)]
#[AllowMockObjectsWithoutExpectations]
class PrivilegesControllerTest extends AbstractTestCase
{
/**
@@ -51,7 +53,7 @@ class PrivilegesControllerTest extends AbstractTestCase
$privileges = [];
$serverPrivileges = self::createMock(Privileges::class);
$serverPrivileges = $this->createMock(Privileges::class);
$serverPrivileges->method('getAllPrivileges')
->willReturn($privileges);

View File

@@ -14,10 +14,12 @@ use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\DummyResult;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer as ResponseStub;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\MockObject\MockObject;
#[CoversClass(RelationController::class)]
#[AllowMockObjectsWithoutExpectations]
class RelationControllerTest extends AbstractTestCase
{
private ResponseStub $response;
@@ -42,9 +44,7 @@ class RelationControllerTest extends AbstractTestCase
$_POST['foreignDb'] = 'db';
$_POST['foreignTable'] = 'table';
$this->dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$this->dbi = $this->createMock(DatabaseInterface::class);
$this->response = new ResponseStub();
$this->template = new Template($config);
@@ -59,17 +59,12 @@ class RelationControllerTest extends AbstractTestCase
public function testGetDropdownValueForTableActionIsView(): void
{
$viewColumns = ['viewCol', 'viewCol2', 'viewCol3'];
$tableMock = $this->getMockBuilder(Table::class)
->disableOriginalConstructor()
->getMock();
$tableMock = $this->createMock(Table::class);
// Test the situation when the table is a view
$tableMock->expects(self::any())->method('isView')
->willReturn(true);
$tableMock->expects(self::any())->method('getColumns')
->willReturn($viewColumns);
$tableMock->method('isView')->willReturn(true);
$tableMock->method('getColumns')->willReturn($viewColumns);
$this->dbi->expects(self::any())->method('getTable')
->willReturn($tableMock);
$this->dbi->method('getTable')->willReturn($tableMock);
$ctrl = new RelationController(
$this->response,
@@ -93,17 +88,12 @@ class RelationControllerTest extends AbstractTestCase
public function testGetDropdownValueForTableActionNotView(): void
{
$indexedColumns = ['primaryTableCol'];
$tableMock = $this->getMockBuilder(Table::class)
->disableOriginalConstructor()
->getMock();
$tableMock = $this->createMock(Table::class);
// Test the situation when the table is a view
$tableMock->expects(self::any())->method('isView')
->willReturn(false);
$tableMock->expects(self::any())->method('getIndexedColumns')
->willReturn($indexedColumns);
$tableMock->method('isView')->willReturn(false);
$tableMock->method('getIndexedColumns')->willReturn($indexedColumns);
$this->dbi->expects(self::any())->method('getTable')
->willReturn($tableMock);
$this->dbi->method('getTable')->willReturn($tableMock);
$ctrl = new RelationController(
$this->response,
@@ -131,9 +121,7 @@ class RelationControllerTest extends AbstractTestCase
->method('query')
->willReturn($resultStub);
$resultStub->expects(self::any())
->method('fetchAllColumn')
->willReturn(['table']);
$resultStub->method('fetchAllColumn')->willReturn(['table']);
$ctrl = new RelationController(
$this->response,

View File

@@ -91,7 +91,7 @@ class SaveControllerTest extends AbstractTestCase
$request = self::createStub(ServerRequest::class);
$mock = self::createMock(StructureController::class);
$mock = $this->createMock(StructureController::class);
$mock->expects(self::once())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());

View File

@@ -33,7 +33,7 @@ class SpatialControllerTest extends AbstractTestCase
DatabaseInterface::$instance = $dbi;
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['selected_fld', [], ['test_field']]]);
$controllerStub = self::createMock(StructureController::class);
$controllerStub = $this->createMock(StructureController::class);
$controllerStub->expects(self::once())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());
@@ -62,7 +62,7 @@ class SpatialControllerTest extends AbstractTestCase
DatabaseInterface::$instance = $dbi;
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['selected_fld', [], ['test_field1', 'test_field2']]]);
$controllerStub = self::createMock(StructureController::class);
$controllerStub = $this->createMock(StructureController::class);
$controllerStub->expects(self::once())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());
@@ -88,7 +88,7 @@ class SpatialControllerTest extends AbstractTestCase
DatabaseInterface::$instance = $dbi;
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['selected_fld', [], null]]);
$controllerStub = self::createMock(StructureController::class);
$controllerStub = $this->createMock(StructureController::class);
$controllerStub->expects(self::never())->method('__invoke');
$response = new ResponseRenderer();
@@ -119,7 +119,7 @@ class SpatialControllerTest extends AbstractTestCase
DatabaseInterface::$instance = $dbi;
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['selected_fld', [], ['test_field']]]);
$controllerStub = self::createMock(StructureController::class);
$controllerStub = $this->createMock(StructureController::class);
$controllerStub->expects(self::once())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());

View File

@@ -33,7 +33,7 @@ class UniqueControllerTest extends AbstractTestCase
DatabaseInterface::$instance = $dbi;
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['selected_fld', [], ['test_field']]]);
$controllerStub = self::createMock(StructureController::class);
$controllerStub = $this->createMock(StructureController::class);
$controllerStub->expects(self::once())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());
@@ -62,7 +62,7 @@ class UniqueControllerTest extends AbstractTestCase
DatabaseInterface::$instance = $dbi;
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['selected_fld', [], ['test_field1', 'test_field2']]]);
$controllerStub = self::createMock(StructureController::class);
$controllerStub = $this->createMock(StructureController::class);
$controllerStub->expects(self::once())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());
@@ -88,7 +88,7 @@ class UniqueControllerTest extends AbstractTestCase
DatabaseInterface::$instance = $dbi;
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['selected_fld', [], null]]);
$controllerStub = self::createMock(StructureController::class);
$controllerStub = $this->createMock(StructureController::class);
$controllerStub->expects(self::never())->method('__invoke');
$response = new ResponseRenderer();
@@ -119,7 +119,7 @@ class UniqueControllerTest extends AbstractTestCase
DatabaseInterface::$instance = $dbi;
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['selected_fld', [], ['test_field']]]);
$controllerStub = self::createMock(StructureController::class);
$controllerStub = $this->createMock(StructureController::class);
$controllerStub->expects(self::once())->method('__invoke')->with($request)
->willReturn(ResponseFactory::create()->createResponse());

View File

@@ -33,11 +33,11 @@ class ThemeSetControllerTest extends AbstractTestCase
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
->withParsedBody(['set_theme' => 'theme_name', 'themeColorMode' => '']);
$themeManager = self::createMock(ThemeManager::class);
$themeManager = $this->createMock(ThemeManager::class);
$themeManager->expects(self::once())->method('setActiveTheme')->with(self::equalTo('theme_name'));
$themeManager->expects(self::once())->method('setThemeCookie');
$userPreferences = self::createMock(UserPreferences::class);
$userPreferences = $this->createMock(UserPreferences::class);
$userPreferences->expects(self::once())->method('load')
->willReturn(['config_data' => ['ThemeDefault' => 'pmahomme']]);
$userPreferences->expects(self::once())->method('save')
@@ -55,11 +55,11 @@ class ThemeSetControllerTest extends AbstractTestCase
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
->withParsedBody(['set_theme' => $themeName]);
$themeManager = self::createMock(ThemeManager::class);
$themeManager = $this->createMock(ThemeManager::class);
$themeManager->expects(self::never())->method('setActiveTheme');
$themeManager->expects(self::never())->method('setThemeCookie');
$userPreferences = self::createMock(UserPreferences::class);
$userPreferences = $this->createMock(UserPreferences::class);
$userPreferences->expects(self::never())->method('load');
$userPreferences->expects(self::never())->method('save');

View File

@@ -15,12 +15,14 @@ use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PhpMyAdmin\Triggers\Triggers;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use ReflectionClass;
#[CoversClass(IndexController::class)]
#[CoversClass(Triggers::class)]
#[AllowMockObjectsWithoutExpectations]
final class IndexControllerTest extends AbstractTestCase
{
public function testWithTriggers(): void
@@ -350,9 +352,7 @@ final class IndexControllerTest extends AbstractTestCase
);
$request = $this->createMock(ServerRequest::class);
$request->expects(self::any())
->method('getParsedBodyParam')
->willReturn('foo');
$request->method('getParsedBodyParam')->willReturn('foo');
$output = $method->invoke($indexController, $request);
self::assertSame($out, $output);

View File

@@ -16,6 +16,7 @@ use PhpMyAdmin\Identifiers\DatabaseName;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\DummyResult;
use PhpMyAdmin\Types;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\PreserveGlobalState;
use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
@@ -28,6 +29,7 @@ use function array_slice;
#[CoversClass(CentralColumns::class)]
#[PreserveGlobalState(false)]
#[RunTestsInSeparateProcesses]
#[AllowMockObjectsWithoutExpectations]
class CentralColumnsTest extends AbstractTestCase
{
private CentralColumns $centralColumns;
@@ -120,34 +122,22 @@ class CentralColumnsTest extends AbstractTestCase
(new ReflectionProperty(Relation::class, 'cache'))->setValue(null, $relationParameters);
// mock DBI
$this->dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$this->dbi = $this->createMock(DatabaseInterface::class);
$this->dbi->types = new Types($this->dbi);
DatabaseInterface::$instance = $this->dbi;
// set some common expectations
$this->dbi->expects(self::any())
->method('selectDb')
->willReturn(true);
$this->dbi->expects(self::any())
->method('getColumns')
->willReturn([
'id' => new Column('id', 'integer', null, false, '', null, '', '', ''),
'col1' => new Column('col1', 'varchar(100)', null, true, '', null, '', '', ''),
'col2' => new Column('col2', 'DATETIME', null, false, '', null, '', '', ''),
]);
$this->dbi->expects(self::any())
->method('getColumnNames')
->willReturn(['id', 'col1', 'col2']);
$this->dbi->expects(self::any())
->method('tryQuery')
->willReturn(self::createStub(DummyResult::class));
$this->dbi->expects(self::any())
->method('getTables')
->willReturn(['PMA_table', 'PMA_table1', 'PMA_table2']);
$this->dbi->expects(self::any())->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$this->dbi->method('selectDb')->willReturn(true);
$this->dbi->method('getColumns')->willReturn([
'id' => new Column('id', 'integer', null, false, '', null, '', '', ''),
'col1' => new Column('col1', 'varchar(100)', null, true, '', null, '', '', ''),
'col2' => new Column('col2', 'DATETIME', null, false, '', null, '', '', ''),
]);
$this->dbi->method('getColumnNames')->willReturn(['id', 'col1', 'col2']);
$this->dbi->method('tryQuery')->willReturn(self::createStub(DummyResult::class));
$this->dbi->method('getTables')->willReturn(['PMA_table', 'PMA_table1', 'PMA_table2']);
$this->dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$this->centralColumns = new CentralColumns($this->dbi);
}
@@ -223,12 +213,8 @@ class CentralColumnsTest extends AbstractTestCase
*/
public function testMakeConsistentWithList(): void
{
$this->dbi->expects(self::any())
->method('fetchResult')
->willReturn(self::COLUMN_DATA);
$this->dbi->expects(self::any())
->method('fetchValue')
->willReturn('PMA_table=CREATE table `PMA_table` (id integer)');
$this->dbi->method('fetchResult')->willReturn(self::COLUMN_DATA);
$this->dbi->method('fetchValue')->willReturn('PMA_table=CREATE table `PMA_table` (id integer)');
self::assertTrue(
$this->centralColumns->makeConsistentWithList(
'phpmyadmin',
@@ -297,8 +283,7 @@ class CentralColumnsTest extends AbstractTestCase
*/
public function testGetHtmlForEditingPage(): void
{
$this->dbi->expects(self::any())
->method('fetchResultSimple')
$this->dbi->method('fetchResultSimple')
->with(
'SELECT * FROM `phpmyadmin`.`pma_central_columns` '
. "WHERE db_name = 'phpmyadmin' AND col_name IN ('col1','col2');",

View File

@@ -49,9 +49,7 @@ class DesignerTest extends AbstractTestCase
{
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQueryAsControlUser')
@@ -68,7 +66,7 @@ class DesignerTest extends AbstractTestCase
'2' => 'page2',
]);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
DatabaseInterface::$instance = $dbi;

View File

@@ -146,9 +146,7 @@ class EventsTest extends AbstractTestCase
unset($_POST);
$_POST = $request;
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
DatabaseInterface::$instance = $dbi;
self::assertSame($query, $this->events->getQueryFromRequest());

View File

@@ -13,10 +13,12 @@ use PhpMyAdmin\Dbal\DatabaseInterface;
use PhpMyAdmin\Http\Factory\ServerRequestFactory;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Types;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
#[CoversClass(Routines::class)]
#[AllowMockObjectsWithoutExpectations]
class RoutinesTest extends AbstractTestCase
{
private Routines $routines;
@@ -232,16 +234,12 @@ class RoutinesTest extends AbstractTestCase
{
$config = Config::getInstance();
$oldDbi = DatabaseInterface::getInstance();
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->types = new Types($dbi);
$dbi->expects(self::any())
->method('quoteString')
->willReturnMap([
['foo', ConnectionType::User, "'foo'"],
["foo's bar", ConnectionType::User, "'foo\'s bar'"],
]);
$dbi->method('quoteString')->willReturnMap([
['foo', ConnectionType::User, "'foo'"],
["foo's bar", ConnectionType::User, "'foo\'s bar'"],
]);
DatabaseInterface::$instance = $dbi;
$routines = new Routines($dbi, $config);

View File

@@ -33,20 +33,16 @@ class SearchTest extends AbstractTestCase
$_POST = [];
//mock DBI
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::any())
->method('getColumns')
$dbi->method('getColumns')
->with('pma', 'table1')
->willReturn([
new Column('column1', '', null, false, '', null, '', '', ''),
new Column('column2', '', null, false, '', null, '', '', ''),
]);
$dbi->expects(self::any())
->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
DatabaseInterface::$instance = $dbi;

View File

@@ -27,7 +27,7 @@ final class DbTableExistsTest extends AbstractTestCase
public function testHasDatabaseWithNoDatabase(): void
{
$db = DatabaseName::from('test_db');
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('selectDb')->with($db)->willReturn(false);
$dbTableExists = new DbTableExists($dbi);
self::assertFalse($dbTableExists->selectDatabase($db));

View File

@@ -40,7 +40,7 @@ class DbiMysqliTest extends AbstractTestCase
public function testSelectDb(): void
{
$databaseName = 'test';
$mysqli = self::createMock(mysqli::class);
$mysqli = $this->createMock(mysqli::class);
$mysqli->expects(self::once())
->method('select_db')
->with(self::equalTo($databaseName))
@@ -55,7 +55,7 @@ class DbiMysqliTest extends AbstractTestCase
public function testRealMultiQuery(): void
{
$query = 'test';
$mysqli = self::createMock(mysqli::class);
$mysqli = $this->createMock(mysqli::class);
$mysqli->expects(self::once())
->method('multi_query')
->with(self::equalTo($query))
@@ -70,8 +70,8 @@ class DbiMysqliTest extends AbstractTestCase
public function testrealQuery(): void
{
$query = 'test';
$mysqliResult = self::createMock(mysqli_result::class);
$mysqli = self::createMock(mysqli::class);
$mysqliResult = $this->createStub(mysqli_result::class);
$mysqli = $this->createMock(mysqli::class);
$mysqli->expects(self::once())
->method('query')
->with(self::equalTo($query))
@@ -85,7 +85,7 @@ class DbiMysqliTest extends AbstractTestCase
*/
public function testNextResult(): void
{
$mysqli = self::createMock(mysqli::class);
$mysqli = $this->createMock(mysqli::class);
$mysqli->expects(self::once())
->method('next_result')
->willReturn(true);
@@ -98,8 +98,8 @@ class DbiMysqliTest extends AbstractTestCase
*/
public function testStoreResult(): void
{
$mysqli = self::createMock(mysqli::class);
$mysqliResult = self::createMock(mysqli_result::class);
$mysqli = $this->createMock(mysqli::class);
$mysqliResult = $this->createStub(mysqli_result::class);
$mysqli->expects(self::once())
->method('store_result')
->willReturn($mysqliResult);
@@ -113,7 +113,7 @@ class DbiMysqliTest extends AbstractTestCase
public function testEscapeString(): void
{
$string = 'test';
$mysqli = self::createMock(mysqli::class);
$mysqli = $this->createMock(mysqli::class);
$mysqli->expects(self::once())
->method('real_escape_string')
->willReturn($string);

View File

@@ -22,7 +22,7 @@ class MysqliResultTest extends AbstractTestCase
public function testFetchAssoc(): void
{
$expected = [['foo' => 'bar'], null];
$mysqliResult = self::createMock(mysqli_result::class);
$mysqliResult = $this->createMock(mysqli_result::class);
$mysqliResult->expects(self::exactly(2))
->method('fetch_assoc')
->willReturn(...$expected);
@@ -39,7 +39,7 @@ class MysqliResultTest extends AbstractTestCase
public function testFetchRow(): void
{
$expected = [['bar'], null];
$mysqliResult = self::createMock(mysqli_result::class);
$mysqliResult = $this->createMock(mysqli_result::class);
$mysqliResult->expects(self::exactly(2))
->method('fetch_row')
->willReturn(...$expected);
@@ -56,7 +56,7 @@ class MysqliResultTest extends AbstractTestCase
public function testDataSeek(): void
{
$offset = 1;
$mysqliResult = self::createMock(mysqli_result::class);
$mysqliResult = $this->createMock(mysqli_result::class);
$mysqliResult->expects(self::once())
->method('data_seek')
->with(self::equalTo($offset))
@@ -72,7 +72,7 @@ class MysqliResultTest extends AbstractTestCase
*/
public function testFetchAllColumn(): void
{
$mysqliResult = self::createMock(mysqli_result::class);
$mysqliResult = $this->createMock(mysqli_result::class);
$mysqliResult->expects(self::exactly(3))
->method('fetch_all')
->willReturnMap([

View File

@@ -620,9 +620,7 @@ class ResultsTest extends AbstractTestCase
]),
]);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
// MIME transformations
$dbi->expects(self::exactly(1))

View File

@@ -118,7 +118,7 @@ class ErrorTest extends AbstractTestCase
public function testGetBacktraceDisplay(): void
{
self::assertStringContainsString(
'PHPUnit\Framework\TestRunner->run(<Class:PhpMyAdmin\Tests\Error\ErrorTest>)',
'->run(<Class:PhpMyAdmin\Tests\Error\ErrorTest>)',
$this->object->getBacktraceDisplay(),
);
}
@@ -136,7 +136,7 @@ class ErrorTest extends AbstractTestCase
$actual,
);
self::assertStringContainsString(
'PHPUnit\Framework\TestRunner->run(<Class:PhpMyAdmin\Tests\Error\ErrorTest>)</li>'
'->run(<Class:PhpMyAdmin\Tests\Error\ErrorTest>)</li>'
. '<li class="list-group-item">',
$actual,
);

View File

@@ -23,9 +23,11 @@ use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Theme\ThemeManager;
use PhpMyAdmin\Util;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
#[CoversClass(Options::class)]
#[AllowMockObjectsWithoutExpectations]
class OptionsTest extends AbstractTestCase
{
private Options $export;
@@ -68,12 +70,9 @@ class OptionsTest extends AbstractTestCase
$numTablesStr = '10';
$unlimNumRowsStr = 'unlim_num_rows_str';
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::any())->method('getCompatibilities')
->willReturn([]);
$dbi->method('getCompatibilities')->willReturn([]);
DatabaseInterface::$instance = $dbi;

View File

@@ -8,12 +8,14 @@ use PhpMyAdmin\Gis\Ds\Extent;
use PhpMyAdmin\Gis\Ds\ScaleData;
use PhpMyAdmin\Gis\GisGeometry;
use PhpMyAdmin\Tests\AbstractTestCase;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\MockObject\MockObject;
use ReflectionMethod;
#[CoversClass(GisGeometry::class)]
#[AllowMockObjectsWithoutExpectations]
class GisGeometryTest extends AbstractTestCase
{
protected GisGeometry&MockObject $object;

View File

@@ -19,11 +19,11 @@ final class ApplicationHandlerTest extends TestCase
{
public function testHandleReturnsResponse(): void
{
$responseRendererMock = self::createMock(ResponseRenderer::class);
$responseRendererMock = $this->createMock(ResponseRenderer::class);
$responseRendererMock->expects(self::never())->method('response');
$request = self::createStub(ServerRequest::class);
$responseStub = new Response(self::createStub(ResponseInterface::class));
$appMock = self::createMock(Application::class);
$appMock = $this->createMock(Application::class);
$appMock->expects(self::once())->method('handle')->with($request)->willReturn($responseStub);
$handler = new ApplicationHandler($appMock, $responseRendererMock);
$response = $handler->handle($request);
@@ -33,10 +33,10 @@ final class ApplicationHandlerTest extends TestCase
public function testHandleThrowsExit(): void
{
$responseStub = new Response(self::createStub(ResponseInterface::class));
$responseRendererMock = self::createMock(ResponseRenderer::class);
$responseRendererMock = $this->createMock(ResponseRenderer::class);
$responseRendererMock->expects(self::once())->method('response')->willReturn($responseStub);
$request = self::createStub(ServerRequest::class);
$appMock = self::createMock(Application::class);
$appMock = $this->createMock(Application::class);
$appMock->expects(self::once())->method('handle')->with($request)->willThrowException(new ExitException());
$handler = new ApplicationHandler($appMock, $responseRendererMock);
$response = $handler->handle($request);

View File

@@ -21,7 +21,7 @@ final class QueueRequestHandlerTest extends TestCase
public function testQueue(): void
{
$responseFactory = ResponseFactory::create();
$container = self::createMock(ContainerInterface::class);
$container = $this->createMock(ContainerInterface::class);
$container->expects(self::exactly(3))->method('get')->willReturnMap([
[EarlyReturn::class, new EarlyReturn($responseFactory)],
[First::class, new First()],
@@ -46,7 +46,7 @@ final class QueueRequestHandlerTest extends TestCase
public function testQueueWithEarlyReturn(): void
{
$responseFactory = ResponseFactory::create();
$container = self::createMock(ContainerInterface::class);
$container = $this->createMock(ContainerInterface::class);
$container->expects(self::exactly(2))->method('get')->willReturnMap([
[EarlyReturn::class, new EarlyReturn($responseFactory)],
[First::class, new First()],

View File

@@ -22,7 +22,7 @@ final class AuthenticationTest extends AbstractTestCase
{
public function testAuthenticationWithoutSelectServer(): void
{
$configMock = self::createMock(Config::class);
$configMock = $this->createMock(Config::class);
$configMock->expects(self::once())->method('hasSelectedServer')->willReturn(false);
$dbi = $this->createDatabaseInterface();

View File

@@ -35,7 +35,7 @@ final class RecentTableHandlingTest extends AbstractTestCase
->withQueryParams(['db' => 'test_db', 'table' => 'test_table']);
$response = ResponseFactory::create()->createResponse();
$handler = self::createMock(RequestHandlerInterface::class);
$handler = $this->createMock(RequestHandlerInterface::class);
$handler->method('handle')->with($request)->willReturn($response);
$reflectionProperty = new ReflectionProperty(RecentFavoriteTables::class, 'instances');

View File

@@ -29,7 +29,7 @@ final class StatementHistoryTest extends AbstractTestCase
$config->selectedServer['user'] = 'test_user';
$dbi = self::createStub(DatabaseInterface::class);
$dbi->method('isConnected')->willReturn(true);
$history = self::createMock(History::class);
$history = $this->createMock(History::class);
$history->expects(self::once())->method('setHistory')->with(
self::identicalTo('test_db'),
self::identicalTo('test_table'),
@@ -56,7 +56,7 @@ final class StatementHistoryTest extends AbstractTestCase
$dbi = self::createStub(DatabaseInterface::class);
$dbi->method('isConnected')->willReturn($isConnected);
$history = self::createMock(History::class);
$history = $this->createMock(History::class);
$history->expects(self::never())->method('setHistory');
$statementHistory = new StatementHistory(new Config(), $history, $dbi);

View File

@@ -26,7 +26,7 @@ final class UrlParamsSettingTest extends AbstractTestCase
->withQueryParams(['goto' => 'index.php?route=/', 'back' => 'index.php?route=/']);
$response = self::createStub(ResponseInterface::class);
$handler = self::createMock(RequestHandlerInterface::class);
$handler = $this->createMock(RequestHandlerInterface::class);
$handler->method('handle')->with($request)->willReturn($response);
$urlParamsSetting = new UrlParamsSetting(self::createStub(Config::class));

View File

@@ -151,12 +151,10 @@ class InsertEditTest extends AbstractTestCase
{
$clauses = ['a=1', 'b="fo\o"'];
$resultStub1 = self::createMock(DummyResult::class);
$resultStub2 = self::createMock(DummyResult::class);
$resultStub1 = $this->createMock(DummyResult::class);
$resultStub2 = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(2))
->method('query')
@@ -207,11 +205,9 @@ class InsertEditTest extends AbstractTestCase
'orgname' => 'orgname',
]);
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createStub(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getFieldsMeta')
@@ -241,11 +237,9 @@ class InsertEditTest extends AbstractTestCase
public function testLoadFirstRow(): void
{
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createStub(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('query')
@@ -883,9 +877,7 @@ class InsertEditTest extends AbstractTestCase
);
// Case 3 (bit)
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
DatabaseInterface::$instance = $dbi;
$config = Config::getInstance();
@@ -1058,11 +1050,9 @@ class InsertEditTest extends AbstractTestCase
$row = ['1' => 1];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('query')
@@ -1216,9 +1206,7 @@ class InsertEditTest extends AbstractTestCase
Warning::fromArray(['Level' => 'Warning', 'Code' => '1002', 'Message' => 'Message 2']),
];
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getWarnings')
@@ -1254,11 +1242,9 @@ class InsertEditTest extends AbstractTestCase
$map['f']['foreign_field'] = 'f';
$map = new Foreigners($map);
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQuery')
@@ -2049,11 +2035,9 @@ class InsertEditTest extends AbstractTestCase
$_POST['where_clause'] = [];
$_POST['where_clause'][0] = 1;
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::exactly(3))
->method('tryQuery')
@@ -2104,9 +2088,7 @@ class InsertEditTest extends AbstractTestCase
*/
public function testGetTableColumns(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('selectDb')
@@ -2151,11 +2133,9 @@ class InsertEditTest extends AbstractTestCase
*/
public function testDetermineInsertOrEdit(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createStub(DummyResult::class);
$dbi->expects(self::exactly(2))
->method('query')
@@ -2207,18 +2187,14 @@ class InsertEditTest extends AbstractTestCase
$config = Config::getInstance();
$config->set('ShowPropertyComments', false);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getColumns')
->with('db', 'table')
->willReturn([new Column('d', 'd', null, false, '', null, '', '', 'b')]);
$dbi->expects(self::any())
->method('getTable')
->willReturn(new Table('table', 'db', $dbi));
$dbi->method('getTable')->willReturn(new Table('table', 'db', $dbi));
DatabaseInterface::$instance = $dbi;
$relation = new Relation($dbi);

View File

@@ -56,13 +56,11 @@ class NavigationTest extends AbstractTestCase
$expectedQuery = 'INSERT INTO `pmadb`.`navigationhiding`'
. '(`username`, `item_name`, `item_type`, `db_name`, `table_name`)'
. " VALUES ('user','itemName','itemType','db','')";
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQueryAsControlUser')
->with($expectedQuery);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
DatabaseInterface::$instance = $dbi;
@@ -79,14 +77,12 @@ class NavigationTest extends AbstractTestCase
$expectedQuery = 'DELETE FROM `pmadb`.`navigationhiding`'
. " WHERE `username`='user' AND `item_name`='itemName'"
. " AND `item_type`='itemType' AND `db_name`='db'";
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQueryAsControlUser')
->with($expectedQuery);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
DatabaseInterface::$instance = $dbi;
$config = Config::getInstance();

View File

@@ -72,7 +72,7 @@ class NodeTableTest extends AbstractTestCase
{
$config = Config::getInstance();
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('fetchResultSimple')
->willReturnOnConsecutiveCalls(
@@ -103,8 +103,8 @@ class NodeTableTest extends AbstractTestCase
$config->selectedServer['DisableIS'] = true;
$config->set('MaxNavigationItems', 2);
$dbi = self::createMock(DatabaseInterface::class);
$resultStub = self::createMock(DummyResult::class);
$dbi = $this->createMock(DatabaseInterface::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('tryQuery')
->with('SHOW COLUMNS FROM `node` FROM `DB`')
@@ -135,7 +135,7 @@ class NodeTableTest extends AbstractTestCase
{
$config = Config::getInstance();
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('fetchSingleColumn')
->willReturnOnConsecutiveCalls(
@@ -166,8 +166,8 @@ class NodeTableTest extends AbstractTestCase
$config->selectedServer['DisableIS'] = true;
$config->set('MaxNavigationItems', 2);
$dbi = self::createMock(DatabaseInterface::class);
$resultStub = self::createMock(DummyResult::class);
$dbi = $this->createMock(DatabaseInterface::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$dbi->expects(self::once())
@@ -202,8 +202,8 @@ class NodeTableTest extends AbstractTestCase
$config->selectedServer['DisableIS'] = true;
$config->set('MaxNavigationItems', 2);
$dbi = self::createMock(DatabaseInterface::class);
$resultStub = self::createMock(DummyResult::class);
$dbi = $this->createMock(DatabaseInterface::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('tryQuery')
->with('SHOW INDEXES FROM `node` FROM `DB`')

View File

@@ -352,9 +352,9 @@ final class NodeTest extends AbstractTestCase
$expectedSql .= "CONCAT(SCHEMA_NAME, '_')) ";
$expectedSql .= 'ORDER BY SCHEMA_NAME ASC';
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('fetchSingleColumn')->with($expectedSql);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$node = new Node($dbi, $config, 'node');
@@ -376,7 +376,7 @@ final class NodeTest extends AbstractTestCase
$expectedSql .= 'ORDER BY `SCHEMA_NAME` ';
$expectedSql .= 'LIMIT 10, 20';
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('fetchSingleColumn')->with($expectedSql);
$node = new Node($dbi, $config, 'node');
@@ -392,9 +392,9 @@ final class NodeTest extends AbstractTestCase
$config->selectedServer['DisableIS'] = true;
$config->set('FirstLevelNavigationItems', 2);
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQuery')
->with("SHOW DATABASES WHERE TRUE AND `Database` LIKE '%db%' ")
@@ -410,9 +410,9 @@ final class NodeTest extends AbstractTestCase
. " LOCATE('db_', CONCAT(`Database`, '_')) = 1"
. " OR LOCATE('aa_', CONCAT(`Database`, '_')) = 1 )",
);
$dbi->expects(self::any())->method('escapeMysqlWildcards')
$dbi->method('escapeMysqlWildcards')
->willReturnArgument(0);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$node = new Node($dbi, $config, 'node');
@@ -429,9 +429,9 @@ final class NodeTest extends AbstractTestCase
$config->set('NavigationTreeEnableGrouping', false);
$config->set('FirstLevelNavigationItems', 2);
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQuery')
->with("SHOW DATABASES WHERE TRUE AND `Database` LIKE '%db%' ")
@@ -466,7 +466,7 @@ final class NodeTest extends AbstractTestCase
$query .= 'WHERE TRUE ';
$query .= ') t ';
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('fetchValue')->with($query);
$node = new Node($dbi, $config, 'node');
@@ -486,7 +486,7 @@ final class NodeTest extends AbstractTestCase
$query .= 'FROM INFORMATION_SCHEMA.SCHEMATA ';
$query .= 'WHERE TRUE ';
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('fetchValue')->with($query);
$node = new Node($dbi, $config, 'node');
@@ -502,10 +502,10 @@ final class NodeTest extends AbstractTestCase
$config = Config::getInstance();
$config->selectedServer['DisableIS'] = true;
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createStub(DummyResult::class);
// test with no search clause
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQuery')
->with('SHOW DATABASES WHERE TRUE ')
@@ -515,14 +515,14 @@ final class NodeTest extends AbstractTestCase
self::assertSame(0, $node->getPresence(new UserPrivileges()));
// test with a search clause
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQuery')
->with("SHOW DATABASES WHERE TRUE AND `Database` LIKE '%dbname%' ")
->willReturn($resultStub);
$dbi->expects(self::any())->method('escapeMysqlWildcards')
$dbi->method('escapeMysqlWildcards')
->willReturnArgument(0);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$node = new Node($dbi, $config, 'node');

View File

@@ -17,6 +17,7 @@ use PhpMyAdmin\Tests\Stubs\DummyResult;
use PhpMyAdmin\Transformations;
use PhpMyAdmin\Types;
use PhpMyAdmin\UserPrivileges;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use ReflectionMethod;
use stdClass;
@@ -26,6 +27,7 @@ use function _pgettext;
use function json_encode;
#[CoversClass(Normalization::class)]
#[AllowMockObjectsWithoutExpectations]
class NormalizationTest extends AbstractTestCase
{
protected DatabaseInterface $dbi;
@@ -46,25 +48,17 @@ class NormalizationTest extends AbstractTestCase
$config = Config::getInstance();
//mock DBI
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->types = new Types($dbi);
DatabaseInterface::$instance = $dbi;
// set expectations
$dbi->expects(self::any())
->method('selectDb')
->willReturn(true);
$dbi->expects(self::any())
->method('getColumns')
->willReturn([
'id' => new Column('id', 'integer', null, false, '', null, '', '', ''),
'col1' => new Column('col1', 'varchar(100)', null, false, '', null, '', '', ''),
'col2' => new Column('col2', 'DATETIME', null, false, '', null, '', '', ''),
]);
$dbi->expects(self::any())
->method('getColumnNames')
->willReturn(['id', 'col1', 'col2']);
$dbi->method('selectDb')->willReturn(true);
$dbi->method('getColumns')->willReturn([
'id' => new Column('id', 'integer', null, false, '', null, '', '', ''),
'col1' => new Column('col1', 'varchar(100)', null, false, '', null, '', '', ''),
'col2' => new Column('col2', 'DATETIME', null, false, '', null, '', '', ''),
]);
$dbi->method('getColumnNames')->willReturn(['id', 'col1', 'col2']);
$map = [
['PMA_db', 'PMA_table1', ConnectionType::User, []],
['PMA_db', 'PMA_table', ConnectionType::User, [['Key_name' => 'PRIMARY', 'Column_name' => 'id']]],
@@ -75,15 +69,9 @@ class NormalizationTest extends AbstractTestCase
[['Key_name' => 'PRIMARY','Column_name' => 'id'], ['Key_name' => 'PRIMARY','Column_name' => 'col1']],
],
];
$dbi->expects(self::any())
->method('getTableIndexes')
->willReturnMap($map);
$dbi->expects(self::any())
->method('tryQuery')
->willReturn(self::createStub(DummyResult::class));
$dbi->expects(self::any())
->method('fetchSingleRow')
->willReturn(['`id`_cnt' => 0, '`col1`_cnt' => 0, '`col2`_cnt' => 0]);
$dbi->method('getTableIndexes')->willReturnMap($map);
$dbi->method('tryQuery')->willReturn(self::createStub(DummyResult::class));
$dbi->method('fetchSingleRow')->willReturn(['`id`_cnt' => 0, '`col1`_cnt' => 0, '`col2`_cnt' => 0]);
$relation = new Relation($dbi);
$this->normalization = new Normalization(

View File

@@ -84,9 +84,7 @@ class AuthenticationConfigTest extends AbstractTestCase
{
Config::getInstance()->settings['Servers'] = [1];
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
DatabaseInterface::$instance = $dbi;
$response = $this->object->showFailure(AuthenticationFailure::deniedByDatabaseServer());

View File

@@ -657,9 +657,7 @@ class AuthenticationCookieTest extends AbstractTestCase
$_COOKIE['pmaAuth-2'] = 'pass';
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getError')
@@ -694,9 +692,7 @@ class AuthenticationCookieTest extends AbstractTestCase
->method('showLoginForm')
->willThrowException(new ExitException());
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getError')

View File

@@ -229,9 +229,7 @@ class AuthenticationHttpTest extends AbstractTestCase
$_REQUEST = [];
Current::$server = 0;
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(3))
->method('getError')

View File

@@ -13,6 +13,7 @@ use PhpMyAdmin\Exceptions\ExitException;
use PhpMyAdmin\Plugins\Auth\AuthenticationSignon;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use function session_get_cookie_params;
@@ -22,6 +23,7 @@ use function session_name;
use const PHP_VERSION_ID;
#[CoversClass(AuthenticationSignon::class)]
#[AllowMockObjectsWithoutExpectations]
class AuthenticationSignonTest extends AbstractTestCase
{
protected AuthenticationSignon $object;
@@ -299,9 +301,7 @@ class AuthenticationSignonTest extends AbstractTestCase
->method('showLoginForm')
->willThrowException(new ExitException());
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getError')
@@ -332,9 +332,7 @@ class AuthenticationSignonTest extends AbstractTestCase
->method('showLoginForm')
->willThrowException(new ExitException());
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getError')

View File

@@ -289,9 +289,7 @@ final class ExportHtmlwordTest extends AbstractTestCase
{
$keys = [['Non_unique' => 0, 'Column_name' => 'name1'], ['Non_unique' => 1, 'Column_name' => 'name2']];
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getTableIndexes')
@@ -326,11 +324,9 @@ final class ExportHtmlwordTest extends AbstractTestCase
// case 1
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(2))
->method('fetchResult')
@@ -397,11 +393,9 @@ final class ExportHtmlwordTest extends AbstractTestCase
// case 2
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(2))
->method('fetchResult')
@@ -455,9 +449,7 @@ final class ExportHtmlwordTest extends AbstractTestCase
// case 3
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getTableIndexes')
@@ -641,9 +633,7 @@ final class ExportHtmlwordTest extends AbstractTestCase
public function testExportTableCallsExportStructureMethod(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$exportHtmlword = $this->getExportHtmlword($dbi);

View File

@@ -515,11 +515,9 @@ final class ExportLatexTest extends AbstractTestCase
// case 1
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getTableIndexes')
@@ -601,11 +599,9 @@ final class ExportLatexTest extends AbstractTestCase
// case 2
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(2))
->method('fetchResult')
@@ -663,9 +659,7 @@ final class ExportLatexTest extends AbstractTestCase
// case 3
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getTableIndexes')
@@ -744,9 +738,7 @@ final class ExportLatexTest extends AbstractTestCase
public function testExportTableCallsExportStructureMethod(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
->withParsedBody(['latex_structure_or_data' => 'structure']);

View File

@@ -197,9 +197,7 @@ final class ExportMediawikiTest extends AbstractTestCase
*/
public function testExportStructure(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$columns = [
new Column('name1', 'set(abc)enum123', null, true, 'PRI', '', '', '', ''),
@@ -296,9 +294,7 @@ final class ExportMediawikiTest extends AbstractTestCase
public function testExportTableCallsExportStructureMethod(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
->withParsedBody(['mediawiki_structure_or_data' => 'structure']);

View File

@@ -189,9 +189,7 @@ final class ExportOdsTest extends AbstractTestCase
public function testExportData(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$fields = [
FieldHelper::fromArray(['type' => -1]),
@@ -207,7 +205,7 @@ final class ExportOdsTest extends AbstractTestCase
FieldHelper::fromArray(['type' => MYSQLI_TYPE_DECIMAL]),
FieldHelper::fromArray(['type' => MYSQLI_TYPE_STRING]),
];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('getFieldsMeta')
@@ -261,9 +259,7 @@ final class ExportOdsTest extends AbstractTestCase
public function testExportDataWithFieldNames(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$fields = [
FieldHelper::fromArray([
@@ -278,7 +274,7 @@ final class ExportOdsTest extends AbstractTestCase
]),
];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('getFieldsMeta')
@@ -316,13 +312,11 @@ final class ExportOdsTest extends AbstractTestCase
);
// with no row count
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$flags = [];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('getFieldsMeta')

View File

@@ -309,9 +309,7 @@ final class ExportOdtTest extends AbstractTestCase
public function testExportData(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$fields = [
FieldHelper::fromArray(['type' => -1]),
@@ -323,7 +321,7 @@ final class ExportOdtTest extends AbstractTestCase
FieldHelper::fromArray(['type' => MYSQLI_TYPE_DECIMAL, 'flags' => MYSQLI_NUM_FLAG]),
FieldHelper::fromArray(['type' => MYSQLI_TYPE_STRING]),
];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('getFieldsMeta')
@@ -369,9 +367,7 @@ final class ExportOdtTest extends AbstractTestCase
public function testExportDataWithFieldNames(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$fields = [
FieldHelper::fromArray([
@@ -386,7 +382,7 @@ final class ExportOdtTest extends AbstractTestCase
]),
];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('getFieldsMeta')
@@ -426,13 +422,11 @@ final class ExportOdtTest extends AbstractTestCase
);
// with no row count
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$flags = [];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('getFieldsMeta')
@@ -509,11 +503,9 @@ final class ExportOdtTest extends AbstractTestCase
public function testGetTableDef(): void
{
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(2))
->method('fetchResult')
@@ -581,11 +573,9 @@ final class ExportOdtTest extends AbstractTestCase
// case 2
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(2))
->method('fetchResult')
@@ -846,9 +836,7 @@ final class ExportOdtTest extends AbstractTestCase
public function testExportTableCallsExportStructureMethod(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
->withParsedBody(['odt_structure_or_data' => 'structure']);

View File

@@ -145,9 +145,7 @@ final class ExportPdfTest extends AbstractTestCase
public function testExportFooter(): void
{
$pdf = $this->getMockBuilder(Pdf::class)
->disableOriginalConstructor()
->getMock();
$pdf = $this->createMock(Pdf::class);
$pdf->expects(self::once())
->method('getPDFData')
@@ -186,9 +184,7 @@ final class ExportPdfTest extends AbstractTestCase
{
$dbi = $this->createDatabaseInterface();
$pdf = $this->getMockBuilder(Pdf::class)
->disableOriginalConstructor()
->getMock();
$pdf = $this->createMock(Pdf::class);
$pdf->expects(self::once())
->method('mysqlReport')

View File

@@ -33,6 +33,7 @@ use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\FieldHelper;
use PhpMyAdmin\Tests\Stubs\DummyResult;
use PhpMyAdmin\Transformations;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\Medium;
use ReflectionMethod;
@@ -51,6 +52,7 @@ use const MYSQLI_UNIQUE_KEY_FLAG;
#[CoversClass(ExportSql::class)]
#[Medium]
#[AllowMockObjectsWithoutExpectations]
final class ExportSqlTest extends AbstractTestCase
{
protected function setUp(): void
@@ -83,9 +85,7 @@ final class ExportSqlTest extends AbstractTestCase
public function testSetProperties(): void
{
// test with hide structure and hide sql as false
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(2))
->method('getCompatibilities')
@@ -369,9 +369,7 @@ final class ExportSqlTest extends AbstractTestCase
ExportSql::$oldTimezone = 'GMT';
OutputHandler::$asFile = true;
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('query')
@@ -394,9 +392,7 @@ final class ExportSqlTest extends AbstractTestCase
OutputHandler::$asFile = true;
Current::$charset = 'utf-8';
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('tryQuery')
@@ -448,9 +444,7 @@ final class ExportSqlTest extends AbstractTestCase
public function testExportDBCreate(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getDbCollation')
@@ -483,9 +477,7 @@ final class ExportSqlTest extends AbstractTestCase
self::assertStringContainsString('USE `db`;', $result);
// case2: no backquotes
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getDbCollation')
@@ -521,10 +513,8 @@ final class ExportSqlTest extends AbstractTestCase
'sql_structure_or_data' => 'data',
]);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$exportSql = $this->getExportSql($dbi);
@@ -573,9 +563,7 @@ final class ExportSqlTest extends AbstractTestCase
public function testExportEvents(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('fetchSingleColumn')
@@ -588,7 +576,7 @@ final class ExportSqlTest extends AbstractTestCase
['SHOW CREATE EVENT `db`.`f1`', 'Create Event', ConnectionType::User, 'f1event'],
['SHOW CREATE EVENT `db`.`f2`', 'Create Event', ConnectionType::User, 'f2event'],
]);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
@@ -626,9 +614,7 @@ final class ExportSqlTest extends AbstractTestCase
public function testGetTableDefStandIn(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getColumns')
@@ -653,14 +639,11 @@ final class ExportSqlTest extends AbstractTestCase
public function testGetTableDefForView(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$dbi->expects(self::any())
->method('getColumns')
$dbi->method('getColumns')
->with('db', 'view')
->willReturn([
new Column(
@@ -693,14 +676,11 @@ final class ExportSqlTest extends AbstractTestCase
);
// case 2
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$dbi->expects(self::any())
->method('getColumns')
$dbi->method('getColumns')
->with('db', 'view')
->willReturn([
new Column(
@@ -852,9 +832,7 @@ final class ExportSqlTest extends AbstractTestCase
]);
(new ReflectionProperty(Relation::class, 'cache'))->setValue(null, $relationParameters);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::exactly(2))
->method('fetchResult')
@@ -974,9 +952,7 @@ final class ExportSqlTest extends AbstractTestCase
public function testExportData(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$fields = [
FieldHelper::fromArray([
@@ -1010,7 +986,7 @@ final class ExportSqlTest extends AbstractTestCase
]),
];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('getFieldsMeta')
@@ -1029,12 +1005,10 @@ final class ExportSqlTest extends AbstractTestCase
$resultStub->expects(self::exactly(2))
->method('fetchRow')
->willReturn([null, 'test', '10', '6', "\x00\x0a\x0d\x1a"], []);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$tableObj = $this->getMockBuilder(Table::class)
->disableOriginalConstructor()
->getMock();
$tableObj = $this->createMock(Table::class);
$tableObj->expects(self::once())
->method('isMerge')
->willReturn(false);
@@ -1042,9 +1016,7 @@ final class ExportSqlTest extends AbstractTestCase
->method('isView')
->willReturn(false);
$dbi->expects(self::any())
->method('getTable')
->willReturn($tableObj);
$dbi->method('getTable')->willReturn($tableObj);
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
->withParsedBody([
@@ -1083,9 +1055,7 @@ final class ExportSqlTest extends AbstractTestCase
public function testExportDataWithUpdate(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$fields = [
FieldHelper::fromArray([
@@ -1108,7 +1078,7 @@ final class ExportSqlTest extends AbstractTestCase
]),
];
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::once())
->method('getFieldsMeta')
@@ -1128,9 +1098,7 @@ final class ExportSqlTest extends AbstractTestCase
->method('fetchRow')
->willReturn([null, null], []);
$tableObj = $this->getMockBuilder(Table::class)
->disableOriginalConstructor()
->getMock();
$tableObj = $this->createMock(Table::class);
$tableObj->expects(self::once())
->method('isMerge')
->willReturn(false);
@@ -1138,9 +1106,7 @@ final class ExportSqlTest extends AbstractTestCase
->method('isView')
->willReturn(false);
$dbi->expects(self::any())
->method('getTable')
->willReturn($tableObj);
$dbi->method('getTable')->willReturn($tableObj);
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
->withParsedBody([
@@ -1168,13 +1134,9 @@ final class ExportSqlTest extends AbstractTestCase
public function testExportDataWithIsView(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$tableObj = $this->getMockBuilder(Table::class)
->disableOriginalConstructor()
->getMock();
$tableObj = $this->createMock(Table::class);
$tableObj->expects(self::once())
->method('isMerge')
->willReturn(false);
@@ -1182,9 +1144,7 @@ final class ExportSqlTest extends AbstractTestCase
->method('isView')
->willReturn(true);
$dbi->expects(self::any())
->method('getTable')
->willReturn($tableObj);
$dbi->method('getTable')->willReturn($tableObj);
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
->withParsedBody(['sql_backquotes' => 'true', 'sql_include_comments' => 'On']);
@@ -1205,17 +1165,13 @@ final class ExportSqlTest extends AbstractTestCase
public function testExportDataWithError(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('getError')
->willReturn('err');
$tableObj = $this->getMockBuilder(Table::class)
->disableOriginalConstructor()
->getMock();
$tableObj = $this->createMock(Table::class);
$tableObj->expects(self::once())
->method('isMerge')
->willReturn(false);
@@ -1223,9 +1179,7 @@ final class ExportSqlTest extends AbstractTestCase
->method('isView')
->willReturn(false);
$dbi->expects(self::any())
->method('getTable')
->willReturn($tableObj);
$dbi->method('getTable')->willReturn($tableObj);
$request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/')
->withParsedBody(['sql_include_comments' => 'On']);

View File

@@ -228,9 +228,7 @@ final class ExportTexytextTest extends AbstractTestCase
public function testGetTableDef(): void
{
// case 1
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$keys = [['Non_unique' => 0, 'Column_name' => 'cname'], ['Non_unique' => 1, 'Column_name' => 'cname2']];

View File

@@ -81,9 +81,7 @@ final class ImportCsvTest extends AbstractTestCase
$importHandle = new File(ImportSettings::$importFile);
$importHandle->open();
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$importCsv = $this->getImportCsv($dbi);
@@ -120,9 +118,7 @@ final class ImportCsvTest extends AbstractTestCase
$importHandle = new File(ImportSettings::$importFile);
$importHandle->open();
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$importCsv = $this->getImportCsv($dbi);
@@ -179,9 +175,7 @@ final class ImportCsvTest extends AbstractTestCase
$importHandle = new File(ImportSettings::$importFile);
$importHandle->open();
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$importCsv = $this->getImportCsv($dbi);

View File

@@ -16,6 +16,7 @@ use PhpMyAdmin\Plugins\Import\ImportLdi;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\DummyResult;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\Medium;
@@ -23,6 +24,7 @@ use function __;
#[CoversClass(ImportLdi::class)]
#[Medium]
#[AllowMockObjectsWithoutExpectations]
final class ImportLdiTest extends AbstractTestCase
{
/**
@@ -75,18 +77,15 @@ final class ImportLdiTest extends AbstractTestCase
*/
public function testGetPropertiesAutoLdi(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi->expects(self::any())->method('tryQuery')
->willReturn($resultStub);
$dbi->method('tryQuery')->willReturn($resultStub);
$resultStub->expects(self::any())->method('numRows')
->willReturn(10);
$resultStub->method('numRows')->willReturn(10);
$resultStub->expects(self::any())->method('fetchValue')
->willReturn('ON');
$resultStub->method('fetchValue')->willReturn('ON');
$config = new Config();
$config->settings['Import']['ldi_local_option'] = 'auto';
@@ -109,8 +108,8 @@ final class ImportLdiTest extends AbstractTestCase
public function testDoImport(): void
{
ImportSettings::$sqlQueryDisabled = false; //will show the import SQL detail
$dbi = self::createMock(DatabaseInterface::class);
$dbi->expects(self::any())->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$importHandle = new File(ImportSettings::$importFile);
@@ -157,8 +156,8 @@ final class ImportLdiTest extends AbstractTestCase
public function testDoImportLDISetting(): void
{
ImportSettings::$sqlQueryDisabled = false; //will show the import SQL detail
$dbi = self::createMock(DatabaseInterface::class);
$dbi->expects(self::any())->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$request = ServerRequestFactory::create()->createServerRequest('POST', 'http://example.com/')

View File

@@ -78,9 +78,7 @@ final class ImportMediawikiTest extends AbstractTestCase
*/
public function testDoImport(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$importHandle = new File(ImportSettings::$importFile);
$importHandle->open();
@@ -117,9 +115,7 @@ final class ImportMediawikiTest extends AbstractTestCase
public function testDoImportWithEmptyTable(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createStub(DatabaseInterface::class);
$importHandle = new File('tests/test_data/__slashes.mediawiki');
$importHandle->open();

View File

@@ -65,11 +65,7 @@ final class ImportShpTest extends AbstractTestCase
$importHandle = new File($filename);
$importHandle->setDecompressContent(true);
$importHandle->open();
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$importCsv = $this->getImportShp($dbi);
$importCsv = $this->getImportShp($this->createStub(DatabaseInterface::class));
Current::$message = null;
Import::$hasError = false;

View File

@@ -13,6 +13,7 @@ use PhpMyAdmin\Import\ImportSettings;
use PhpMyAdmin\Plugins\Import\ImportXml;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\Medium;
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
@@ -23,6 +24,7 @@ use function __;
#[RequiresPhpExtension('xml')]
#[RequiresPhpExtension('xmlwriter')]
#[Medium]
#[AllowMockObjectsWithoutExpectations]
final class ImportXmlTest extends AbstractTestCase
{
/**
@@ -81,11 +83,8 @@ final class ImportXmlTest extends AbstractTestCase
#[RequiresPhpExtension('simplexml')]
public function testDoImport(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())
->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$importHandle = new File(ImportSettings::$importFile);
@@ -130,11 +129,8 @@ final class ImportXmlTest extends AbstractTestCase
#[RequiresPhpExtension('simplexml')]
public function testDoImportDatasetGIS(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())
->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
ImportSettings::$importFile = 'tests/test_data/phpmyadmin_importXML_GIS_For_Testing.xml';
@@ -183,11 +179,8 @@ final class ImportXmlTest extends AbstractTestCase
#[RequiresPhpExtension('simplexml')]
public function testDoImportNumericStringValues(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())
->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
ImportSettings::$importFile = 'tests/test_data/phpmyadmin_importXML_Numeric_String_For_Testing.xml';
@@ -228,11 +221,8 @@ final class ImportXmlTest extends AbstractTestCase
{
ImportSettings::$importFile = 'tests/test_data/phpmyadmin_importXML_No_Database_For_Testing.xml';
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())
->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$importHandle = new File(ImportSettings::$importFile);

View File

@@ -74,7 +74,7 @@ class WebAuthnTest extends AbstractTestCase
'allowCredentials' => [['type' => 'public-key', 'id' => 'cHVibGljS2V5Q3JlZGVudGlhbElkMQ']],
'timeout' => 60000,
];
$server = self::createMock(Server::class);
$server = $this->createMock(Server::class);
$server->expects(self::once())->method('getCredentialRequestOptions')->with(
self::equalTo('test_user'),
self::anything(),
@@ -126,7 +126,7 @@ class WebAuthnTest extends AbstractTestCase
'timeout' => 60000,
'attestation' => 'none',
];
$server = self::createMock(Server::class);
$server = $this->createMock(Server::class);
$server->expects(self::once())->method('getCredentialCreationOptions')->with(
self::equalTo('test_user'),
self::anything(),
@@ -178,7 +178,7 @@ class WebAuthnTest extends AbstractTestCase
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['webauthn_creation_response', '', '{}']]);
$server = self::createMock(Server::class);
$server = $this->createMock(Server::class);
$server->expects(self::once())->method('parseAndValidateAttestationResponse')
->willThrowException(new WebAuthnException());
@@ -199,7 +199,7 @@ class WebAuthnTest extends AbstractTestCase
// base64url of publicKeyCredentialId1
$credential = ['publicKeyCredentialId' => 'cHVibGljS2V5Q3JlZGVudGlhbElkMQ', 'userHandle' => 'userHandle'];
$server = self::createMock(Server::class);
$server = $this->createMock(Server::class);
$server->expects(self::once())->method('parseAndValidateAttestationResponse')->with(
self::equalTo('{}'),
self::equalTo('{}'),
@@ -249,7 +249,7 @@ class WebAuthnTest extends AbstractTestCase
$request = self::createStub(ServerRequest::class);
$request->method('getParsedBodyParam')->willReturnMap([['webauthn_request_response', '', '{}']]);
$server = self::createMock(Server::class);
$server = $this->createMock(Server::class);
$server->expects(self::once())->method('parseAndValidateAssertionResponse')
->willThrowException(new WebAuthnException());
@@ -280,7 +280,7 @@ class WebAuthnTest extends AbstractTestCase
],
];
$server = self::createMock(Server::class);
$server = $this->createMock(Server::class);
$server->expects(self::once())->method('parseAndValidateAssertionResponse')->with(
self::equalTo('{}'),
self::equalTo([['type' => 'public-key', 'id' => 'cHVibGljS2V5Q3JlZGVudGlhbElkMQ']]),

View File

@@ -7,10 +7,12 @@ namespace PhpMyAdmin\Tests\Properties\Options;
use PhpMyAdmin\Properties\Options\Items\BoolPropertyItem;
use PhpMyAdmin\Properties\Options\OptionsPropertyGroup;
use PhpMyAdmin\Tests\AbstractTestCase;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\MockObject\MockObject;
#[CoversClass(OptionsPropertyGroup::class)]
#[AllowMockObjectsWithoutExpectations]
class OptionsPropertyGroupTest extends AbstractTestCase
{
protected OptionsPropertyGroup&MockObject $stub;

View File

@@ -6,10 +6,12 @@ namespace PhpMyAdmin\Tests\Properties\Options;
use PhpMyAdmin\Properties\Options\OptionsPropertyOneItem;
use PhpMyAdmin\Tests\AbstractTestCase;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\MockObject\MockObject;
#[CoversClass(OptionsPropertyOneItem::class)]
#[AllowMockObjectsWithoutExpectations]
class OptionsPropertyOneItemTest extends AbstractTestCase
{
protected OptionsPropertyOneItem&MockObject $stub;

View File

@@ -16,7 +16,7 @@ class AccountLockingTest extends TestCase
{
public function testLockWithValidAccount(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('isMariaDB')->willReturn(true);
$dbi->expects(self::once())->method('getVersion')->willReturn(100402);
$dbi->expects(self::exactly(2))->method('quoteString')
@@ -33,7 +33,7 @@ class AccountLockingTest extends TestCase
public function testLockWithInvalidAccount(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('isMariaDB')->willReturn(true);
$dbi->expects(self::once())->method('getVersion')->willReturn(100402);
$dbi->expects(self::exactly(2))->method('quoteString')
@@ -54,7 +54,7 @@ class AccountLockingTest extends TestCase
public function testLockWithUnsupportedServer(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('isMariaDB')->willReturn(true);
$dbi->expects(self::once())->method('getVersion')->willReturn(100401);
$dbi->expects(self::never())->method('quoteString');
@@ -71,7 +71,7 @@ class AccountLockingTest extends TestCase
public function testUnlockWithValidAccount(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('isMariaDB')->willReturn(true);
$dbi->expects(self::once())->method('getVersion')->willReturn(100402);
$dbi->expects(self::exactly(2))->method('quoteString')
@@ -88,7 +88,7 @@ class AccountLockingTest extends TestCase
public function testUnlockWithInvalidAccount(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('isMariaDB')->willReturn(true);
$dbi->expects(self::once())->method('getVersion')->willReturn(100402);
$dbi->expects(self::exactly(2))->method('quoteString')
@@ -109,7 +109,7 @@ class AccountLockingTest extends TestCase
public function testUnlockWithUnsupportedServer(): void
{
$dbi = self::createMock(DatabaseInterface::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())->method('isMariaDB')->willReturn(false);
$dbi->expects(self::once())->method('getVersion')->willReturn(50705);
$dbi->expects(self::never())->method('quoteString');

View File

@@ -24,6 +24,7 @@ use PhpMyAdmin\Tests\Stubs\DummyResult;
use PhpMyAdmin\Url;
use PhpMyAdmin\UserPrivileges;
use PhpMyAdmin\Util;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\Medium;
@@ -38,6 +39,7 @@ use function preg_quote;
#[CoversClass(Privileges::class)]
#[Medium]
#[AllowMockObjectsWithoutExpectations]
class PrivilegesTest extends AbstractTestCase
{
protected DatabaseInterface $dbi;
@@ -520,14 +522,10 @@ class PrivilegesTest extends AbstractTestCase
$_POST['max_user_connections'] = 40;
//Mock DBI
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::any())->method('getVersion')
->willReturn(8003);
$dbi->expects(self::any())
->method('quoteString')
$dbi->method('getVersion')->willReturn(8003);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$serverPrivileges->dbi = $dbi;
@@ -563,14 +561,10 @@ class PrivilegesTest extends AbstractTestCase
$_POST['max_user_connections'] = 40;
//Mock DBI
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::any())->method('getVersion')
->willReturn(80011);
$dbi->expects(self::any())
->method('quoteString')
$dbi->method('getVersion')->willReturn(80011);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$serverPrivileges->dbi = $dbi;
@@ -941,17 +935,13 @@ class PrivilegesTest extends AbstractTestCase
$serverPrivileges->username = 'pma_username';
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$fieldsInfo = [
['COLUMN_NAME' => 'Host', 'CHARACTER_MAXIMUM_LENGTH' => 80],
['COLUMN_NAME' => 'User', 'CHARACTER_MAXIMUM_LENGTH' => 40],
];
$dbi->expects(self::any())->method('fetchResult')
->willReturn($fieldsInfo);
$dbi->expects(self::any())
->method('quoteString')
$dbi->method('fetchResult')->willReturn($fieldsInfo);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$serverPrivileges->dbi = $dbi;
@@ -1006,20 +996,15 @@ class PrivilegesTest extends AbstractTestCase
$dbi = $this->createDatabaseInterface();
$serverPrivileges = $this->getPrivileges($dbi);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$fieldsInfo = [
['COLUMN_NAME' => 'Host', 'CHARACTER_MAXIMUM_LENGTH' => 80],
['COLUMN_NAME' => 'User', 'CHARACTER_MAXIMUM_LENGTH' => 40],
];
$dbi->expects(self::any())->method('fetchResult')
->willReturn($fieldsInfo);
$dbi->expects(self::any())
->method('quoteString')
$dbi->method('fetchResult')->willReturn($fieldsInfo);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$dbi->expects(self::any())->method('isGrantUser')
->willReturn(true);
$dbi->method('isGrantUser')->willReturn(true);
$serverPrivileges->dbi = $dbi;
@@ -1780,20 +1765,11 @@ class PrivilegesTest extends AbstractTestCase
$resultStub = $this->createMock(DummyResult::class);
//Mock DBI
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())
->method('query')
->willReturn($resultStub);
$dbi->expects(self::any())
->method('fetchResult')
->willReturn(['db', 'columns_priv']);
$resultStub->expects(self::any())
->method('fetchAssoc')
->willReturn(['User' => 'pmauser', 'Host' => 'local'], []);
$dbi->expects(self::any())
->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('query')->willReturn($resultStub);
$dbi->method('fetchResult')->willReturn(['db', 'columns_priv']);
$resultStub->method('fetchAssoc')->willReturn(['User' => 'pmauser', 'Host' => 'local'], []);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$serverPrivileges->dbi = $dbi;
@@ -1821,17 +1797,10 @@ class PrivilegesTest extends AbstractTestCase
$resultStub = self::createStub(DummyResult::class);
//Mock DBI
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())
->method('tryQuery')
->willReturn($resultStub, $resultStub, false);
$dbi->expects(self::any())
->method('getError')
->willReturn('Some error occurred!');
$dbi->expects(self::any())
->method('quoteString')
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('tryQuery')->willReturn($resultStub, $resultStub, false);
$dbi->method('getError')->willReturn('Some error occurred!');
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$serverPrivileges->dbi = $dbi;

View File

@@ -11,6 +11,7 @@ use PhpMyAdmin\Dbal\DatabaseInterface;
use PhpMyAdmin\SystemColumn;
use PhpMyAdmin\SystemDatabase;
use PhpMyAdmin\Tests\Stubs\DummyResult;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use ReflectionProperty;
@@ -18,6 +19,7 @@ use const MYSQLI_TYPE_STRING;
#[CoversClass(SystemDatabase::class)]
#[CoversClass(SystemColumn::class)]
#[AllowMockObjectsWithoutExpectations]
class SystemDatabaseTest extends AbstractTestCase
{
/**
@@ -37,18 +39,11 @@ class SystemDatabaseTest extends AbstractTestCase
*/
Config::getInstance()->selectedServer['pmadb'] = '';
$resultStub = self::createMock(DummyResult::class);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->method('tryQuery')->willReturn($this->createStub(DummyResult::class));
$dbi->expects(self::any())
->method('tryQuery')
->willReturn($resultStub);
$dbi->expects(self::any())
->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$relationParameters = RelationParameters::fromArray([
@@ -85,18 +80,16 @@ class SystemDatabaseTest extends AbstractTestCase
*/
public function testPMAGetNewTransformationDataSql(): void
{
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$resultStub->expects(self::any())
->method('fetchAssoc')
->willReturn([
'table_name' => 'table_name',
'column_name' => 'column_name',
'comment' => 'comment',
'mimetype' => 'mimetype',
'transformation' => 'transformation',
'transformation_options' => 'transformation_options',
]);
$resultStub->method('fetchAssoc')->willReturn([
'table_name' => 'table_name',
'column_name' => 'column_name',
'comment' => 'comment',
'mimetype' => 'mimetype',
'transformation' => 'transformation',
'transformation_options' => 'transformation_options',
]);
$db = 'PMA_db';
$columnMap = [new SystemColumn('table_name', 'column_name', null)];

View File

@@ -11,10 +11,12 @@ use PhpMyAdmin\Message;
use PhpMyAdmin\Table\Indexes;
use PhpMyAdmin\Table\Table;
use PhpMyAdmin\Tests\AbstractTestCase;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\MockObject\MockObject;
#[CoversClass(Indexes::class)]
#[AllowMockObjectsWithoutExpectations]
class IndexesTest extends AbstractTestCase
{
private DatabaseInterface&MockObject $dbi;
@@ -26,17 +28,14 @@ class IndexesTest extends AbstractTestCase
Current::$database = 'db';
Current::$table = 'table';
$this->dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$this->dbi = $this->createMock(DatabaseInterface::class);
}
public function testGetSqlQueryForRename(): void
{
$sqlQuery = 'ALTER TABLE `db`.`table` RENAME INDEX `0` TO `ABC`;';
$this->dbi->expects(self::any())->method('getVersion')
->willReturn(50700);
$this->dbi->method('getVersion')->willReturn(50700);
$index = new Index(['Key_name' => 'ABC']);
@@ -59,11 +58,8 @@ class IndexesTest extends AbstractTestCase
public function testGetSqlQueryForIndexCreateOrEdit(): void
{
$table = $this->getMockBuilder(Table::class)
->disableOriginalConstructor()
->getMock();
$this->dbi->expects(self::any())->method('getTable')
->willReturn($table);
$table = $this->createStub(Table::class);
$this->dbi->method('getTable')->willReturn($table);
$indexes = new Indexes($this->dbi);
$db = 'pma_db';

View File

@@ -22,6 +22,7 @@ use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\FieldHelper;
use PhpMyAdmin\Tests\Stubs\DbiDummy;
use PhpMyAdmin\Tests\Stubs\DummyResult;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\MockObject\MockObject;
@@ -31,6 +32,7 @@ use ReflectionProperty;
use const MYSQLI_TYPE_STRING;
#[CoversClass(Table::class)]
#[AllowMockObjectsWithoutExpectations]
class TableTest extends AbstractTestCase
{
private DatabaseInterface&MockObject $mockedDbi;
@@ -243,39 +245,31 @@ class TableTest extends AbstractTestCase
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$databaseList = self::createStub(ListDatabase::class);
$databaseList->method('exists')->willReturn(true);
$dbi->expects(self::any())->method('getDatabaseList')->willReturn($databaseList);
$dbi->method('getDatabaseList')->willReturn($databaseList);
$dbi->expects(self::any())->method('fetchResult')
->willReturnMap($fetchResult);
$dbi->method('fetchResult')->willReturnMap($fetchResult);
$dbi->expects(self::any())->method('fetchResultSimple')
->willReturnMap($fetchResultSimple);
$dbi->method('fetchResultSimple')->willReturnMap($fetchResultSimple);
$dbi->expects(self::any())->method('fetchResultMultidimensional')
->willReturnMap($fetchResultMultidimensional);
$dbi->method('fetchResultMultidimensional')->willReturnMap($fetchResultMultidimensional);
$dbi->expects(self::any())->method('fetchValue')
->willReturnMap($fetchValue);
$dbi->method('fetchValue')->willReturnMap($fetchValue);
$cache = new Cache();
$dbi->expects(self::any())->method('getCache')
->willReturn($cache);
$dbi->method('getCache')->willReturn($cache);
$dbi->expects(self::any())->method('getColumnNames')
->willReturnMap([
[
'PMA',
'PMA_BookMark',
ConnectionType::User,
['column1', 'column3', 'column5', 'ACCESSIBLE', 'ADD', 'ALL'],
],
]);
$dbi->method('getColumnNames')->willReturnMap([
[
'PMA',
'PMA_BookMark',
ConnectionType::User,
['column1', 'column3', 'column5', 'ACCESSIBLE', 'ADD', 'ALL'],
],
]);
$databases = [];
$databaseName = 'PMA';
@@ -286,26 +280,20 @@ class TableTest extends AbstractTestCase
$databases[$databaseName]['SCHEMA_INDEX_LENGTH'] = 10;
$databases[$databaseName]['SCHEMA_LENGTH'] = 10;
$dbi->expects(self::any())->method('getTablesFull')
->willReturn($databases);
$dbi->method('getTablesFull')->willReturn($databases);
$dbi->expects(self::any())->method('query')
->willReturn($resultStub);
$dbi->method('query')->willReturn($resultStub);
$dbi->expects(self::any())->method('insertId')
->willReturn(10);
$dbi->method('insertId')->willReturn(10);
$resultStub->expects(self::any())->method('fetchAssoc')
->willReturn([]);
$resultStub->method('fetchAssoc')->willReturn([]);
$value = ['Auto_increment' => 'Auto_increment'];
$dbi->expects(self::any())->method('fetchSingleRow')
->willReturn($value);
$dbi->method('fetchSingleRow')->willReturn($value);
$resultStub->expects(self::any())->method('fetchRow')
->willReturn([]);
$resultStub->method('fetchRow')->willReturn([]);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
DatabaseInterface::$instance = $dbi;
@@ -1247,7 +1235,7 @@ class TableTest extends AbstractTestCase
$table = 'PMA_BookMark';
$db = 'PMA';
$this->mockedDbi->expects(self::any())->method('tryQuery')->willReturn(self::createStub(DummyResult::class));
$this->mockedDbi->method('tryQuery')->willReturn(self::createStub(DummyResult::class));
$table = new Table($table, $db, $this->mockedDbi);
@@ -1327,9 +1315,7 @@ class TableTest extends AbstractTestCase
*/
public function testGetColumnsMeta(): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$resultStub = self::createStub(DummyResult::class);
@@ -1415,28 +1401,18 @@ class TableTest extends AbstractTestCase
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())
->method('tryQuery')
->willReturn($resultStub);
$resultStub->expects(self::any())
->method('numRows')
->willReturn(0, 10, 200);
$dbi->expects(self::any())
->method('fetchResult')
->willReturn(
['`one_ind`', '`sec_ind`'],
[], // No Uniques found
);
$dbi->expects(self::any())
->method('fetchResultMultidimensional')
->willReturn(
[['`one_pk`']],
[], // No Indexed found
[], // No Uniques found
);
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('tryQuery')->willReturn($resultStub);
$resultStub->method('numRows')->willReturn(0, 10, 200);
$dbi->method('fetchResult')->willReturn(
['`one_ind`', '`sec_ind`'],
[], // No Uniques found
);
$dbi->method('fetchResultMultidimensional')->willReturn(
[['`one_pk`']],
[], // No Indexed found
[], // No Uniques found
);
DatabaseInterface::$instance = $dbi;
@@ -1465,13 +1441,10 @@ class TableTest extends AbstractTestCase
public function testCountRecords(): void
{
$resultStub = $this->createMock(DummyResult::class);
$resultStub->expects(self::any())
->method('numRows')
->willReturn(20);
$resultStub->method('numRows')->willReturn(20);
$dbi = clone $this->mockedDbi;
$dbi->expects(self::any())->method('tryQuery')
->willReturn($resultStub);
$dbi->method('tryQuery')->willReturn($resultStub);
$table = 'PMA_BookMark';
$db = 'PMA';
@@ -1526,8 +1499,7 @@ class TableTest extends AbstractTestCase
['aa', 'ad', new Table('ad', 'aa', $this->mockedDbi)],
];
$this->mockedDbi->expects(self::any())->method('getTable')
->willReturnMap($getTableMap);
$this->mockedDbi->method('getTable')->willReturnMap($getTableMap);
$object = new TableMover($this->mockedDbi, new Relation($this->mockedDbi));
@@ -1571,47 +1543,44 @@ class TableTest extends AbstractTestCase
// Renaming DB with a view bug
$resultStub = $this->createMock(DummyResult::class);
$this->mockedDbi->expects(self::any())->method('tryQuery')
->willReturnMap([
[
'SHOW CREATE TABLE `aa`.`ad`',
ConnectionType::User,
false,
true,
$resultStub,
],
[
'SHOW TABLE STATUS FROM `aa` WHERE Name = \'ad\'',
ConnectionType::User,
false,
true,
$resultStub,
],
['USE `aa`', ConnectionType::User, false, true, $resultStub],
[
'RENAME TABLE `PMA`.`PMA_BookMark` TO `PMA`.`PMA_.BookMark`;',
ConnectionType::User,
false,
true,
false,
],
[
'RENAME TABLE `aa`.`ad` TO `bb`.`ad`;',
ConnectionType::User,
false,
true,
false,
],
]);
$resultStub->expects(self::any())
->method('fetchRow')
->willReturn([
'ad',
'CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost`' .
' SQL SECURITY DEFINER VIEW `ad` AS select `aa`.`bb`.`ac` AS `ac` from `bb`',
'utf8mb4',
'utf8mb4_unicode_ci',
]);
$this->mockedDbi->method('tryQuery')->willReturnMap([
[
'SHOW CREATE TABLE `aa`.`ad`',
ConnectionType::User,
false,
true,
$resultStub,
],
[
'SHOW TABLE STATUS FROM `aa` WHERE Name = \'ad\'',
ConnectionType::User,
false,
true,
$resultStub,
],
['USE `aa`', ConnectionType::User, false, true, $resultStub],
[
'RENAME TABLE `PMA`.`PMA_BookMark` TO `PMA`.`PMA_.BookMark`;',
ConnectionType::User,
false,
true,
false,
],
[
'RENAME TABLE `aa`.`ad` TO `bb`.`ad`;',
ConnectionType::User,
false,
true,
false,
],
]);
$resultStub->method('fetchRow')->willReturn([
'ad',
'CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost`'
. ' SQL SECURITY DEFINER VIEW `ad` AS select `aa`.`bb`.`ac` AS `ac` from `bb`',
'utf8mb4',
'utf8mb4_unicode_ci',
]);
Current::$sqlQuery = '';
$return = $object->moveCopy('aa', 'ad', 'bb', 'ad', MoveScope::Move, MoveMode::WholeDatabase, true);

View File

@@ -157,9 +157,7 @@ class TrackerTest extends AbstractTestCase
$resultStub = self::createStub(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
/**
* set up mock objects
@@ -189,12 +187,10 @@ class TrackerTest extends AbstractTestCase
[$showCreateTableQuery, ConnectionType::User, false, true, $resultStub],
]);
$dbi->expects(self::any())->method('query')
->willReturn($resultStub);
$dbi->method('query')->willReturn($resultStub);
$dbi->expects(self::any())->method('getCompatibilities')
->willReturn([]);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('getCompatibilities')->willReturn([]);
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
DatabaseInterface::$instance = $dbi;
@@ -213,9 +209,7 @@ class TrackerTest extends AbstractTestCase
$resultStub = self::createStub(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$expectedMainQuery = '/*NOTRACK*/' . "\n" . 'INSERT INTO `pmadb`.`tracking` (db_name, table_name, version,'
. ' date_created, date_updated, schema_snapshot, schema_sql, data_sql, tracking)'
@@ -228,7 +222,7 @@ class TrackerTest extends AbstractTestCase
->with(self::matches($expectedMainQuery))
->willReturn($resultStub);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
DatabaseInterface::$instance = $dbi;
@@ -252,9 +246,7 @@ class TrackerTest extends AbstractTestCase
string|int $newState = '1',
string|null $type = null,
): void {
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$resultStub = self::createStub(DummyResult::class);
@@ -268,7 +260,7 @@ class TrackerTest extends AbstractTestCase
->with($sqlQuery)
->willReturn($resultStub);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
DatabaseInterface::$instance = $dbi;

View File

@@ -572,11 +572,9 @@ final class TrackingTest extends AbstractTestCase
*/
public function testDeleteTracking(): void
{
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createStub(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$sqlQuery = "/*NOTRACK*/\n"
. 'DELETE FROM `pmadb`.`tracking`'
@@ -587,7 +585,7 @@ final class TrackingTest extends AbstractTestCase
->method('queryAsControlUser')
->with($sqlQuery)
->willReturn($resultStub);
$dbi->expects(self::any())->method('quoteString')
$dbi->method('quoteString')
->willReturnCallback(static fn (string $string): string => "'" . $string . "'");
$tracking = new Tracking(
@@ -640,11 +638,9 @@ final class TrackingTest extends AbstractTestCase
#[DataProvider('getTrackedDataProvider')]
public function testGetTrackedData(array $fetchArrayReturn, TrackedData $expected): void
{
$resultStub = self::createMock(DummyResult::class);
$resultStub = $this->createMock(DummyResult::class);
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::once())
->method('queryAsControlUser')

View File

@@ -9,11 +9,13 @@ use PhpMyAdmin\ConfigStorage\RelationParameters;
use PhpMyAdmin\Dbal\DatabaseInterface;
use PhpMyAdmin\Tests\Stubs\DummyResult;
use PhpMyAdmin\Transformations;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use ReflectionProperty;
#[CoversClass(Transformations::class)]
#[AllowMockObjectsWithoutExpectations]
class TransformationsTest extends AbstractTestCase
{
private Transformations $transformations;
@@ -188,12 +190,8 @@ class TransformationsTest extends AbstractTestCase
public function testClear(): void
{
// Mock dbi
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi->expects(self::any())
->method('tryQuery')
->willReturn(self::createStub(DummyResult::class));
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->method('tryQuery')->willReturn(self::createStub(DummyResult::class));
(new ReflectionProperty(Relation::class, 'cache'))->setValue(null, null);

View File

@@ -14,6 +14,7 @@ use PhpMyAdmin\SqlParser\Token;
use PhpMyAdmin\Util;
use PhpMyAdmin\Utils\SessionCache;
use PhpMyAdmin\Version;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\Group;
@@ -35,6 +36,7 @@ use const LC_ALL;
use const LOCALE_PATH;
#[CoversClass(Util::class)]
#[AllowMockObjectsWithoutExpectations]
class UtilTest extends AbstractTestCase
{
/**
@@ -1373,17 +1375,11 @@ SQL;
#[DataProvider('provideForTestIsUUIDSupported')]
public function testIsUUIDSupported(bool $isMariaDB, int $version, bool $expected): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects(self::any())
->method('isMariaDB')
->willReturn($isMariaDB);
$dbi->method('isMariaDB')->willReturn($isMariaDB);
$dbi->expects(self::any())
->method('getVersion')
->willReturn($version);
$dbi->method('getVersion')->willReturn($version);
DatabaseInterface::$instance = $dbi;
self::assertSame(Util::isUUIDSupported(), $expected);

View File

@@ -74,9 +74,7 @@ class ForeignKeyTest extends AbstractTestCase
#[DataProvider('providerCheckInit')]
public function testHandleDisableCheckInit(string $checksValue, string $setVariableParam): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
DatabaseInterface::$instance = $dbi;
$_REQUEST['fk_checks'] = $checksValue;
@@ -95,9 +93,7 @@ class ForeignKeyTest extends AbstractTestCase
#[DataProvider('providerCheckInit')]
public function testHandleDisableCheckInitVarFalse(string $checksValue, string $setVariableParam): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
DatabaseInterface::$instance = $dbi;
$_REQUEST['fk_checks'] = $checksValue;
@@ -122,9 +118,7 @@ class ForeignKeyTest extends AbstractTestCase
#[DataProvider('providerCheckCleanup')]
public function testHandleDisableCheckCleanup(bool $checkValue, string $setVariableParam): void
{
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
DatabaseInterface::$instance = $dbi;
$dbi->expects(self::once())

View File

@@ -36,9 +36,7 @@ class GisTest extends AbstractTestCase
bool $SRIDOption,
int $mysqlVersion,
): void {
$dbi = $this->getMockBuilder(DatabaseInterface::class)
->disableOriginalConstructor()
->getMock();
$dbi = $this->createMock(DatabaseInterface::class);
$dbi->expects($SRIDOption ? self::once() : self::exactly(2))
->method('getVersion')

View File

@@ -8,6 +8,7 @@ use PhpMyAdmin\Config;
use PhpMyAdmin\Release;
use PhpMyAdmin\Utils\HttpRequest;
use PhpMyAdmin\VersionInformation;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\Group;
@@ -16,6 +17,7 @@ use PHPUnit\Framework\Attributes\Large;
#[CoversClass(VersionInformation::class)]
#[CoversClass(Release::class)]
#[Large]
#[AllowMockObjectsWithoutExpectations]
class VersionInformationTest extends AbstractTestCase
{
/** @var Release[] */
@@ -251,9 +253,7 @@ class VersionInformationTest extends AbstractTestCase
->onlyMethods(['getPHPVersion'])
->getMock();
$mockVersionInfo->expects(self::any())
->method('getPHPVersion')
->willReturn('5.2.4');
$mockVersionInfo->method('getPHPVersion')->willReturn('5.2.4');
self::assertTrue($mockVersionInfo->evaluateVersionCondition('PHP', '<=5.3'));
self::assertTrue($mockVersionInfo->evaluateVersionCondition('PHP', '<5.3'));