def test_load_kaylee(self): kl = loader.load(TestSettingsWithApps) self.assertIsInstance(kl.registry, MemoryNodesRegistry) app = kl.applications['test.1'] self.assertEqual(app.__class__.__name__, 'TestController1') self.assertEqual(app.project.__class__.__name__, 'AutoTestProject')
def test_register_unregister(self): kl = loader.load(self.settings) node_json_config = kl.register('127.0.0.1') node_config = json.loads(node_json_config) self.assertEqual(len(node_config), 3) self.assertIn('node_id', node_config) self.assertIn('config', node_config) self.assertIn('applications', node_config) nid = NodeID(node_id = node_config['node_id']) self.assertIn(nid, kl.registry) self.assertIn(node_config['node_id'], kl.registry) kl.unregister(nid) self.assertNotIn(nid, kl.registry)
def test_subscribe_unsubscribe(self): kl = loader.load(self.settings) app = kl.applications['test.1'] node_json_config = kl.register('127.0.0.1') node_config = json.loads(node_json_config) node_id = node_config['node_id'] # test node.subscribe app_json_config = kl.subscribe(node_id, 'test.1') app_config = json.loads(app_json_config) self.assertEqual(app_config['test_key'], 'test_value') node = kl.registry[node_id] self.assertEqual(node.controller, app) self.assertTrue(0 <= (datetime.now() - node.subscription_timestamp).seconds < 1) # test node.unsubscribe kl.unsubscribe(node_id) self.assertIsNone(node.controller) self.assertIsNone(node.subscription_timestamp) self.assertIn(node, kl.registry)
def test_load_settings_path(self): path = os.path.abspath(os.path.join(os.path.dirname(__file__), 'test_settings.py')) kl = loader.load(path) self.assertIsInstance(kl, Kaylee)
def test_load_settings_module(self): test_settings = __import__('test_settings') kl = loader.load(test_settings) self.assertIsInstance(kl, Kaylee)
def test_load_settings_dict(self): # dict(Class.__dict__) wrapping: __dict__ is a dictproxy, kl = loader.load(dict(TestSettings.__dict__)) self.assertIsInstance(kl, Kaylee)
def test_load_settings_class(self): kl = loader.load(TestSettings) self.assertIsInstance(kl, Kaylee)