Commit Graph

1955 Commits

Author SHA1 Message Date
Laurent Destailleur
77a76aad7a Fix test on permissions 2024-09-06 17:36:50 +02:00
Laurent Destailleur
0f979a31f3 Fix on permission test 2024-09-06 16:47:50 +02:00
Laurent Destailleur
b02a891f2f Enhance the protection on missing permissions 2024-09-06 15:49:57 +02:00
Laurent Destailleur
6af16694cc NEW Add test to forbidden NOW() SQL function. 2024-09-05 13:22:19 +02:00
Laurent Destailleur
8cdef1d713 NEW Activate PHPUnit with tests on permission on $action ==... 2024-09-03 16:33:02 +02:00
Laurent Destailleur
c79f72f785 Fix missing tests on permissions 2024-09-03 16:19:18 +02:00
Laurent Destailleur
2e2ab9d84d Fix missing test on permissions 2024-09-01 13:48:58 +02:00
Laurent Destailleur
815352e8f9 Fix permission on delete token 2024-08-31 19:26:46 +02:00
Laurent Destailleur
827c3daa03 Fix test on permissions 2024-08-31 19:15:14 +02:00
Laurent Destailleur
c4c55b00fd Fix permissions tests 2024-08-31 18:38:16 +02:00
Laurent Destailleur
c30d706ab6 Add more phpunit tests 2024-08-31 18:11:16 +02:00
Laurent Destailleur
d094a57bad Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-08-31 17:32:23 +02:00
Laurent Destailleur
a5c786fe6e Fix not yed ready for v20 2024-08-31 17:31:30 +02:00
Laurent Destailleur
2009c6f09a Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-08-31 17:30:32 +02:00
Laurent Destailleur
b8dadd4b6a Debug v20 Fix missing test on permissions 2024-08-31 17:23:13 +02:00
Laurent Destailleur
2c28d039e2 Fix test on permissions 2024-08-31 16:26:08 +02:00
Laurent Destailleur
1e3a860767 Fix test on permissions 2024-08-31 16:01:27 +02:00
Laurent Destailleur
ee6779dbcf Clean code 2024-08-31 15:08:17 +02:00
hansemschnokeloch
4849e04fc9 Fix #29292 (#30720)
* fix #2810

* Fix #29292
2024-08-23 15:27:55 +02:00
hansemschnokeloch
cfb44ce196
Fix #29292 (#30720)
* fix #2810

* Fix #29292
2024-08-23 15:27:10 +02:00
Laurent Destailleur
34fefcaeb2 Clean code 2024-08-01 12:46:30 +02:00
Laurent Destailleur
46cde6431a NEW Can use a specific profile to send email for password forgotten 2024-08-01 11:36:21 +02:00
Laurent Destailleur
6428a1d892 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2024-07-28 15:05:02 +02:00
Laurent Destailleur
8ac368ce17 FIX Better sanitizing for javascript. Fix <> bypass. 2024-07-27 18:07:37 +02:00
Laurent Destailleur
bcb63ae7b4 Fix phpunit 2024-07-26 04:10:10 +02:00
Laurent Destailleur
50190db5c7 Fix option WITHDRAWAL_WITHOUT_BIC 2024-07-25 22:02:20 +02:00
Laurent Destailleur
d863d455b2 Fix phpunit 2024-07-25 17:51:45 +02:00
Laurent Destailleur
5513b573b0 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-07-24 04:06:06 +02:00
Laurent Destailleur
7595609be2 Fix #yogosha23464 possible RCE by an admin user. 2024-07-23 18:27:18 +02:00
Laurent Destailleur
be1e91242b Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-07-22 20:13:07 +02:00
Laurent Destailleur
1cb57b03ae Debug v20 - fix dol_escape_htmltag 2024-07-22 20:12:35 +02:00
Laurent Destailleur
6ed6900c79 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-07-22 16:46:40 +02:00
Laurent Destailleur
561e365ff1 Fix warning 2024-07-22 16:39:26 +02:00
Laurent Destailleur
3633762298 Fix dolPrintHTML when MAIN_RESTRICTHTML_ONLY_VALID_HTML_TIDY is off 2024-07-22 16:36:24 +02:00
Laurent Destailleur
cabe506077 Fix phpunit 2024-07-16 09:51:50 +02:00
Laurent Destailleur
0a7df365fc Sync transifex 2024-07-16 04:59:25 +02:00
Laurent Destailleur
5661a381ee Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/comm/propal/class/propal.class.php
	htdocs/projet/tasks/time.php
