1
0
mirror of https://github.com/e107inc/e107.git synced 2025-10-16 07:16:07 +02:00
Commit Graph

9 Commits

Author SHA1 Message Date
Nick Liu
ee7808b7bf Major improvements to Deployer system (backwards-incompatible)
Deployers, a concept unique to this repository, are now more separated
from Codeception modules.

This commit adds NoopDeployer, LocalDeployer, and SFTPDeployer to
address the three deployment target types in use by testers today.

The changes are backwards-incompatible because the structure of
config.sample.yml has changed, and all testers need to change their
config.yml or config.local.yml to continue testing. The reason for this
change is that the section "manual" no longer makes sense now that
Deployers are on a spectrum of automation levels.

The subsections under "manual" have been broken out into the root level.

The "db_dump" section has been merged into the new "db" root section.

There is a new "fs" root section used by the SFTP Deployer.

Other changes, enhancements, and bugfixes:

* cPanelDeployer no longer downgrades to "manual" mode when credentials
  are missing or an unsupported component is requested. It now throws an
  exception.
* Deployer::unlinkAppFile() was implemented for acceptance tests out of
  necessity because the app requires a configuration file to be deleted
  before re-running the app's installer.
* If a Deployer subclass does not implement the unlinkAppFile() method,
  tests that depend on the method will be skipped gracefully.
* DeployerFactory now has a better autoload mechanism.
* A logical error in lib/config.php prevented missing nested array items
  from using their default values.
* The Base Helper no longer pointlessly caches the DelayedDb module
* _bootstrap.php serializes the config.yml params into a global constant
  so that the DeployerFactory can freely access the information.
2018-08-15 23:04:59 -05:00
Nick Liu
b5b59392eb Started a basic interface to manipulate files in acceptance tests
- MOD: Renamed lib/deployers/cpanel_deployer.php to
       lib/deployers/cPanelDeployer.php
- MOD: Moved responsibility of reconfiguring Codeception modules to the
       deployers.
- NEW: Abstract class Deployer to standardize the interface to Deployers
- NEW: Acceptance tests now support unlinkE107ConfigFromTestEnvironment
- MOD: Removed null checks for the Deployer in the Base Module
- MOD: Improved public method naming in the Base Module
- MOD: DeployerFactory always returns a Deployer implementation now.
- MOD: InstallCest always clears out the e107_config.php file before
       each test.
2018-08-14 16:03:30 -05:00
Deltik
63386970d6 Test environment consistency fixes
git-clean in E107Base now runs first in _beforeSuite() so that tainted
files are not uploaded in Acceptance tests

E107Base::revokeLocalE107Config() now checks for file existence before
unlinking. XXX: Could remove this method if cleanVCS() proves reliable

Acceptance won't try to write an e107_config.php because the tests
themselves populate the configuration file
2018-02-20 14:36:24 -06:00
Deltik
b18ef3f830 Ready for testing!
e107 is now ready for fully automated testing on all three test suites:

* Acceptance
* Functional
* Unit

New features:

* cPanelDeployer adds a cPanel Remote MySQL access host
* e107 database dump importer
* Unit tests now load e107

Fixes:

* Test prefixes now only use characters valid for MySQL/MariaDB without
  escaping
* Refactored a bunch of things
* All existing tests pass now

Changes:

* Deployers now provided by \Helper\DeployerFactory
* Added Twig templating for generating e107_config.php for testing
* cPanelDeployer now outputs to codecept_debug()
2018-02-12 13:17:17 -06:00
Deltik
495145df61 Added automatic database support to all suites
Refactored by extracting code common to all suites to \Helper\Base

New \Helper\DelayedDb helper to delay initialization so that a new DSN,
username, and password can be loaded in dynamically for automatic
database provisioning.  Should still be compatible with manual database
information in codeception.yml
2018-02-09 06:45:23 -06:00
Deltik
a42025c5c6 First working acceptance test
Acceptance test checks the output of e107's /install.php on first load

Also added documentation on acceptance tests to README.md
2018-02-08 05:04:42 -06:00
Deltik
ba9a27787e Partial teardown functionality for cPanel deployer
Also renamed class Prepare_cPanel to cPanelDeployer
2018-02-07 05:28:52 -06:00
Deltik
ee84c3de76 Partial support for cPanel acceptance tests
via lib/prepare_cpanel.php
2018-02-07 05:04:28 -06:00
Deltik
ec1de555df Bootstrapped Codeception 2018-02-06 04:08:52 -06:00