1
0
mirror of https://github.com/e107inc/e107.git synced 2025-01-17 20:58:30 +01:00

135 Commits

Author SHA1 Message Date
Nick Liu
62a547aed2
Fixed E_NOTICE in plugin install/uninstall process
- FIX: e107::coreLan() now loads the lan_admin.php file if the $admin argument is true
- FIX: Variable scope of $eplug_folder in e107plugin::uninstall()
- FIX: isset() check order in pluginsTest::makePluginReport()
- FIX: class2.php: Missing ADMINPERMS constant in CLI mode
2020-01-17 17:11:26 +01:00
Nick Liu
bfad3f7202
Suppressed constant already defined errors in e_db_mysqlTest 2020-01-17 15:57:34 +01:00
Nick Liu
a49b532519
Stop stepping on E107_DBG_* constants in tests
\Helper\Unit::_beforeSuite() now sets E107_DEBUG_LEVEL so that
debug_handler.php sets the debug mode.

Also fixed E_NOTICE if E107_DEBUG_LEVEL is set beforehand
2020-01-17 15:42:57 +01:00
Nick Liu
b9d4961571
Turn off web error handler for CLI (breaks a lot of stuff!)
error_handler now only runs set_error_handler in web mode.

E_ALL notices, warnings, and errors are now reported, which causes
the test harness to fail.
2020-01-17 14:48:55 +01:00
Nick Liu
34047a2db3
Prevent HTML code injection in e107::url()
Fixes: #4054

This is a better fix for #4054. HTML code injection can no longer occur in URLs generated by
e107::url() thanks to htmlspecialchars(). The previous implementation only addressed:

    & => &

Now, quotation marks and alligator brackets are also escaped, so:

    <a href=""></html>"></a>

is now rendered as:

    <a href="&quot;&gt;&lt;/html&gt;"></a>
2020-01-14 23:56:19 +01:00
Cameron
15e76c84d1 Revert last test as e107::redirect() will correct any entity detected. 2020-01-14 13:57:33 -08:00
Cameron
4aa5ac8622 Issue 4054 Added test for e107::url() with 'mode' => 'full' as often utilized by e107::redirect() 2020-01-14 13:45:35 -08:00
Nick Liu
e62422d63a
Old HTML ampersand strict compatibility
- FIX: e107::url() now puts "&amp;" in the query string instead of "&" for compliance with the older,
       looser definition of ambiguous ampersands in the HTML specification.
       Fixes: #4054
- FIX: Typo in comment
- FIX: Clear the core/e107/addons/e_url registry (cache) because if a plugin is installed after that
       cache is initialized, the cache is not updated anymore. The plugin's e_url is therefore not
       loaded, so SEF URLs won't be generated for that plugin until the cache is regenerated.
- NEW: Test for #4054
- FIX: e_pluginTest::testGetFields() expects the initial condition of the "forum" plugin to be
       uninstalled.
2020-01-13 00:54:50 +01:00
Nick Liu
d31f4cd45e
E107Preparer: Clean up hidden files as well
Fixes test run cleanup errors that look like:

    In ErrorHandler.php line 83:

      rmdir(W:\www\e107v2/e107_system/000000test/): Directory not empty

Or:

    In E107Preparer.php line 27:

      E107Preparer couldn't delete W:\www\e107v2/e107_system/000000test
2019-12-30 11:15:43 +01:00
Nick Liu
029f4883e6
Use canonical file system paths in e_fileTest::testUnzipGithubArchive()
Should fix the tests on Windows

Fixes: #4052
2019-12-29 12:29:27 +01:00
Nick Liu
4ca73daad5
Salt state e107-dev now installs LAMP for acceptance tests 2019-12-28 15:39:21 +01:00
Nick Liu
c31b645013
Made acceptance tests work again
Broken due to Codeception moving modules out of codeception/codeception
2019-12-28 10:35:36 +01:00
Nick Liu
e797efce74
Fixed some formatting oddities 2019-12-27 22:18:27 +01:00
Nick Liu
fabb0c2757
e_db_pdo::copyRow() - Greatly decrease collision chance
Increased possible random strings for unique fields in e_db_pdo::copyRow() from 1000 to 59^11 (UserHandler::generateRandomString() "alphanumeric" should have 59 characters to choose from)

If a collision still happens, e_db_pdo::copyRow() retries up to 3 times for a successful copy.

