feat: implement verbosity
This commit is contained in:
@@ -15,6 +15,7 @@ from typing import cast, Union, Optional
|
||||
|
||||
import sys
|
||||
from tap import Tap
|
||||
from loguru import logger
|
||||
|
||||
from . import __Summuary__, __Name__
|
||||
from . import datasync
|
||||
@@ -86,8 +87,17 @@ def fct_main(i_args: list[str]) -> None: # pylint: disable=too-many-branches,to
|
||||
|
||||
args: dabdatasync_args = parser.parse_args(i_args)
|
||||
|
||||
logger.remove()
|
||||
if args.verbosity:
|
||||
pass
|
||||
if args.verbosity == 1:
|
||||
logger.add(sys.stdout, level="WARNING")
|
||||
elif args.verbosity == 2:
|
||||
logger.add(sys.stdout, level="INFO")
|
||||
else:
|
||||
logger.add(sys.stdout, level="DEBUG")
|
||||
else:
|
||||
logger.add(sys.stdout, level="ERROR")
|
||||
logger.add(sys.stderr, level="ERROR")
|
||||
|
||||
dabdatasync = datasync.DataSync_Factory.get_DataSync()
|
||||
if len(dabdatasync) == 0:
|
||||
|
||||
@@ -47,6 +47,31 @@ class TestDabDataSync(unittest.TestCase):
|
||||
print(capted_stdout.getvalue())
|
||||
print(capted_stderr.getvalue())
|
||||
|
||||
def test_cli_verbosity(self):
|
||||
dabdatasync.DataSync_Factory.manifest_path = testdir_path / "test_manifest_nextcloud.json"
|
||||
fct_main(["WipeRemoteData"])
|
||||
|
||||
with redirect_stdout(StringIO()) as capted_stdout, redirect_stderr(StringIO()) as capted_stderr:
|
||||
fct_main(["PullData"])
|
||||
self.assertEqual(capted_stdout.getvalue(), "")
|
||||
self.assertEqual(capted_stderr.getvalue(), "")
|
||||
|
||||
fct_main(["WipeLocalData"])
|
||||
|
||||
with redirect_stdout(StringIO()) as capted_stdout, redirect_stderr(StringIO()) as capted_stderr:
|
||||
fct_main(["-v", "PullData"])
|
||||
self.assertTrue("WARNING" in capted_stdout.getvalue())
|
||||
self.assertFalse("INFO" in capted_stdout.getvalue())
|
||||
self.assertEqual(capted_stderr.getvalue(), "")
|
||||
|
||||
fct_main(["WipeLocalData"])
|
||||
|
||||
with redirect_stdout(StringIO()) as capted_stdout, redirect_stderr(StringIO()) as capted_stderr:
|
||||
fct_main(["-vv", "PullData"])
|
||||
self.assertTrue("INFO" in capted_stdout.getvalue())
|
||||
self.assertTrue("WARNING" in capted_stdout.getvalue())
|
||||
self.assertEqual(capted_stderr.getvalue(), "")
|
||||
|
||||
def test_cli_GetServices(self):
|
||||
dabdatasync.DataSync_Factory.manifest_path = testdir_path / "test_manifest_nextcloud.json"
|
||||
with redirect_stdout(StringIO()) as capted_stdout, redirect_stderr(StringIO()) as capted_stderr:
|
||||
|
||||
Reference in New Issue
Block a user