Coverage for tests/test_main_app.py: 100%
30 statements
« prev ^ index » next coverage.py v7.1.0, created at 2023-01-30 18:57 -0500
« prev ^ index » next coverage.py v7.1.0, created at 2023-01-30 18:57 -0500
1"""Unit test file for main_app.py."""
2from src.probable_fiesta.app import main as main_app
3from src.probable_fiesta.app.builder.app import App
4from src.probable_fiesta.command.builder import command
5from src.probable_fiesta.logger.logging_config import set_logger
6from src.probable_fiesta.__about__ import __version__
7from src.probable_fiesta.config.variables import PackageDef, VariablesDef
9from logging import DEBUG
10from unittest import TestCase
12# Create a logger if needed for testing cases
13LOG_TEST = set_logger("test_main_app", DEBUG) # Defaults as INFO
15class TestMainApp(TestCase):
17 def setUp(self):
18 self.app = App()
20 # Health-check function test - get current version
21 def test_function_get_version(self):
22 LOG_TEST.info("Test function get_version()")
23 # This should never fail :)
24 expected = f"{PackageDef.NAME} v.{VariablesDef.VERSION}"
25 self.assertEqual(main_app.get_version(), expected)
27 def test_create_command_function_version(self):
28 c = command.Command("version test", main_app.get_version, None)
29 self.app.command = c
30 stdout = self.app.invoke()
31 #LOG.debug(stdout)
32 expected = f"{PackageDef.NAME} v.{VariablesDef.VERSION}"
33 self.assertEqual(stdout, expected)
35 def test_argument(self):
36 arg = "--version"
37 expected = f"{PackageDef.NAME} v.{VariablesDef.VERSION}"
38 self.assertEqual(main_app.main([arg]), expected)
40 def test_argument_invalid(self):
41 arg = "--invalid"
42 expected = f"unrecognized arguments: {arg}"
43 self.assertEqual(main_app.main([arg]), expected)