Fixes: #3678
2019-12-27 21:54:11 +01:00
Nick Liu
3b4240bbae
Quality control for e_file::unzipGithubArchive()
- MOD: PHPDoc for e_file::unzipGithubArchive()
- NEW: e_file::unzipGithubArchive(): Added exclusions for files that don't exist in production
- NEW: e_file::unzipGithubArchive(): Accept a destination path argument for a custom extraction location
- NEW: Restored unimplemented skipped list in e_file::unzipGithubArchive()
- FIX: e_file::unzipGithubArchive(): Extraction fails if parent directory of file doesn't exist
- MOD: Type hint for Base::$deployer
- NEW: Basic test for e_file::unzipGithubArchive()
2019-12-27 11:33:21 -06:00
Nick Liu
6c168a2df6
pluginsTest: Ensure plugin is uninstalled before trying to install it 2019-12-25 13:56:58 -08:00
Nick Liu
0466841d2d
e_parseTest initialization order fix for flaky test? 2019-12-25 13:56:28 -08:00
Nick Liu
29999eed6d
Updated to Codeception 4.0 2019-12-23 19:51:18 +01:00
Nick Liu
f2edd94ea4
Fixed e_db_abstractTest::testDb_Select_gen() UPDATE query
A previous test may have changed the value so that the update would not have changed anything.
2019-12-23 18:40:18 +01:00
Nick Liu
9b59527b3d
Moved PDO-exclusive features from e_db_abstractTest to e_db_pdoTest
e_db_pdoTest::testSelectBind()
e_db_pdoTest::testDb_QueryBind()
e_db_pdoTest::testDb_CopyRowUnique()
2019-12-23 18:34:16 +01:00
Nick Liu
9677db1c1c
Removed bad e_LEGACY_MODE implementation
e_LEGACY_MODE caused the query results from e_db_pdo and e_db_mysql to return different styles (MYSQL_BOTH and MYSQL_ASSOC, respectively).

To resolve this inconsistency, e_LEGACY_MODE has been removed from the e107 core.
2019-12-23 16:50:33 +01:00
Nick Liu
71e7f8778c
Merged e_db_mysql and e_db_pdo tests into e_db_abstractTest
- FIX: e_db::copyTable() is now an interface
- FIX: e_db_mysql now implements e_db
- FIX: Implemented missing e_db_mysql::copyTable() public method
- FIX: Implemented missing e_db_mysql::setLanguage() method
- FIX: Implemented missing e_db_mysql::getLanguage() method
- FIX: Implemented missing e_db_mysql::dropTable() method
- MOD: Merged e_db_mysqlTest and e_db_pdoTest into e_db_abstractTest
2019-12-23 16:37:48 +01:00
Nick Liu
2330f8a152
Removed hard-coded SQL database creation 2019-12-23 15:28:52 +01:00
Nick Liu
f38e6c1f6d
Added a salt-ssh state to deploy an LXC dev env 2019-12-23 15:19:26 +01:00
Tijn Kuyper
4a0404d917
Minor fix in userclass description 2019-12-11 17:08:15 +01:00
Tijn Kuyper
b364043125
Added two userclasses, updated e_formTest and e_user_modelTest to reflect the changes
1. TestImage1 - with a FontAwesome icon
2. TestImage2 - with a png icon (TinyMCE plugin icon)

Added user to those userclasses.
2019-12-11 17:00:17 +01:00
Cameron
3b28884b56
Possible fixes. 2019-12-04 13:12:47 -06:00
Deltik
4e7d76235c
Removed GitLab CI 2019-12-03 23:09:28 -06:00
Deltik
e8cc0fb462
Attempt to port from GitLab CI to GitHub Actions 2019-11-28 22:39:54 -06:00
Deltik
6e8c81e652
GitPreparer: Handle failed git commit test lock
Happens when the Git config does not have user.name and user.email
2019-11-28 13:40:03 -06:00
Deltik
ae9f91084b
Disabled flaky and failing tests for repo migration
Related: #4030
Related: #4031
Related: #4032
Related: #4033
2019-11-27 15:49:43 -06:00
Deltik
8ed4cde9f1
Removed broken test: CaptchaCest
Related: #4028
2019-11-27 15:30:32 -06:00
Deltik
007bd04d8f
Prevent directory listing of e107_tests
Also block access to e107_tests by default on Apache HTTP Server
2019-11-27 15:18:01 -06:00
Deltik
083213777f
Documentation update: New paths 2019-11-27 15:00:16 -06:00
Deltik
e49ee50d31
Preparation for merge with e107 repository
Moved all test files to e107_tests subdirectory
2019-11-27 11:18:53 -06:00