Skip to content
Snippets Groups Projects
Commit 9fbe8554 authored by Stefano Borini's avatar Stefano Borini
Browse files

Fixed test

parent fbd66291
No related branches found
No related tags found
1 merge request!130Safer plugin import - 2
import unittest
import warnings
from force_bdss.base_extension_plugin import (
BaseExtensionPlugin)
from force_bdss.data_sources.base_data_source_factory import \
BaseDataSourceFactory
from force_bdss.ids import factory_id, mco_parameter_id
from force_bdss.mco.base_mco_factory import BaseMCOFactory
from force_bdss.mco.parameters.base_mco_parameter_factory import \
BaseMCOParameterFactory
from force_bdss.notification_listeners.base_notification_listener_factory \
import \
BaseNotificationListenerFactory
from force_bdss.tests.dummy_classes.extension_plugin import \
DummyExtensionPlugin
try:
import mock
......@@ -35,98 +27,57 @@ class TestFactoryRegistry(unittest.TestCase):
self.assertEqual(self.plugin.data_source_factories, [])
class MCOFactory(BaseMCOFactory):
id = factory_id("enthought", "mco1")
def parameter_factories(self):
return [
mock.Mock(
spec=BaseMCOParameterFactory,
id=mco_parameter_id("enthought", "mco1", "ranged")
)
]
class DataSourceFactory1(BaseDataSourceFactory):
id = factory_id("enthought", "ds1")
class DataSourceFactory2(BaseDataSourceFactory):
id = factory_id("enthought", "ds2")
class NotificationListenerFactory(BaseNotificationListenerFactory):
id = factory_id("enthought", "nl1")
class MySuperPlugin(BaseExtensionPlugin):
def get_producer(self):
return "enthought"
def get_identifier(self):
return "test"
def get_factory_classes(self):
return [
MCOFactory,
DataSourceFactory1,
DataSourceFactory2,
NotificationListenerFactory
]
class TestFactoryRegistryWithContent(unittest.TestCase):
def setUp(self):
with warnings.catch_warnings():
warnings.simplefilter("ignore")
self.plugin = FactoryRegistryPlugin()
self.app = Application([self.plugin, MySuperPlugin()])
self.registry = FactoryRegistryPlugin()
self.plugin = DummyExtensionPlugin()
self.app = Application([self.registry, self.plugin])
self.app.start()
self.app.stop()
def test_initialization(self):
self.assertEqual(len(self.plugin.mco_factories), 1)
self.assertEqual(len(self.plugin.data_source_factories), 2)
self.assertEqual(len(self.registry.mco_factories), 1)
self.assertEqual(len(self.registry.data_source_factories), 1)
def test_lookup(self):
mco_id = factory_id("enthought", "mco1")
parameter_id = mco_parameter_id("enthought", "mco1", "ranged")
self.assertEqual(self.plugin.mco_factory_by_id(mco_id).id, mco_id)
self.plugin.mco_parameter_factory_by_id(mco_id, parameter_id)
mco_id = factory_id(self.plugin.id, "dummy_mco")
parameter_id = mco_parameter_id(mco_id, "dummy_mco_parameter")
self.assertEqual(self.registry.mco_factory_by_id(mco_id).id, mco_id)
self.registry.mco_parameter_factory_by_id(mco_id, parameter_id)
for entry in ["ds1", "ds2"]:
id = factory_id("enthought", entry)
self.assertEqual(self.plugin.data_source_factory_by_id(id).id, id)
id = factory_id(self.plugin.id, "dummy_data_source")
self.assertEqual(self.registry.data_source_factory_by_id(id).id, id)
for entry in ["nl1"]:
id = factory_id("enthought", entry)
self.assertEqual(
self.plugin.notification_listener_factory_by_id(id).id,
id)
id = factory_id(self.plugin.id, "dummy_notification_listener")
self.assertEqual(
self.registry.notification_listener_factory_by_id(id).id,
id)
with self.assertRaises(KeyError):
self.plugin.mco_factory_by_id(
factory_id("enthought", "foo"))
self.registry.mco_factory_by_id(
factory_id(self.plugin.id, "foo"))
with self.assertRaises(KeyError):
self.plugin.mco_parameter_factory_by_id(
self.registry.mco_parameter_factory_by_id(
mco_id,
mco_parameter_id("enthought", "mco1", "foo")
mco_parameter_id(mco_id, "foo")
)
with self.assertRaises(KeyError):
self.plugin.data_source_factory_by_id(
factory_id("enthought", "foo")
self.registry.data_source_factory_by_id(
factory_id(self.plugin.id, "foo")
)
with self.assertRaises(KeyError):
self.plugin.data_source_factory_by_id(
factory_id("enthought", "foo")
self.registry.data_source_factory_by_id(
factory_id(self.plugin.id, "foo")
)
with self.assertRaises(KeyError):
self.plugin.notification_listener_factory_by_id(
factory_id("enthought", "foo")
self.registry.notification_listener_factory_by_id(
factory_id(self.plugin.id, "foo")
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment