home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import os
- import tempfile
- import unittest
- import computerjanitor
-
- class PluginTests(unittest.TestCase):
-
- def testGetCruftRaisesException(self):
- p = computerjanitor.Plugin()
- self.assertRaises(computerjanitor.UnimplementedMethod, p.get_cruft)
-
-
- def testPostCleanupReturnsNone(self):
- p = computerjanitor.Plugin()
- self.assertEqual(p.post_cleanup(), None)
-
-
- def testDoesNotHaveAppAttributeByDefault(self):
- p = computerjanitor.Plugin()
- self.assertFalse(hasattr(p, 'app'))
-
-
- def testSetApplicationSetsApp(self):
- p = computerjanitor.Plugin()
- p.set_application('foo')
- self.assertEqual(p.app, 'foo')
-
-
- def testSetsRequiredConditionToNoneByDefault(self):
- p = computerjanitor.Plugin()
- self.assertEqual(p.condition, [])
-
-
-
- class PluginManagerTests(unittest.TestCase):
-
- def testFindsNoPluginsInEmptyDirectory(self):
- tempdir = tempfile.mkdtemp()
- pm = computerjanitor.PluginManager(None, [
- tempdir])
- plugins = pm.get_plugins()
- os.rmdir(tempdir)
- self.assertEqual(plugins, [])
-
-
- def testFindsOnePluginFileInTestPluginDirectory(self):
- pm = computerjanitor.PluginManager(None, [
- 'testplugins'])
- self.assertEqual(pm.get_plugin_files(), [
- 'testplugins/hello_plugin.py'])
-
-
- def testFindsOnePluginInTestPluginDirectory(self):
- pm = computerjanitor.PluginManager(None, [
- 'testplugins'])
- self.assertEqual(len(pm.get_plugins()), 1)
-
-
- def testFindPluginsSetsApplicationInPluginsFound(self):
- pm = computerjanitor.PluginManager('foo', [
- 'testplugins'])
- self.assertEqual(pm.get_plugins()[0].app, 'foo')
-
-
- def callback(self, filename, index, count):
- self.callback_called = True
-
-
- def testCallsCallbackWhenFindingPlugins(self):
- pm = computerjanitor.PluginManager(None, [
- 'testplugins'])
- self.callback_called = False
- pm.get_plugins(callback = self.callback)
- self.assert_(self.callback_called)
-
-
-
- class ConditionTests(unittest.TestCase):
-
- def setUp(self):
- self.pm = computerjanitor.PluginManager(None, [
- 'testplugins'])
-
- class White(computerjanitor.Plugin):
- pass
-
-
- class Red(computerjanitor.Plugin):
-
- def __init__(self):
- self.condition = [
- 'red']
-
-
-
- class RedBlack(computerjanitor.Plugin):
-
- def __init__(self):
- self.condition = [
- 'red',
- 'black']
-
-
- self.white = White()
- self.red = Red()
- self.redblack = RedBlack()
- self.pm._plugins = [
- self.white,
- self.red,
- self.redblack]
-
-
- def testReturnsOnlyConditionlessPluginByDefault(self):
- self.assertEqual(self.pm.get_plugins(), [
- self.white])
-
-
- def testReturnsOnlyRedPluginWhenConditionIsRed(self):
- self.assertEqual(self.pm.get_plugins(condition = 'red'), [
- self.red,
- self.redblack])
-
-
- def testReturnsOnlyRedPluginWhenConditionIsRedAndBlack(self):
- self.assertEqual(self.pm.get_plugins(condition = [
- 'red',
- 'black']), [
- self.redblack])
-
-
- def testReturnsEallPluginsWhenRequested(self):
- self.assertEqual(set(self.pm.get_plugins(condition = '*')), set([
- self.white,
- self.red,
- self.redblack]))
-
-
-