def testCommandHook__register(self): """ registration.register: registers a command plugin. """ command = MockPlugin.command registration.register('command', command, MockPlugin) self.assertIsInstance(registration._command_hooks.get(command), MockPlugin)
def testOptionHook__register(self): """ registration.register: registers a plugin using option hooks. """ registration.register('option', 'apps_sup', MockPlugin, {}) item = registration._option_hooks.get('apps_sup') self.assertIsNotNone(item) plugin, props = item self.assertIsInstance(plugin, MockPlugin)
def testEventHook__register(self): """ registration.register: registers a task event plugin. """ registration.register('event', 'task_start', MockPlugin) event_chain = registration._event_hooks.get('task_start') for _, fn_ in event_chain: if isinstance(fn_(), MockPlugin): found = True break else: found = False self.assertTrue(found)
def setUp(self): super(TestTask, self).setUp() self.setup_dir() self.task = Task(base_dir=self.test_dir) base_dir = self.task._paths['base_dir'] self.task._paths['task_dir'] = os.path.join(base_dir, 'tasks', 'test') os.makedirs(self.task._paths['task_dir']) # make task config self.task_cfg = os.path.join(self.task.task_dir, 'task.cfg') open(self.task_cfg, 'w', 0).write(_TASK_FILE_DATA) # register some options from the test task config to a mock plugin. for k in ('test_opt', 'test_block_test_opt'): registration.register('option', k, MockPlugin, {})
def setUp(self): super(TestTaskEdit, self).setUp() self.plugin = plugins.TaskEdit() self.env = MockEnvironment() # patch editor environment variable to /bin/cat with suppressed output if 'EDITOR' in os.environ: self.old_editor = os.environ['EDITOR'] os.environ['EDITOR'] = 'cat >/dev/null ' # setup test dir and task self.setup_dir() self.env.task._base_dir = self.test_dir self.env.task._task_dir = os.path.join(self.test_dir, 'tasks', 'test') os.makedirs(self.env.task._task_dir) # make task config self.task_cfg = os.path.join(self.env.task._task_dir, 'task.cfg') open(self.task_cfg, 'w', 0).write(_TASK_FILE_DATA) # register some options from the test task config to a mock plugin. for k in ('test_opt', 'test_block_test_opt'): registration.register('option', k, MockPlugin, {})