def test_ordering(self): plugin1 = mock.Mock() plugin2 = mock.Mock() pi1 = registry.PluginInfo(self.reg, 'FOO', plugin1) pi2 = registry.PluginInfo(self.reg, 'FOO', plugin1) pi2.user_provided = False self.assertTrue(pi1 < pi2) pi3 = registry.PluginInfo(self.reg, 'FOO_LONG', plugin1) self.assertTrue(pi3 < pi1) pi4 = registry.PluginInfo(self.reg, 'BAR', plugin2) self.assertTrue(pi4 < pi1) self.assertFalse(pi4 > pi1)
def test_ordering(self): plugin1 = mock.Mock() plugin2 = mock.Mock() pi1 = registry.PluginInfo(self.reg, 'FOO', plugin1) pi2 = registry.PluginInfo(self.reg, 'FOO', plugin1) pi2.user_provided = False self.assertLess(pi1, pi2) pi3 = registry.PluginInfo(self.reg, 'FOO_LONG', plugin1) self.assertLess(pi3, pi1) pi4 = registry.PluginInfo(self.reg, 'BAR', plugin2) self.assertLess(pi4, pi1) self.assertNotEqual(pi4, pi1)
def test_create(self): plugin = mock.Mock() pi = registry.PluginInfo(self.reg, 'FOO', plugin) self.assertIsInstance(pi, registry.PluginInfo) self.assertEqual(self.reg, pi.registry) self.assertEqual('FOO', pi.name) self.assertEqual(plugin, pi.plugin) self.assertTrue(pi.user_provided)
def test_eq_ne(self): plugin1 = mock.Mock() plugin2 = mock.Mock() pi1 = registry.PluginInfo(self.reg, 'FOO', plugin1) pi2 = registry.PluginInfo(self.reg, 'FOO', plugin1) pi3 = registry.PluginInfo(self.reg, 'BAR', plugin1) pi4 = registry.PluginInfo(self.reg, 'FOO', plugin2) self.assertIsNotNone(pi1) self.assertEqual(pi1, pi2) self.assertNotEqual(pi1, pi3) self.assertNotEqual(pi1, pi4) self.assertNotEqual(pi2, pi4) self.assertNotEqual(pi3, pi4) self.assertEqual(pi1, pi2) self.assertNotEqual(pi1, pi3) self.assertNotEqual(pi1, pi4) self.assertNotEqual(pi2, pi4) self.assertNotEqual(pi3, pi4) self.assertIsNotNone(pi1)
def test_eq_ne(self): plugin1 = mock.Mock() plugin2 = mock.Mock() pi1 = registry.PluginInfo(self.reg, 'FOO', plugin1) pi2 = registry.PluginInfo(self.reg, 'FOO', plugin1) pi3 = registry.PluginInfo(self.reg, 'BAR', plugin1) pi4 = registry.PluginInfo(self.reg, 'FOO', plugin2) self.assertIsNotNone(pi1) self.assertTrue(pi1 == pi2) self.assertFalse(pi1 == pi3) self.assertFalse(pi1 == pi4) self.assertFalse(pi2 == pi4) self.assertFalse(pi3 == pi4) self.assertFalse(pi1 != pi2) self.assertTrue(pi1 != pi3) self.assertTrue(pi1 != pi4) self.assertTrue(pi2 != pi4) self.assertTrue(pi3 != pi4) nothing = None self.assertFalse(pi1 == nothing)
def test_register_info(self): reg = registry.Registry('SENLIN', None) plugin = mock.Mock() pi = registry.PluginInfo(reg, 'FOO', plugin) reg._register_info('FOO', pi) result = reg._registry.get('FOO') self.assertEqual(pi, result) # register the same name and same PluginInfo, no new entry added reg._register_info('FOO', pi) self.assertEqual(1, len(reg._registry)) # register the same name with different PluginInfo -> replacement new_pi = registry.PluginInfo(reg, 'FOO', plugin) reg._register_info('FOO', new_pi) self.assertEqual(1, len(reg._registry)) # additional check: this is a global registry self.assertFalse(new_pi.user_provided) # removal reg._register_info('FOO', None) self.assertEqual(0, len(reg._registry))
def test_str(self): plugin = mock.Mock() pi = registry.PluginInfo(self.reg, 'FOO', plugin) expected = '[Plugin](User:True) FOO -> %s' % str(plugin) self.assertEqual(expected, str(pi))