Coverage for tests/test_v1.py: 100%

22 statements  

« prev     ^ index     » next       coverage.py v7.1.0, created at 2023-01-30 18:57 -0500

1"""Test file for cli/v1.py.""" 

2from logging import DEBUG 

3from unittest import TestCase 

4 

5from src.probable_fiesta.cli.v1 import create_argument_parser 

6from src.probable_fiesta.logger.logging_config import set_logger 

7 

8LOG = set_logger("test_v1", DEBUG) # Create a logger if needed. Default: INFO 

9 

10 

11class TestCliV1(TestCase): 

12 

13 # setup 

14 def setUp(self): 

15 self.parser = create_argument_parser() 

16 

17 def test_parse_arguments_short_flags(self): 

18 """Test parsed arguments.""" 

19 # you can also test long flags but it's redundant. 

20 parsed = self.parser.parse_args(['--version']) 

21 self.assertEqual(parsed.version, True) 

22 ## Add more tests here 

23 

24 def test_parse_arguments_invalid(self): 

25 test_arguments = '--unknown invalid' 

26 self.parser.parse_args(test_arguments.split()) 

27 expected = f"unrecognized arguments: {test_arguments}" 

28 self.assertEqual(self.parser.error_message, expected) 

29 

30 def test_parse_arguments_empty(self): 

31 test_arguments = None 

32 self.parser.parse_args(test_arguments) 

33 print(self.parser.error_message) 

34 expected = "invalid empty arguments" 

35 self.assertEqual(self.parser.error_message, expected)