- PHP 7.4 support
- Improved Webp images support with Cloudflare (Issue [#95](https://github.com/WordOps/WordOps/issues/95)). Nginx will not serve webp images alternative with Cloudflare IP ranges.
- Stack upgrade for adminer
- Check acme.sh installation and setup acme.sh if needed before issuing certificate
- Add `--ufw` to `wo stack status`
- Add Nginx directive `gzip_static on;` to serve precompressed assets with Cache-Enabler or WP-Rocket. (Issue [#207](https://github.com/WordOps/WordOps/issues/207))
- Previous `--php73` & `--php73=off` flags are replaced by `--php72`, `--php73`, `--php74` to switch site's php version
- phpMyAdmin updated to v4.9.2
- Adminer updated to v4.7.5
- Replace dot and dashes by underscores in database names (Issue [#206](https://github.com/WordOps/WordOps/issues/206))
- Increased database name length to 32 characters from domain name + 8 random characters
- typo error in motd-news script (Issue [#204](https://github.com/WordOps/WordOps/issues/204))
- Install Nginx before ngxblocker
- WordOps install/update script text color
- Issue with MySQL stack on Raspbian 9/10
- Typo error  (PR [#205](https://github.com/WordOps/WordOps/pull/205))
- php version in `wo debug` (PR [#209](https://github.com/WordOps/WordOps/pull/209))
- SSL certificates expiration display with shared wildcard certificates
This commit is contained in:
VirtuBox
2019-12-03 19:48:18 +01:00
committed by GitHub
parent 63d2acf7ba
commit 01ee8c0a13
72 changed files with 3222 additions and 2521 deletions

View File

@@ -2,11 +2,7 @@ from wo.utils import test
from wo.cli.main import WOTestApp
class CliTestCaseStack(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
class CliTestCaseStackInstall(test.WOTestCase):
def test_wo_cli_stack_install_nginx(self):
with WOTestApp(argv=['stack', 'install', '--nginx']) as app:

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseStackStop(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_stack_services_stop_nginx(self):
with WOTestApp(argv=['stack', 'stop', '--nginx']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseStackStart(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_stack_services_start_nginx(self):
with WOTestApp(argv=['stack', 'start', '--nginx']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseStackRestart(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_stack_services_restart_nginx(self):
with WOTestApp(argv=['stack', 'restart', '--nginx']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseStackStatus(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_stack_services_status_nginx(self):
with WOTestApp(argv=['stack', 'status', '--nginx']) as app:
app.run()

View File

@@ -4,47 +4,53 @@ from wo.cli.main import WOTestApp
class CliTestCaseSiteCreate(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_site_create_html(self):
with WOTestApp(argv=['site', 'create', 'example1.com',
with WOTestApp(argv=['site', 'create', 'html.com',
'--html']) as app:
app.config.set('wo', '', True)
app.run()
def test_wo_cli_site_create_php(self):
with WOTestApp(argv=['site', 'create', 'example2.com',
with WOTestApp(argv=['site', 'create', 'php.com',
'--php']) as app:
app.run()
def test_wo_cli_site_create_mysql(self):
with WOTestApp(argv=['site', 'create', 'example3.com',
with WOTestApp(argv=['site', 'create', 'mysql.com',
'--mysql']) as app:
app.run()
def test_wo_cli_site_create_wp(self):
with WOTestApp(argv=['site', 'create', 'example4.com',
with WOTestApp(argv=['site', 'create', 'wp.com',
'--wp']) as app:
app.run()
def test_wo_cli_site_create_wpsubdir(self):
with WOTestApp(argv=['site', 'create', 'example5.com',
with WOTestApp(argv=['site', 'create', 'wpsubdir.com',
'--wpsubdir']) as app:
app.run()
def test_wo_cli_site_create_wpsubdomain(self):
with WOTestApp(argv=['site', 'create', 'example6.com',
with WOTestApp(argv=['site', 'create', 'wpsubdomain.com',
'--wpsubdomain']) as app:
app.run()
def test_wo_cli_site_create_wpfc(self):
with WOTestApp(argv=['site', 'create', 'example8.com',
with WOTestApp(argv=['site', 'create', 'wpfc.com',
'--wpfc']) as app:
app.run()
def test_wo_cli_site_create_wpsc(self):
with WOTestApp(argv=['site', 'create', 'example9.com',
with WOTestApp(argv=['site', 'create', 'wpsc.com',
'--wpsc']) as app:
app.run()
def test_wo_cli_site_create_wpce(self):
with WOTestApp(argv=['site', 'create', 'wpce.com',
'--wpce']) as app:
app.run()
def test_wo_cli_site_create_wprocket(self):
with WOTestApp(argv=['site', 'create', 'wprocket.com',
'--wprocket']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseSiteDisable(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_site_disable(self):
with WOTestApp(argv=['site', 'disable', 'example2.com']) as app:
with WOTestApp(argv=['site', 'disable', 'html.com']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseSiteEnable(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_site_enable(self):
with WOTestApp(argv=['site', 'enable', 'example2.com']) as app:
with WOTestApp(argv=['site', 'enable', 'html.com']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseSiteInfo(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_site_info(self):
with WOTestApp(argv=['site', 'info', 'example1.com']) as app:
with WOTestApp(argv=['site', 'info', 'html.com']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseSiteList(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_site_list_enable(self):
with WOTestApp(argv=['site', 'list', '--enabled']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseSiteShow(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_show_edit(self):
with WOTestApp(argv=['site', 'show', 'example1.com']) as app:
with WOTestApp(argv=['site', 'show', 'html.com']) as app:
app.run()

View File

@@ -4,46 +4,42 @@ from wo.cli.main import WOTestApp
class CliTestCaseSiteUpdate(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_site_update_html(self):
with WOTestApp(argv=['site', 'update', 'example2.com',
with WOTestApp(argv=['site', 'update', 'php.com',
'--html']) as app:
app.run()
def test_wo_cli_site_update_php(self):
with WOTestApp(argv=['site', 'update', 'example1.com',
with WOTestApp(argv=['site', 'update', 'html.com',
'--php']) as app:
app.run()
def test_wo_cli_site_update_mysql(self):
with WOTestApp(argv=['site', 'update', 'example1.com',
with WOTestApp(argv=['site', 'update', 'mysql.com',
'--html']) as app:
app.run()
def test_wo_cli_site_update_wp(self):
with WOTestApp(argv=['site', 'update', 'example5.com',
with WOTestApp(argv=['site', 'update', 'mysql.com',
'--wp']) as app:
app.run()
def test_wo_cli_site_update_wpsubdir(self):
with WOTestApp(argv=['site', 'update', 'example4.com',
with WOTestApp(argv=['site', 'update', 'wp.com',
'--wpsubdir']) as app:
app.run()
def test_wo_cli_site_update_wpsubdomain(self):
with WOTestApp(argv=['site', 'update', 'example7.com',
with WOTestApp(argv=['site', 'update', 'wpsubdir.com',
'--wpsubdomain']) as app:
app.run()
def test_wo_cli_site_update_wpfc(self):
with WOTestApp(argv=['site', 'update', 'example9.com',
with WOTestApp(argv=['site', 'update', 'wpsc.com',
'--wpfc']) as app:
app.run()
def test_wo_cli_site_update_wpsc(self):
with WOTestApp(argv=['site', 'update', 'example6.com',
with WOTestApp(argv=['site', 'update', 'wpfc.com',
'--wpsc']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseClean(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_clean(self):
with WOTestApp(argv=['clean']) as app:
app.run()

View File

@@ -1,66 +0,0 @@
from wo.utils import test
from wo.cli.main import WOTestApp
class CliTestCaseDebug(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_debug_stop(self):
with WOTestApp(argv=['debug', '--stop']) as app:
app.run()
def test_wo_cli_debug_start(self):
with WOTestApp(argv=['debug', '--start']) as app:
app.run()
def test_wo_cli_debug_php(self):
with WOTestApp(argv=['debug', '--php']) as app:
app.run()
def test_wo_cli_debug_nginx(self):
with WOTestApp(argv=['debug', '--nginx']) as app:
app.run()
def test_wo_cli_debug_rewrite(self):
with WOTestApp(argv=['debug', '--rewrite']) as app:
app.run()
def test_wo_cli_debug_fpm(self):
with WOTestApp(argv=['debug', '--fpm']) as app:
app.run()
def test_wo_cli_debug_mysql(self):
with WOTestApp(argv=['debug', '--mysql']) as app:
app.run()
def test_wo_cli_debug_import_slow_log_interval(self):
with WOTestApp(argv=['debug', '--mysql',
'--import-slow-log-interval']) as app:
app.run()
def test_wo_cli_debug_site_name_mysql(self):
with WOTestApp(argv=['debug', 'example3.com', '--mysql']) as app:
app.run()
def test_wo_cli_debug_site_name_wp(self):
with WOTestApp(argv=['debug', 'example4.com', '--wp']) as app:
app.run()
def test_wo_cli_debug_site_name_nginx(self):
with WOTestApp(argv=['debug', 'example4.com', '--nginx']) as app:
app.run()
def test_wo_cli_debug_site_name_start(self):
with WOTestApp(argv=['debug', 'example1.com', '--start']) as app:
app.run()
def test_wo_cli_debug_site_name_stop(self):
with WOTestApp(argv=['debug', 'example1.com', '--stop']) as app:
app.run()
def test_wo_cli_debug_site_name_rewrite(self):
with WOTestApp(argv=['debug', 'example1.com', '--rewrite']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseInfo(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_info_mysql(self):
with WOTestApp(argv=['info', '--mysql']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseSecure(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_secure_auth(self):
with WOTestApp(argv=['secure', '--auth', 'abc', 'superpass']) as app:
app.run()

View File

@@ -4,26 +4,22 @@ from wo.cli.main import WOTestApp
class CliTestCaseSiteDelete(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_site_detele(self):
with WOTestApp(argv=['site', 'delete', 'example1.com',
'--no-prompt']) as app:
with WOTestApp(argv=['site', 'delete', 'html.com',
'--force']) as app:
app.run()
def test_wo_cli_site_detele_all(self):
with WOTestApp(argv=['site', 'delete', 'example2.com',
'--all', '--no-prompt']) as app:
with WOTestApp(argv=['site', 'delete', 'wp.com',
'--all', '--force']) as app:
app.run()
def test_wo_cli_site_detele_db(self):
with WOTestApp(argv=['site', 'delete', 'example3.com',
'--db', '--no-prompt']) as app:
with WOTestApp(argv=['site', 'delete', 'mysql.com',
'--db', '--force']) as app:
app.run()
def test_wo_cli_site_detele_files(self):
with WOTestApp(argv=['site', 'delete', 'example4.com',
'--files', '--no-prompt']) as app:
with WOTestApp(argv=['site', 'delete', 'php.com',
'--files', '--force']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseStackRemove(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_stack_remove_admin(self):
with WOTestApp(argv=['stack', 'remove', '--admin', '--force']) as app:
app.run()

View File

@@ -4,10 +4,6 @@ from wo.cli.main import WOTestApp
class CliTestCaseStackPurge(test.WOTestCase):
def test_wo_cli(self):
with WOTestApp as app:
app.run()
def test_wo_cli_stack_purge_web(self):
with WOTestApp(
argv=['stack', 'purge', '--web', '--force']) as app: