mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-09-19 04:59:01 +00:00
backups: Implement process manifests for Packet
Signed-off-by: James Valleroy <jvalleroy@mailbox.org> Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
This commit is contained in:
parent
db2c828220
commit
52ab0b54c6
@ -88,8 +88,11 @@ class Packet:
|
|||||||
|
|
||||||
def _process_manifests(self):
|
def _process_manifests(self):
|
||||||
"""Look at manifests and fill up the list of directories/files."""
|
"""Look at manifests and fill up the list of directories/files."""
|
||||||
# XXX:
|
for manifest in self.manifests:
|
||||||
pass
|
backup = manifest[2]
|
||||||
|
for x in ['config', 'data', 'secrets']:
|
||||||
|
self.directories += backup[x]['directories']
|
||||||
|
self.files += backup[x]['files']
|
||||||
|
|
||||||
|
|
||||||
def backup_full(backup_handler):
|
def backup_full(backup_handler):
|
||||||
|
|||||||
@ -21,12 +21,46 @@ Tests for backups module.
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from plinth.module_loader import load_modules
|
from plinth.module_loader import load_modules
|
||||||
from ..backups import _list_of_all_apps_for_backup, _get_apps_in_order
|
from ..backups import _list_of_all_apps_for_backup, _get_apps_in_order, \
|
||||||
|
Packet, validate
|
||||||
|
|
||||||
|
|
||||||
|
def _get_test_manifest(name):
|
||||||
|
return validate({
|
||||||
|
'config': {
|
||||||
|
'directories': ['/etc/' + name + '/config.d/'],
|
||||||
|
'files': ['/etc/' + name + '/config'],
|
||||||
|
},
|
||||||
|
'data': {
|
||||||
|
'directories': ['/var/lib/' + name + '/data.d/'],
|
||||||
|
'files': ['/var/lib/' + name + '/data'],
|
||||||
|
},
|
||||||
|
'secrets': {
|
||||||
|
'directories': ['/etc/' + name + '/secrets.d/'],
|
||||||
|
'files': ['/etc/' + name + '/secrets'],
|
||||||
|
},
|
||||||
|
'services': [name]
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
class TestBackups(unittest.TestCase):
|
class TestBackups(unittest.TestCase):
|
||||||
"""Test cases for backups module."""
|
"""Test cases for backups module."""
|
||||||
|
|
||||||
|
def test_packet_process_manifests(self):
|
||||||
|
"""Test that directories/files are collected from manifests."""
|
||||||
|
manifests = [
|
||||||
|
('a', None, _get_test_manifest('a')),
|
||||||
|
('b', None, _get_test_manifest('b')),
|
||||||
|
]
|
||||||
|
packet = Packet('backup', 'apps', '/', manifests)
|
||||||
|
for manifest in manifests:
|
||||||
|
backup = manifest[2]
|
||||||
|
for x in ['config', 'data', 'secrets']:
|
||||||
|
for d in backup[x]['directories']:
|
||||||
|
assert d in packet.directories
|
||||||
|
for f in backup[x]['files']:
|
||||||
|
assert f in packet.files
|
||||||
|
|
||||||
def test__list_of_all_apps_for_backups(self):
|
def test__list_of_all_apps_for_backups(self):
|
||||||
"""Test that apps supporting backup are included in returned list."""
|
"""Test that apps supporting backup are included in returned list."""
|
||||||
load_modules()
|
load_modules()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user