Example #1
0
    def extra_prepare_after_activation(self, configuration, args_dict):
        """Called after the configuration.converters are activated"""
        def task_maker(name,
                       description=None,
                       action=None,
                       label="Project",
                       **options):
            if not action:
                action = name
            self.task_overrides[name] = Task(action=action,
                                             description=description,
                                             options=options,
                                             label=label)
            return self.task_overrides[name]

        # Post register our addons
        extra_args = {"harpoon.crosshairs": {"task_maker": task_maker}}
        self.register.post_register(extra_args)

        # Make the task finder
        task_finder = TaskFinder(self)
        self.configuration["task_runner"] = task_finder.task_runner
        task_finder.find_tasks(getattr(self, "task_overrides", {}))
from harpoon.task_finder import TaskFinder
from harpoon.collector import Collector
from harpoon.errors import BadTask

from tests.helpers import HarpoonCase

import mock
import json

describe HarpoonCase, "TaskFinder":
    it "takes in a collector":
        collector = mock.Mock(name="collector")
        configuration = mock.Mock(name="configuration")
        collector.configuration = configuration

        task_finder = TaskFinder(collector)
        self.assertEqual(task_finder.tasks, {})
        self.assertIs(task_finder.collector, collector)

    describe "image_finder":
        it "defaults to the chosen_image":
            chosen_image = mock.Mock(name="chosen_image")
            configuration = {"harpoon": type("Harpoon", (object, ), {"chosen_image": chosen_image})()}
            collector = mock.Mock(name="collector", configuration=configuration)

            task_finder = TaskFinder(collector)
            task_finder.tasks["blah"] = type("Task", (object, ), {})()
            self.assertIs(task_finder.image_finder("blah"), chosen_image)

        it "chooses the image on the task":
            chosen_image = mock.Mock(name="chosen_image")
Example #3
0
 def extra_prepare_after_activation(self, configuration, cli_args):
     """Called after the configuration.converters are activated"""
     task_finder = TaskFinder(self)
     self.configuration["task_runner"] = task_finder.task_runner
     task_finder.find_tasks({})