Commit Graph

75 Commits

Author SHA1 Message Date
Maurício Meneghini Fauth
a9f8e503a3
Replace $GLOBALS['cfg'] with Config::$settings array
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-08-27 22:23:36 -03:00
Maurício Meneghini Fauth
0f31d66274
Replace $GLOBALS['cfg']['Server'] with Config::$selectedServer
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-08-20 14:49:57 -03:00
Maurício Meneghini Fauth
83b1d6be45
Replace DatabaseInterface global var with a singleton object
Removes the DbiLoading middleware.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-08-18 14:08:10 -03:00
Maurício Meneghini Fauth
9e9611d162
Replace config global with Config singleton
This is as bad as the global variable, however at least will have better
static analysis of it.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-08-15 01:11:54 -03:00
Maurício Meneghini Fauth
5f9ba2e1d1
Extract Relation and Template dependencies from UserPreferences
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-08-09 15:04:34 -03:00
Maurício Meneghini Fauth
c0d04b6895
Add a Response object to ResponseRenderer class
Uses a Response object to handle the HTTP headers and HTTP status code.

This makes the AbstractNetworkTestCase obsolete and removes it.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-08-07 22:27:48 -03:00
Maurício Meneghini Fauth
a520e235eb
Move Core::sendHeaderLocation() to ResponseRenderer::redirect()
Removes the IIS specific logic.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-08-06 17:43:42 -03:00
Maurício Meneghini Fauth
eff6872c83
Fix PHPUnit 10.3 soft deprecations
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-08-04 13:58:06 -03:00
Kamil Tekiela
1a2d2a472b Remove session cache in Relation
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-07-27 12:02:12 +01:00
Maximilian Krög
bb34e72917
Construct ReflectionProperty directly
Signed-off-by: Maximilian Krög <maxi_kroeg@web.de>
2023-07-21 19:07:30 +02:00
Maximilian Krög
7c842b6021
Change deprecated ReflectionProperty method call
Is being deprecated in PHP 8.3

