diff --git a/functional_tests/features/mumble.feature b/functional_tests/features/mumble.feature index a519973d9..8bc389a5a 100644 --- a/functional_tests/features/mumble.feature +++ b/functional_tests/features/mumble.feature @@ -15,7 +15,7 @@ # along with this program. If not, see . # -@apps @mumble +@apps @mumble @backups Feature: Mumble Voice Chat Run Mumble voice chat server. @@ -32,3 +32,12 @@ Scenario: Disable mumble application Given the mumble application is enabled When I disable the mumble application Then the mumble service should not be running + +# TODO: Improve this to actually check that data such as rooms, identity or +# certificates are restored. +Scenario: Backup and restore mumble + Given the mumble application is enabled + When I create a backup of the mumble app data + And I export the mumble app data backup + And I restore the mumble app data backup + Then the mumble service should be running diff --git a/plinth/modules/mumble/__init__.py b/plinth/modules/mumble/__init__.py index 2e6a23bf1..32a390578 100644 --- a/plinth/modules/mumble/__init__.py +++ b/plinth/modules/mumble/__init__.py @@ -26,7 +26,7 @@ from plinth import action_utils, actions, frontpage from plinth.menu import main_menu from plinth.views import ServiceView -from .manifest import clients +from .manifest import backup, clients version = 1 diff --git a/plinth/modules/mumble/manifest.py b/plinth/modules/mumble/manifest.py index 041e92307..0ff16ea8f 100644 --- a/plinth/modules/mumble/manifest.py +++ b/plinth/modules/mumble/manifest.py @@ -18,6 +18,7 @@ from django.utils.translation import ugettext_lazy as _ from plinth.clients import store_url, validate +from plinth.modules.backups.api import validate as validate_backup _plumble_package_id = 'com.morlunk.mumbleclient' @@ -70,3 +71,9 @@ clients = validate([{ 'url': 'https://itunes.apple.com/dk/app/mumblefy/id858752232' }] }]) + +backup = validate_backup({ + 'data': { + 'directories': ['/var/lib/mumble-server'] + } +})