diff options
author | 2019-10-25 10:12:23 -0700 | |
---|---|---|
committer | 2019-10-25 10:12:23 -0700 | |
commit | e68e9ef9cc6d6670a1c6b6a712fe87be1f33d60b (patch) | |
tree | cccbc64ce0b9056efb7b2c07cbec9826d77400ff /tests/bot/test_constants.py | |
parent | Remove bold tag when no channel is available (diff) | |
parent | Merge pull request #501 from mathsman5133/reddit-makeover (diff) |
Merge branch 'master' into compact_free
Diffstat (limited to 'tests/bot/test_constants.py')
-rw-r--r-- | tests/bot/test_constants.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/bot/test_constants.py b/tests/bot/test_constants.py new file mode 100644 index 000000000..dae7c066c --- /dev/null +++ b/tests/bot/test_constants.py @@ -0,0 +1,26 @@ +import inspect +import unittest + +from bot import constants + + +class ConstantsTests(unittest.TestCase): + """Tests for our constants.""" + + def test_section_configuration_matches_type_specification(self): + """The section annotations should match the actual types of the sections.""" + + sections = ( + cls + for (name, cls) in inspect.getmembers(constants) + if hasattr(cls, 'section') and isinstance(cls, type) + ) + for section in sections: + for name, annotation in section.__annotations__.items(): + with self.subTest(section=section, name=name, annotation=annotation): + value = getattr(section, name) + + if getattr(annotation, '_name', None) in ('Dict', 'List'): + self.skipTest("Cannot validate containers yet.") + + self.assertIsInstance(value, annotation) |