[core] Add simple module loading

Add a way to load modules located in modules/*
This commit is contained in:
Tobias Witek 2020-01-19 16:06:21 +01:00
parent 8622673114
commit bd12a51bfb
3 changed files with 41 additions and 7 deletions

23
tests/test_module.py Normal file
View file

@ -0,0 +1,23 @@
import unittest
import core.module
class module(unittest.TestCase):
def setUp(self):
self._invalidModuleName = 'invalid-module-name'
self._validModuleName = 'test'
def tearDown(self):
pass
def test_load_invalid_module(self):
module = core.module.load(self._invalidModuleName)
self.assertEqual('core.module', module.__class__.__module__, 'module must be a module object')
self.assertEqual('Error', module.__class__.__name__, 'an invalid module must be a core.module.Error')
def test_load_valid_module(self):
module = core.module.load(self._validModuleName)
self.assertEqual('modules.{}'.format(self._validModuleName), module.__class__.__module__, 'module must be a modules.<name> object')
self.assertEqual('Module', module.__class__.__name__, 'a valid module must have a Module class')
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4