from .module_tester import ModuleTester from frank import Default, Daemon, Command from frank.module.exceptions import InvalidCommand import pytest def test_property_types(): test_mod = ModuleTester(None) assert isinstance(test_mod.default, Default) assert hasattr(test_mod.default, 'help_str') assert isinstance(test_mod.commands, list) assert all(( isinstance(item, Command) for item in test_mod.commands )) assert isinstance(test_mod.commands, list) assert all(( isinstance(item, Daemon) for item in test_mod.daemons )) @pytest.mark.asyncio async def test_invalid_command(): test_mod = ModuleTester(None) with pytest.raises(InvalidCommand): # None is just a placeholder here await test_mod('aninvalidcommand', None, None, None)