mediawiki: Use BaseAppTests for functional tests

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
James Valleroy 2021-10-31 20:42:09 -04:00 committed by Sunil Mohan Adapa
parent 1b1d81e787
commit 723546502e
No known key found for this signature in database
GPG Key ID: 43EA1CFF0AA7C5F2

View File

@ -14,105 +14,84 @@ from plinth.tests.functional import config
pytestmark = [pytest.mark.apps, pytest.mark.mediawiki] pytestmark = [pytest.mark.apps, pytest.mark.mediawiki]
@pytest.fixture(scope='module', autouse=True) class TestMediawikiApp(functional.BaseAppTests):
def fixture_background(session_browser): app_name = 'mediawiki'
"""Login and install the app.""" has_service = False
functional.login(session_browser) has_web = True
functional.install(session_browser, 'mediawiki')
_set_server_url(session_browser)
yield
functional.app_disable(session_browser, 'mediawiki')
@pytest.fixture(scope='class', autouse=True)
def fixture_setup(self, session_browser):
"""Setup the app."""
functional.login(session_browser)
functional.install(session_browser, 'mediawiki')
_set_server_url(session_browser)
def test_enable_disable(session_browser): def test_public_registrations(self, session_browser):
"""Test enabling the app.""" """Test enabling public registrations."""
functional.app_disable(session_browser, 'mediawiki') _enable_public_registrations(session_browser)
_verify_create_account_link(session_browser)
functional.app_enable(session_browser, 'mediawiki') _disable_public_registrations(session_browser)
assert functional.is_available(session_browser, 'mediawiki') _verify_no_create_account_link(session_browser)
functional.app_disable(session_browser, 'mediawiki') def test_private_mode(self, session_browser):
assert not functional.is_available(session_browser, 'mediawiki') """Test enabling private mode."""
_enable_private_mode(session_browser)
_verify_no_create_account_link(session_browser)
_verify_no_anonymous_reads_edits_link(session_browser)
_disable_private_mode(session_browser)
_verify_anonymous_reads_edits_link(session_browser)
def test_public_registrations(session_browser): def test_private_mode_public_registrations(self, session_browser):
"""Test enabling public registrations.""" """Test interactive between private mode and public registrations.
functional.app_enable(session_browser, 'mediawiki')
_enable_public_registrations(session_browser)
_verify_create_account_link(session_browser)
_disable_public_registrations(session_browser) Requires JS."""
_verify_no_create_account_link(session_browser) # Enabling private mode disables public registrations
_enable_public_registrations(session_browser)
_enable_private_mode(session_browser)
_verify_no_create_account_link(session_browser)
# Enabling public registrations disables private mode
_enable_private_mode(session_browser)
_enable_public_registrations(session_browser)
_verify_create_account_link(session_browser)
def test_private_mode(session_browser): def test_upload_files(self, session_browser):
"""Test enabling private mode.""" """Test that logged in user can see upload files option.
functional.app_enable(session_browser, 'mediawiki')
_enable_private_mode(session_browser)
_verify_no_create_account_link(session_browser)
_verify_no_anonymous_reads_edits_link(session_browser)
_disable_private_mode(session_browser) Requires JS."""
_verify_anonymous_reads_edits_link(session_browser) _set_admin_password(session_browser, 'whatever123')
_login_with_credentials(session_browser, 'admin', 'whatever123')
def test_upload_images(self, session_browser):
"""Test uploading an image."""
_upload_image(session_browser, 'admin', 'whatever123', 'noise.png')
assert _image_exists(session_browser, 'Noise.png')
def test_private_mode_public_registrations(session_browser): def test_upload_svg_image(self, session_browser):
"""Test interactive between private mode and public registrations. """Test uploading an SVG image."""
_upload_image(session_browser, 'admin', 'whatever123',
'apps-background.svg')
assert _image_exists(session_browser, 'Apps-background.svg')
Requires JS.""" def test_backup_restore(self, session_browser):
functional.app_enable(session_browser, 'mediawiki') """Test backup and restore of pages and images."""
if not _image_exists(session_browser, 'Noise.png'):
_upload_image(session_browser, 'admin', 'whatever123', 'Noise.png')
# Enabling private mode disables public registrations functional.backup_create(session_browser, 'mediawiki',
_enable_public_registrations(session_browser) 'test_mediawiki')
_enable_private_mode(session_browser)
_verify_no_create_account_link(session_browser)
# Enabling public registrations disables private mode _enable_public_registrations(session_browser)
_enable_private_mode(session_browser) _delete_image(session_browser, 'admin', 'whatever123', 'Noise.png')
_enable_public_registrations(session_browser) _delete_main_page(session_browser, 'admin', 'whatever123')
_verify_create_account_link(session_browser) functional.backup_restore(session_browser, 'mediawiki',
'test_mediawiki')
assert _has_main_page(session_browser)
def test_upload_files(session_browser): assert _image_exists(session_browser, 'Noise.png')
"""Test that logged in user can see upload files option. _verify_create_account_link(session_browser)
Requires JS."""
functional.app_enable(session_browser, 'mediawiki')
_set_admin_password(session_browser, 'whatever123')
_login_with_credentials(session_browser, 'admin', 'whatever123')
def test_upload_images(session_browser):
"""Test uploading an image."""
functional.app_enable(session_browser, 'mediawiki')
_upload_image(session_browser, 'admin', 'whatever123', 'noise.png')
assert _image_exists(session_browser, 'Noise.png')
def test_upload_svg_image(session_browser):
"""Test uploading an SVG image."""
functional.app_enable(session_browser, 'mediawiki')
_upload_image(session_browser, 'admin', 'whatever123',
'apps-background.svg')
assert _image_exists(session_browser, 'Apps-background.svg')
def test_backup_restore(session_browser):
"""Test backup and restore of pages and images."""
functional.app_enable(session_browser, 'mediawiki')
if not _image_exists(session_browser, 'Noise.png'):
_upload_image(session_browser, 'admin', 'whatever123', 'Noise.png')
functional.backup_create(session_browser, 'mediawiki', 'test_mediawiki')
_enable_public_registrations(session_browser)
_delete_image(session_browser, 'admin', 'whatever123', 'Noise.png')
_delete_main_page(session_browser, 'admin', 'whatever123')
functional.backup_restore(session_browser, 'mediawiki', 'test_mediawiki')
assert _has_main_page(session_browser)
assert _image_exists(session_browser, 'Noise.png')
_verify_create_account_link(session_browser)
def _enable_public_registrations(browser): def _enable_public_registrations(browser):