2024-07-13 17:47:55 +02:00
Laurent Destailleur
7879e12bd2 Fix phpunit 2024-07-13 02:22:26 +02:00
Laurent Destailleur
a391143007 Removed dol_json_encode/decode in favor of native json_encode/decode 2024-07-12 02:01:09 +02:00
Laurent Destailleur
e3d858692e Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-07-12 01:54:11 +02:00
Laurent Destailleur
d3ebd3fbe7 SEC: Possible RCE when php module json off. +Warning in security page. 2024-07-12 01:43:53 +02:00
Vincent de Grandpré
b0cd32bf68
NEW Implementing Billable tasks on projects using new attribute "billable" (#30092)
* Implementing Billable task function on projects using new attribute in #30014

* added billable to Task->initAsSpecimen()

* default billable to 1 in initAsSpecimen

* set billable to 1 in ProjectTest::testTaskCreate

* Moving attribut usage in usage_bill_time condition of project

* PPDoc

* fusion

* pre-commit + typo

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-07-03 03:29:05 +02:00
Laurent Destailleur
04f64714f1 Debug v20 2024-06-26 21:45:36 +02:00
Lucas Marcouiller
d63687da6d
Fix dol_escape_htmltag to prevent bad strip of char (#29931)
Co-authored-by: Hystepik <lmarcouiller@nltechno.com>
2024-06-08 14:51:32 +02:00
Laurent Destailleur
5bbc4e083e Add a phpunit test 2024-06-04 14:06:35 +02:00
Laurent Destailleur
580a021c7d Fix warnings 2024-06-01 15:30:43 +02:00
Laurent Destailleur
ad48477f6c Fix name of test file 2024-06-01 12:21:54 +02:00
Laurent Destailleur
ba6e7e85db Merge #28264 to get a simpler code 2024-06-01 12:02:23 +02:00
Laurent Destailleur
3cd74f4689 Fix phpunit 2024-05-29 14:43:23 +02:00
Laurent Destailleur
4d49d01eec Fix phpunit 2024-05-15 12:19:57 +02:00
Laurent Destailleur
1b2bad3f42 NEW Add function to manipulate emojis 2024-05-14 18:19:48 +02:00
Laurent Destailleur
7f3ed10922 Add phpunit case 2024-05-14 04:08:54 +02:00
Laurent Destailleur
27bc1cddad Debug v20 2024-05-08 15:43:46 +02:00
Laurent Destailleur
f8d072f04c Fix phpunit 2024-04-23 20:26:24 +02:00
MDW
31584659e0
Refactor objCompare
# Refactor objCompare:

- Move to CommonClassTest;
- Report class name for mismatched property;
- Cope with dolDeprecated property aliases (test may exclude deprecated name,
  also exclude new name).
2024-04-02 11:25:17 +02:00
Laurent Destailleur
fbf0912a98 Fix phpunit warnings 2024-03-28 21:33:09 +01:00
Laurent Destailleur
0544670ac4
Merge pull request #28160 from mdeweerd/core/deprecationclass
NEW: DolDeprecationHandler for deprecations
2024-03-28 12:42:53 +01:00
MDW
c87c3b100c
Qual: LangTest: Use dataprovider, beautify output 2024-03-27 22:12:27 +01:00
Laurent Destailleur
4efa503400 NEW Accept the __NOW__ and __USER_ID__key into filters 2024-03-25 23:53:28 +01:00
MDW
a6d4a99cca
NEW: DolDeprecationHandler for deprecations
# NEW: DolDeprecationHandler for deprecations

This reusable class avoids needed to implement double assignments while enabling
the detection of the use of deprecated variables and methods.

There is no efficiency overhead when the proper variables and methods are
used.
2024-03-24 17:39:02 +01:00
Laurent Destailleur
295587ea20 Fix warning 2024-03-24 14:19:44 +01:00
Laurent Destailleur
220b9d0852 Add a unit test on dol_eval 2024-03-24 07:08:40 +01:00
Laurent Destailleur
3fdf5e2881 Fix phpunit for Expedition 2024-03-24 06:31:59 +01:00
Laurent Destailleur
954b127ee0 Fix phpunit 2024-03-24 06:30:18 +01:00
Laurent Destailleur
072c3070b3 Add phpunit for Expedition 2024-03-24 06:23:56 +01:00
Laurent Destailleur
d9488770ae GETPOST(..., 'alpha') does not accept \ char anymore. Replaced with / 2024-03-24 01:45:31 +01:00
Laurent Destailleur
7cbff76f9d Fix phpunit 2024-03-21 14:48:03 +01:00
Laurent Destailleur
2d0e57ce7c Fix test for pgsql 2024-03-21 14:13:17 +01:00
Laurent Destailleur
aa77573cd9 Sanitize DDL instructions 2024-03-21 12:45:58 +01:00
Laurent Destailleur
171c32be34 Add DDLDropTable and DDLCreateTable into phpunit tests 2024-03-21 12:21:38 +01:00
Laurent Destailleur
ae10eedf2a Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-03-21 11:29:16 +01:00
Laurent Destailleur
57eb393dad Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2024-03-21 11:22:28 +01:00
Andrés Maldonado
976686262d FIX: SQL syntax error in DDLUpdateField 2024-03-21 02:36:40 +01:00
MDW
a094ad38fc
Fix spelling (using beta codespell)
# Fix spelling (using beta codespell

New spelling fixes - ignoring thirdparty which should be either third-party
or third party.
2024-03-20 00:35:01 +01:00
MDW
f2b7179392
Add test case for numero_semaine 2024-03-18 04:03:50 +01:00
MDW
e5cf5475a1
Qual: Improve test message on failure 2024-03-15 14:20:59 +01:00
MDW
d8a785fa2b
FIX get_string_between
# FIX get_string_between

Noticed that the typing of the arguments was incorrect and then found
the implementation suspicious.  The implemented test confirmed that it
was flawed.  Fixed.

Apparently this method is used in get_next_value .
2024-03-13 02:58:59 +01:00
Laurent Destailleur
a6926c29c0
Merge pull request #28778 from fappels/develop_fix_delivery_note
Fix shipping is not a delivery_note (is sub module of shipping)
2024-03-12 14:53:51 +01:00
Francis Appels
75e99a6dee Fix phan tool for shipping 2024-03-12 11:21:42 +01:00
MDW
325cb587f6
Qual: Exclude some tests from windows-ci until fixed
# Qual: Exclude some tests from windows-ci until fixed

Until #28598 and #28264 find some way to the develop branch, this update will
skip the tests that currently fail on windows so that the results of other
tests have an effect on the CI status and github annotations
2024-03-11 20:46:21 +01:00
Laurent Destailleur
1aa1647606
Update SecurityTest.php 2024-03-11 12:53:03 +01:00
Laurent Destailleur
41a57c05c5
Update SecurityTest.php 2024-03-11 12:51:27 +01:00
Laurent Destailleur
29216f3d4e
Update CommonClassTest.class.php 2024-03-11 12:49:15 +01:00
Laurent Destailleur
ff0d147847
Merge branch 'develop' into test/security_dol_eval_ob_cleanup_on_exception 2024-03-11 12:48:31 +01:00
Laurent Destailleur
1f4e7aedde Avoid to denaturate value when not required. 2024-03-11 12:47:53 +01:00
MDW
101d56a2c1
Fix: Ob buffer cleanup on exception
# Fix: Ob buffer cleanup on exception

The OB buffer capture was incorrectly cleaned up on exception.
This fixes that.

Also modified the SecurityTest to enable running it standalone
2024-03-10 15:17:58 +01:00
MDW
746ca01423
Fix: Correctly close active output buffer. (#28723)
# Fix: Correctly close active output buffer.

Use ob_get_clean(), not ob_get_contents() and ob_clean().

Tests were failing with:
FunctionsLibTest::testVerifCond with data set "Test that verifConf("0") returns false" ('0', false)
Test code or tested code did not (only) close its own output buffers

OK, but incomplete, skipped, or risky tests\!

Also refactored a test case to use a data provider which helped identify that it was related
to dol_eval.
2024-03-09 01:27:01 +01:00
Laurent Destailleur
f0693549b3 Fix bad message 2024-03-05 01:12:28 +01:00
Laurent Destailleur
41c8c23dbb Disable not complete test 2024-03-05 01:07:19 +01:00
Laurent Destailleur
31ae1bf97f Fix restore stop on failure. No need to continue, we must fix first.
Make travis error analysis easier too.
2024-03-05 01:05:50 +01:00
Laurent Destailleur
d09c9c0174 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2024-03-05 00:23:38 +01:00
Laurent Destailleur
ce010a54c7 Clean code and prepare a more powerfull phpunit check for sql forging. 2024-03-05 00:22:12 +01:00
MDW
6f8b941c96
Fix: Script tests on Windows where PHP executable is not in path. (#28565)
# Fix: Script tests (on Windows)

- Set `exit(255)` instead of `exit(-1)` in `scripts/bank/export-bank-receipts.php`.
  On *nix, the -1 converts into an exist code of 255 but on windows it
  is -1, making the test fail.
- Add a helper method to execute php scripts using the php binary used
  to run phpunit.

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-03-04 20:13:34 +01:00
Laurent Destailleur
53e47df053 Use new return code rule 2024-03-04 20:05:18 +01:00
Laurent Destailleur
301bec664a Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2024-03-03 19:59:34 +01:00
Laurent Destailleur
1e00cf34d4 Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2024-03-03 19:50:22 +01:00
Laurent Destailleur
17ff0972ab Fix use of invoke into computed fields 2024-03-03 19:35:37 +01:00
Laurent Destailleur
7b897ae27d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2024-03-03 18:41:49 +01:00
MDW
e2fba5d03f
Qual: FactureTest - use assertions rather than dying in the setup. (#28585)
# Qual: FactureTest - use assertions rather than dying in the setup.

The 'die()' instructions have been replaced - not all tests should fail
because the preconditions for a test case are not met.
2024-03-03 17:08:57 +01:00
MDW
faf00c35e3
Fix: Skip UtilsTest on windows where ls is not available (#28601)
# Fix: Skip UtilsTest on windows where ls is not available

The test in question uses 'ls' which is not available on windows.
This change limits the execution to non windows systems.
2024-03-03 17:01:17 +01:00
Laurent Destailleur
40f98d529e Fix phpcs 2024-03-03 16:58:03 +01:00
MDW
9c3a375839
Fix: Use accessible temporarypath for CMailFileTest (#28599)
# Fix: Use accessible temporarypath for CMailFileTest

'/tmp' does not exist on all systems and is subject to open_basedir
restrictions.  Selected another temporary path for the test.
2024-03-03 16:56:12 +01:00
MDW
71bb3a1275
Fix: Use accessible path for CategorieTest (#28600)
* Fix: Use accessible path for CategorieTest

# Fix: Use accessible path for CategorieTest

The test was using '/' (root of the filesystem) which was outside
the open_basedir paths.  Modified the path to the medias directory to allow the test to pass with open_basedir restriction in effect.

* Update CategorieTest.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-03-03 15:59:08 +01:00
Laurent Destailleur
21feee3bc8 FIX Better test on validity of compute field syntax with parenthesis 2024-03-03 13:11:54 +01:00
Laurent Destailleur
e12c235185 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2024-03-02 16:52:44 +01:00
MDW
9fc7749b96
Qual: Show exception type in error detail on phpunit error (#28576)
# Qual: Show exception type in error detail on phpunit error

Knowing the exception type can be helpful - it's not reported in the
summary.
2024-03-02 16:38:53 +01:00
Frédéric FRANCE
fba15178eb
all initAsSpecimen return int (#28577)
* all initAsSpecimen return int

* all initAsSpecimen return int

* all initAsSpecimen return int
2024-03-02 16:38:35 +01:00
Laurent Destailleur
2044a133e9 Fix warning 2024-03-02 13:15:20 +01:00
MDW
2a52a35dc1
Qual: Improve logging on phpunit error by limiting to new log lines (#28575)
# Qual: Improve logging on phpunit error by limiting to new log lines

Log only the new files since the start of the failed test within the limit
of the number of requested lines.

To do this, the log file size is recorded in setUp() to show only the data
beyond this limit on error.
2024-03-02 12:42:20 +01:00
MDW
7e8b45f287
Qual: Improve PhpUnit logging in case of error. (#28562)
# Qual: Improve PhpUnit logging in case of error.

- Log exception message with extra log information.
- Do not output markers for dolibarr.log if no log lines should be shown.
- Use GitHub action style prefixes to group messages
2024-03-01 20:39:52 +01:00
MDW
57f4fc14d8
Fix: phpunit - Add adapter to "not existing directory" assertion (#28534)
# Fix: phpunit - Add adapter to "not existing directory" assertion

This is a helper function added to the common test class which is useful
to maintain cross phpunit version compatibility without triggering a
deprecation error for internal phpunit test functions.

Used in a testcase for dol_dir_move in a pending PR
2024-03-01 12:50:51 +01:00
Laurent Destailleur
b62222c7e4 Fix bad const 2024-02-29 16:51:17 +01:00
MDW
c332251816
Fix: Replace deprecated module names in code strings (#28462)
* Fix: Replace deprecated module names in code strings

# Fix: Replace deprecated module names in code strings

A few cases that slipped through the manual replacements

* Qual: Enable deprecation notices in CodingPhpTest for isModEnabled

# Qual: Enable deprecation notices in CodingPhpTest for isModEnabled

As all detections are now fixed, we can enable the deprecation notice
trigger in the CodingPhpTest.
2024-02-28 23:01:01 +01:00
MDW
1b4a1510ec
Modify module mapping principle (#28511) 2024-02-28 22:47:28 +01:00
MDW
cec3a6c8e8
Qual: Add AbstractRestApiTest class, refactor RestApiUserTest, add RestApiMosTest (#28484)
* New: AbstractRestAPITest class

* Qual: Create RestAPIMosTest
2024-02-28 17:03:53 +01:00
MDW
acd8168cb6
Fix: Fix var_dump checker (#28226)
* Fix: Fix var_dump checker

# Fix: Fix var_dump checker

The core issue was that in PHP whitespace includes newlines by default, the m modifier
is needed to not match multilines.

* Fix: Allow multiple var_dumps on single comment line, refactor

# Fix: Allow multiple var_dumps on single comment line, refactor

Updated the regex to not match a var_dump preceeded with a comment
somewhere on the line.

Refactored var_dump check in dedicated method.

* Qual: Test the test function !

# Qual: Test the test function !

Test that the test function detecting var_dump does detect them.

* Qual: CodingPhpTest - remove comments from file before checking

# Qual: CodingPhpTest - remove comments from file before checking

This helps remove false positives and may have a positive impact on performance.

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-02-25 22:08:07 +01:00
Laurent Destailleur
a3c0c1958e Fix EOL in log 2024-02-24 18:05:42 +01:00
MDW
8842f8ab10
Qual: Refactor CodingPhpTest / CommonClassTest - less verbosity, but better when error (#28388)
* Qual: CommonClassTest - less verbosity, but better when error

# Qual: CommonClassTest - less verbosity, but better when error

- Report the test method and parameters in case of error.
- Less verbosity about setup.
- $_ENV was empty array, replaced with getenv()

* Qual: Refactor CodingPhpTest

# Qual: Refactor CodingPhpTest

- Use dataprovider (better progress report, better errors, better continuation)
- Use dol_dir_list's exclude_filter capability (do not traverse the excluded dirs)
- Reduce debug output from dolibarr.log (not really relevant for these tests).

* Fix: References to loop variables outside loop

# Fix: References to loop variables outside loop

The test referenced some undefined variables outside foreach loops ($val[0])

* Update CommonClassTest.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-02-24 14:12:32 +01:00
MDW
f3a3de8ea2
Qual: Fix/complete/refactor ModuleTest case. (#28373)
* Fix: Correct CommonClassTest's constructor

# Fix: Correct CommonClassTest's constructor

Dataproviders did not work because of the issue with the constructor

* Qual: Refactor module name list, add mapping to class name

# Qual: Refactor module name list, add mapping to class name

Based on ModuleTest and search for modules in the code, complete the
list of modules and map to the class names.

This will allow reuse in the ModuleTest.

* Qual: Refactor ModulesInit test

# Qual: Refactor ModulesInit test

Use the updated common module mapping list, more complete than
the original list.
Also refactor the test to use a data provider.

* Fix: valid module test must now use array_key_exists

# Fix: valid module test must now use array_key_exists

Because of the introduction of null key values, isset on the array no
longer works, using array_key_exists to test if the modulename is valid.

* fixup! Qual: Refactor module name list, add mapping to class name

* Qual: Less verbosity for tests

# Qual: Less verbosity for tests

The verbosity on setup/teardown/... is not really usefull and
makes the log less readable.  Reducing the verbosity while allowing
to set an environment variable PHPUNIT_DEBUG to enable it.
2024-02-23 17:43:18 +01:00
MDW
f1f516f54c
NEW: Global constant for deprecated module mapping (#28348)
* Qual: Add another deprecated module mapping

* NEW: Global constant for deprecated module mapping
2024-02-22 13:23:39 +01:00
MDW
d5d7003f08
Qual: Add test to validate module_names (#28340)
* Qual: Add test to validate module_names

# Qual: Add test to validate module_names

This ensures that all explitly tested module names appear in the reference list.
Displays messages when the module_name is deprecated

* Update CodingPhpTest.php

* Update CodingPhpTest.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-02-22 02:54:37 +01:00
MDW
af01b3d73a
Qual: Re-enable open_basedir restriction in tests (#28315)
* Fix: Workaround for false security issue in tests

# Fix: Workaround for false security issue in tests

This is a quick workaround for the false security issues in tests
by setting the ['SELF'] variable to something that is
considered harmless

* Update windows-ci workflow

# Update windows-ci workflow

- Setup_conf.sh - Added caching feature;
- phpunit.bat - Example updated based on experience with php web server
- Provide dolibarr.log and phpunit output as artefacts.
- Convert PHPUNIT log to Github Annotations
- Setup php web server for API tests
- Enable caching sql initialisation

* Qual: Re-enable open_basedir restriction in tests

# Qual: Re-enable open_basedir restriction in tests

Using open_basedir restriction is closer to the production reality
and seemed to generate some issues on a windows development machine.

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-02-21 13:57:05 +01:00
Laurent Destailleur
4acf87f43d Fix warning 2024-02-21 12:46:20 +01:00
Laurent Destailleur
f66b8987ec Sync transifex 2024-02-21 12:40:11 +01:00
Laurent Destailleur
9294662bb5 QUAL Check lang files does not contains 'notranslate' 2024-02-21 12:21:44 +01:00
Laurent Destailleur
7dd9a448cb Fix lang files and add phpunit test to avoid bad < 2024-02-20 22:53:59 +01:00
Laurent Destailleur
02e9ef8023 Close #28293 2024-02-20 14:58:46 +01:00
MDW
db9ce13849
Test/adminlib/remove deprecation (#28302)
* Fix: Deprecation message for backupGlobalsBlackList

# Fix: Deprecation message for backupGlobalsBlackList

Fix the deprecation messages during the tests:

1) AdminLibTest::testVersionCompare
PHPUnit\Framework\TestCase::$backupGlobalsBlacklist is deprecated and will be removed in PHPUnit 10. Please use PHPUnit\Framework\TestCase::$backupGlobalsExcludesList instead.

* Fix: Remove backupGlobalsBlacklist/backupGlobalsExcludesList

# Fix: Remove backupGlobalsBlacklist/backupGlobalsExcludesList

The  backupGlobalsBlacklist/backupGlobalsExcludesList does not seem required
and it is not documented why it is required, so remove this to simplify
the code (see https://github.com/Dolibarr/dolibarr/pull/28292#discussion_r1495116364 ).
2024-02-20 10:38:27 +01:00
MDW
272e8f79c9
Fix: Improve test configuration (#28294)
# Fix: Improve test configuration

## Do not fail early when running tests (stopOnFailure->false)

Finishing the phpunits tests does not require a lot of extra time
so rather than quiting early, run them all.

Also, when needed this option can be enabled on the CLI, but
it can not be disabled.  So when desired, it can still be added
in a ci-flow or local script.

## Improve reporting

We want to report Notices and Warnings and with enough detail to
help during debug.  These options are explicitly activated.
2024-02-20 01:26:25 +01:00
Laurent Destailleur
626edcac77 Add phpunit test on tasks 2024-02-20 01:17:00 +01:00
MDW
afe17928f2
Qual: Improve test messages to help locate errors + php-cs-fixer on tests (#28272)
* Qual: Apply php-cs-fixer before changes

# Qual: Apply php-cs-fixer before changes

Apply php-cs-fixer before changes to make real changes stand out
in next commit.

* Qual: Improve test messages to help locate errors.

# Qual: Improve test messages to help locate errors.

Included a description of the test in the failing assertions to
help locate the error.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: Update spelling exception

# Qual: Update spelling exception

Formatting the code requires an update in the spelling exception list.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.

* Qual: php-cs-fixer on phpunit test file

# Qual: php-cs-fixer on phpunit test file

Apply php-cs-fixer on phpunit test files so that future manual changes
stand out.
2024-02-19 15:28:21 +01:00
Laurent Destailleur
8abe663d6f Add phpunit to test the rename/move into a corrupted pdf file. 2024-02-17 18:59:57 +01:00
Laurent Destailleur
3d98b7b1ac Fix phpunit 2024-02-17 17:38:10 +01:00
Laurent Destailleur
750e3270ac Enhance apstats 2024-02-17 16:46:06 +01:00
Laurent Destailleur
c0a094974a Clean code 2024-02-17 16:03:24 +01:00
Laurent Destailleur
a3b876e5ca Clean code 2024-02-17 15:50:51 +01:00
Laurent Destailleur
eccff949d6 Mutualize code 2024-02-17 15:34:19 +01:00
Laurent Destailleur
671257e8e3 Clean phpunit tests 2024-02-17 15:19:06 +01:00
Laurent Destailleur
4bfbbff447 Remove teardownafter, setup and teardown method in phpunit test 2024-02-17 04:12:42 +01:00
Laurent Destailleur
f9f549ef26 Work on generic filter 2024-02-17 04:07:34 +01:00
Laurent Destailleur
56b0c29d1f Mutualise code 2024-02-16 23:26:32 +01:00
Laurent Destailleur
a32831bc6f Fix regression 2024-02-16 18:18:30 +01:00
Laurent Destailleur
6e8786241c Fix regression 2024-02-16 18:18:17 +01:00
MDW
399f5d6cbe
Qual Improve messages in tests (#28193)
* Fix: Improve error messages for AdminLibTest

# Fix: Improve error messages for AdminLibTest

These changes clarify the messages when the changed assertions fail.

* Qual: Improve error messages for FileLibTest

# Qual: Improve error messages for FileLibTest

Certain tests now have error messages that help identify a failing test.
2024-02-16 02:28:32 +01:00
Laurent Destailleur
b48455c9d7 Can remove filter entries 2024-02-16 01:50:03 +01:00
Laurent Destailleur
7107b5feb3 Debug custom report filter management 2024-02-16 01:19:53 +01:00
MDW
43967a83a3
SEC: #28168 Correct protocol limitations (PHP7.4/Win) (#28172)
# SEC: #28168 Correct protocol limitations (PHP7.4/Win)

Protocol limitation was not active during test on windows platform.
Moving the application of the limitation just before the curl_exec
instruction made the limitation effective.

Also extended the code to enable allowing ftp and ftps and extended
the code for [CURLOPT_REDIR_PROTOCOLS_STR](https://www.php.net/manual/en/curl.constants.php#constant.curlopt-redir-protocols-str).
2024-02-15 15:20:21 +01:00
Laurent Destailleur
eedb7e4ec3 Fix warning 2024-02-13 14:05:29 +01:00
Laurent Destailleur
77e836c1b9 Fix remove a test that has no sense 2024-02-11 12:25:21 +01:00
Laurent Destailleur
9abdc1229a Fix test to execute workflow actions. Add more info in trigger errors. 2024-02-10 21:25:26 +01:00