From 962fb0d67836953e59ec170ef653c5775d386294 Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Wed, 10 Oct 2018 10:17:55 -0700 Subject: [PATCH] datetime: Enable backup/restore Reviewed-by: James Valleroy --- .../features/date_and_time.feature | 10 +++++++- plinth/modules/datetime/__init__.py | 2 ++ plinth/modules/datetime/manifest.py | 23 +++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 plinth/modules/datetime/manifest.py diff --git a/functional_tests/features/date_and_time.feature b/functional_tests/features/date_and_time.feature index 1a5e136e0..b35205fa6 100644 --- a/functional_tests/features/date_and_time.feature +++ b/functional_tests/features/date_and_time.feature @@ -15,7 +15,7 @@ # along with this program. If not, see . # -@essential @date-and-time @system +@essential @date-and-time @system @backups Feature: Date and Time Configure time zone and network time service. @@ -35,3 +35,11 @@ Scenario: Disable network time application Scenario: Set timezone When I set the time zone to Africa/Abidjan Then the time zone should be Africa/Abidjan + +Scenario: Backup and restore datetime + When I set the time zone to Africa/Accra + And I create a backup of the datetime app data + And I set the time zone to Africa/Addis_Ababa + And I export the datetime app data backup + And I restore the datetime app data backup + Then the time zone should be Africa/Accra diff --git a/plinth/modules/datetime/__init__.py b/plinth/modules/datetime/__init__.py index 860ba3316..6d1157036 100644 --- a/plinth/modules/datetime/__init__.py +++ b/plinth/modules/datetime/__init__.py @@ -25,6 +25,8 @@ from django.utils.translation import ugettext_lazy as _ from plinth import service as service_module from plinth.menu import main_menu +from .manifest import backup + version = 1 is_essential = True diff --git a/plinth/modules/datetime/manifest.py b/plinth/modules/datetime/manifest.py new file mode 100644 index 000000000..ec6957d5e --- /dev/null +++ b/plinth/modules/datetime/manifest.py @@ -0,0 +1,23 @@ +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +""" +Application manifest for datetime. +""" + +from plinth.modules.backups.api import validate as validate_backup + +backup = validate_backup({'data': {'files': ['/etc/timezone']}})