def test_plugin_submodule_loaded(self):
     # I don't know that this is possible, but might as well test for it.
     from sideboard.internal.imports import ensure_plugin_module_loaded
     mock_sys = mock.Mock()
     mock_sys.modules = {'foo.bar': '<module1>', 'foo.baz': '<module2>'}
     with self.assertRaises(self.SideboardImportError):
         ensure_plugin_module_loaded('foo', sys=mock_sys)
 def test_plugin_module_loaded(self):
     from sideboard.internal.imports import ensure_plugin_module_loaded
     mock_sys = mock.Mock()
     mock_sys.modules = {'foo': '<module>'}
     try:
         ensure_plugin_module_loaded('foo', sys=mock_sys)
     except self.SideboardImportError:
         self.fail('Loaded module should not cause SideboardImportError')
 def test_plugin_module_not_loaded(self):
     from sideboard.internal.imports import ensure_plugin_module_loaded
     mock_sys = mock.Mock()
     mock_sys.modules = {}
     with self.assertRaises(self.SideboardImportError):
         ensure_plugin_module_loaded('foo', sys=mock_sys)