mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-09-19 04:59:01 +00:00
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:
parent
1b1d81e787
commit
723546502e
@ -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):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user