# dabdatasync (c) by chacha # # dabdatasync is licensed under a # Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Unported License. # # You should have received a copy of the license along with this # work. If not, see . import unittest from os import chdir from io import StringIO from contextlib import redirect_stdout, redirect_stderr from pathlib import Path import pprint print(__name__) print(__package__) from src import dabdatasync testdir_path = Path(__file__).parent.resolve() chdir(testdir_path.parent.resolve()) class TestDabDataSync(unittest.TestCase): def setUp(self) -> None: chdir(testdir_path.parent.resolve()) def test_version(self): self.assertNotEqual(dabdatasync.__version__, "?.?.?") def test_load_nextcloud(self): dabdatasync.I_DataSync.manifest_path = testdir_path / "test_manifest_nextcloud.json" datasync = dabdatasync.DataSync_Factory.get_DataSync() self.assertIsInstance(datasync, dabdatasync.I_DataSync) self.assertIsInstance(datasync, dabdatasync.C_DataSync_NextCloud) datasync.read_data() pprint.pprint(datasync.ar_datasync_record) datasync.write_data() def test_load_empty(self): dabdatasync.I_DataSync.manifest_path = testdir_path / "test_manifest_empty.json" datasync = dabdatasync.DataSync_Factory.get_DataSync() self.assertIsNone(datasync) def test_load_nextcloud_disabled(self): dabdatasync.I_DataSync.manifest_path = testdir_path / "test_manifest_nextcloud_disabled.json" datasync = dabdatasync.DataSync_Factory.get_DataSync() self.assertIsNone(datasync) def test_load_invalid(self): dabdatasync.I_DataSync.manifest_path = testdir_path / "test_manifest_invalid.json" with self.assertRaises(dabdatasync.DataSyncException_InvalidManifest): dabdatasync.DataSync_Factory.get_DataSync() def test_load_nextcloud_invalid(self): dabdatasync.I_DataSync.manifest_path = testdir_path / "test_manifest_nextcloud_invalid.json" with self.assertRaises(dabdatasync.DataSyncException_InvalidManifest): dabdatasync.DataSync_Factory.get_DataSync()