diff --git a/plinth/modules/coturn/tests/coturn.feature b/plinth/modules/coturn/tests/coturn.feature deleted file mode 100644 index 06df829c3..000000000 --- a/plinth/modules/coturn/tests/coturn.feature +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-License-Identifier: AGPL-3.0-or-later - -@apps @coturn @backups -Feature: Coturn STUN/TURN Server - Run the Coturn STUN/TURN server. - -Background: - Given I'm a logged in user - And the coturn application is installed - -Scenario: Enable coturn application - Given the coturn application is disabled - When I enable the coturn application - Then the coturn service should be running - -# TODO: Improve this by checking that secret and domain did not change -Scenario: Backup and restore coturn - Given the coturn application is enabled - When I create a backup of the coturn app data with name test_coturn - And I restore the coturn app data backup with name test_coturn - Then the coturn service should be running - -Scenario: Disable coturn application - Given the coturn application is enabled - When I disable the coturn application - Then the coturn service should not be running diff --git a/plinth/modules/coturn/tests/test_functional.py b/plinth/modules/coturn/tests/test_functional.py index ae67c7946..bd3361962 100644 --- a/plinth/modules/coturn/tests/test_functional.py +++ b/plinth/modules/coturn/tests/test_functional.py @@ -3,6 +3,36 @@ Functional, browser based tests for coturn app. """ -from pytest_bdd import scenarios +import pytest +from plinth.tests import functional -scenarios('coturn.feature') +pytestmark = [pytest.mark.apps, pytest.mark.coturn] + + +@pytest.fixture(scope='module', autouse=True) +def fixture_background(session_browser): + """Login and install the app.""" + functional.login(session_browser) + functional.install(session_browser, 'coturn') + yield + functional.app_disable(session_browser, 'coturn') + + +def test_enable_disable(session_browser): + """Test enabling the app.""" + functional.app_disable(session_browser, 'coturn') + + functional.app_enable(session_browser, 'coturn') + assert functional.service_is_running(session_browser, 'coturn') + + functional.app_disable(session_browser, 'coturn') + assert functional.service_is_not_running(session_browser, 'coturn') + + +@pytest.mark.backups +def test_backup(session_browser): + # TODO: Improve this by checking that secret and domain did not change + functional.app_enable(session_browser, 'coturn') + functional.backup_create(session_browser, 'coturn', 'test_coturn') + functional.backup_restore(session_browser, 'coturn', 'test_coturn') + assert functional.service_is_running(session_browser, 'coturn')