Signed-off-by: Maximilian Krög <maxi_kroeg@web.de>
2023-07-21 19:07:24 +02:00
Maurício Meneghini Fauth
3f2c53ef1d
Replace PHPUnit annotations with attributes
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-06-07 11:44:01 -03:00
Kamil Tekiela
3ac8b6d87b Use short lambdas
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-05-11 23:48:06 +01:00
Kamil Tekiela
357680474e Memoize Relation
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-04-04 11:59:29 +01:00
Maurício Meneghini Fauth
dd885dc7b8
Use single-line arrays when possible
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-03-27 17:39:17 -03:00
Kamil Tekiela
276577ca2a
Remove $GLOBALS['PMA_PHP_SELF'] (#18149)
* Remove $GLOBALS['PMA_PHP_SELF']

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove $GLOBALS['PMA_PHP_SELF'] from tests

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Moved cleanupPathInfo to Routing

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove parse_url from getRootPath

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Update baselines

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove invalid tests

Surely, we never expect PATH to be backslash delimited. The code is not designed to handle this and the tests for this don't make much sense.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Fix trailing slash in path

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

---------

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-27 17:56:27 -03:00
Maurício Meneghini Fauth
556594b4cd
Fix coding standard spacing issues
- Fixes one line doc comments
- Fixes parent call spacing
- Fixes constant spacing

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-24 21:06:17 -03:00
Maurício Meneghini Fauth
77957a69a5
Add trailing comma for multi-line functions
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-24 20:48:46 -03:00
Kamil Tekiela
902d1a1e77
Add native return type hints (#18126)
* Add remaining native return type hints to flush out bugs

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Cast the mixed value to int

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Fix tests

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* getAutoIncrement() is supposed to return string

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Cast values to string in DummyResult

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Make getCollation() return non-nullable string

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Cast seqInIndex to int

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Cast $cardinality to int

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* createFile may return false

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove redundant cast

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Update baselines

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

---------

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-23 15:43:36 -03:00
Kamil Tekiela
cfe54a501b Add union types
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-15 15:23:28 +00:00
Kamil Tekiela
3a56e51f92 Replace escapeString with quoteString
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-10 16:23:34 -03:00
Kamil Tekiela
7e5d96b559 Use DI for UserPreferences
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-10 16:23:34 -03:00
Maurício Meneghini Fauth
41dec1effc
Extract connection type constants to the Connection class
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-01-17 02:21:27 -03:00
Maurício Meneghini Fauth
346923e20a
Set dbi only when the test needs it
Related to https://github.com/phpmyadmin/phpmyadmin/pull/17637

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-07-14 02:21:45 -03:00
Maurício Meneghini Fauth
20f1656050
Merge branch 'QA_5_1' into QA_5_2
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-02-15 17:44:37 -03:00
Maurício Meneghini Fauth
ddf0d9604f
Clear config storage params from session after failed access
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-02-14 12:42:10 -03:00
Kamil Tekiela
70c86f5e21 Remove $row_number from DatabaseInterface::fetchValue
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-12-21 21:09:38 +00:00
Maurício Meneghini Fauth
bf49480160
Populate relation Session with RelationParameters class
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-17 12:09:15 -03:00
Kamil Tekiela
56a832948c
Refactor DatabaseInterface.php (#17209)
* Use str_starts_with()

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove redundant !empty()

!empty() on a declared variable is redundant.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Replace loop with array_column()

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Simpify assignment by removing temporary variable

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove redundant if statements and array_merge

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove temporary variable

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Unindent code

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Add helper method fetchByMode()

This is done to avoid calling methods through variables. It is the same
in terms of performance.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Move if statements to where they are relevant

I had a choice to either move the while loop out of the if statements
or move the if statements inside. I decided it made more sense to move
them inside.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Add NULL to phpdoc for the two parameters that can be null

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Simplify return statement

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Improve performance and simplify code

Since we are always using STORE mode then we can use data_seek() method.
This will allow us to get rid of the loop and use fetchByMode() method.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Inline value defaulting

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove redundant check

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* [bugfix] getColumnNames() should return an array of strings

There were multiple issues here. If we are selecting only a certain
column from the SQL then let's use the handy function instead of
array_keys. We will never get anything other than an array so checking
if it is not an array makes no sense. Returning null only to cast it to
an array is pointless. If really necessary, we could still check for an
empty array. The ColumnController returned the value without even
casting it to an array. I am not sure how jQuery/JavaScript dealt with it.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Refactor getColumnMapFromSql and add type hint

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Refactor getVirtualTables

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove redundant loop

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove redundant usage of freeResult()

If there was no chance for the object to leak the scope and it is the
end of the scope then there's no reason to call this method.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Replace dynamic variable with declare one

It's always the same name. If we were creating more than one, we could
use associative array, but in this case there seems to be absolutely no
need for any of this. Dynamic variables make it harder to debug the code.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Update psalm-baseline.xml

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Widen the condition per williamdes suggestion

This will allow value such as '' and '0' to pass through. Previously
`if(! empty($database))` and `if($database)` dissallowed them.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* fetchResult() should return only arrays

Tests fixed to return arrays. Non-empty in case of true, empty in case
of false.
Fixed a lot of Psalm issues where the condition was always true.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-11-26 20:17:46 -03:00
Maurício Meneghini Fauth
b2a51c4d84
Create the RelationParameters value object
Replaces the $cfgRelation array with the RelationParameters value
object.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-11-14 18:22:36 -03:00
Maurício Meneghini Fauth
67e96cf40c
Get default config values from Config\Settings classes
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-09-30 12:04:47 -03:00
Maurício Meneghini Fauth
3e0856c77b
Remove useless string concatenations
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-09-27 21:40:22 -03:00
Maurício Meneghini Fauth
f00d70cccb
Remove useless whitespaces
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-09-15 17:05:40 -03:00
Maurício Meneghini Fauth
f3b79d83c0
Add PHPUnit's Covers annotation on test classes
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-06-04 23:39:26 -03:00
Maurício Meneghini Fauth
33d711215d
Remove the PMA_VERSION constant
Uses the PhpMyAdmin\Version::VERSION constant instead.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-03-08 22:22:55 -03:00
Maurício Meneghini Fauth
7e33d227f5
Rename the PMA_Config global variable to config
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-03-08 15:03:12 -03:00
Maurício Meneghini Fauth
0b8edc5bde
Use PSR-12 for namespace use statements
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-03-05 14:18:35 -03:00
Maurício Meneghini Fauth
db3da81056 Remove some useless comments
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2020-10-13 19:56:56 -03:00
Maurício Meneghini Fauth
ba09c84a05 Fix PHPStan errors for PHPUnit assert methods
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2020-08-10 16:20:53 -03:00
Maurício Meneghini Fauth
47f0960dce Add return type declaration to test methods
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2020-07-07 11:31:33 -03:00
Maurício Meneghini Fauth
3ae05c785d Use short list syntax and single line arrays
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2020-05-26 03:32:59 -03:00
Maurício Meneghini Fauth
3baad2eb1c Fix some coding standard issues
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2020-05-25 22:42:37 -03:00
William Desportes
4134f34b54
Fix tests for seed 590128958
Seed: 590128958

Signed-off-by: William Desportes <williamdes@wdes.fr>
2020-05-22 09:50:27 +02:00
William Desportes
a878168e6c
Fix a typo in my last commit
Signed-off-by: William Desportes <williamdes@wdes.fr>
2020-05-22 09:08:26 +02:00
William Desportes
b8e6834058
Rename PmaTestCase to AbstractNetwokTestCase
Signed-off-by: William Desportes <williamdes@wdes.fr>
2020-05-22 01:49:22 +02:00
William Desportes
5c270d863d
Move callProtectedFunction to abstract class
Signed-off-by: William Desportes <williamdes@wdes.fr>
2020-05-21 21:58:41 +02:00
William Desportes
ae575ffb14
Fix running tests in --process-isolation
Signed-off-by: William Desportes <williamdes@wdes.fr>
2020-05-21 16:21:20 +02:00
William Desportes
6eaa55e805
Call parent's setUp and tearDown
Signed-off-by: William Desportes <williamdes@wdes.fr>
2020-05-20 21:31:13 +02:00
William Desportes
0b2c24ee26
Use ::class in tests
Signed-off-by: William Desportes <williamdes@wdes.fr>
2020-05-20 12:15:40 +02:00
Maurício Meneghini Fauth
206199105e Remove useless return type annotations
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2020-01-23 13:03:29 -03:00