コード例 #1
0
    async def test_single_value_func(self,
                                     single_value_task_config: TaskConfig,
                                     mocked_job_with_adapter: Job):
        task = task_builder.build_task(lambda: 1, single_value_task_config)
        job = await task.job_handler(mocked_job_with_adapter)

        assert job.variables.pop("y") == 1
コード例 #2
0
    async def test_no_additional_variables_are_added_to_result(self, single_value_task_config: TaskConfig, mocked_job_with_adapter: Job):
        mocked_job_with_adapter.variables = {"x": 1}

        task = task_builder.build_task(lambda x: x, single_value_task_config)
        job = await task.job_handler(mocked_job_with_adapter)

        assert len(job.variables.keys()) == 1
        assert set(job.variables.keys()) == {"y"}
コード例 #3
0
    async def test_job_parameter_is_injected_in_task(self, task_config: TaskConfig, mocked_job_with_adapter: Job):
        def function_with_job_parameter(job: Job):
            return {"job": job}

        task = task_builder.build_task(
            function_with_job_parameter, task_config)
        job = await task.job_handler(mocked_job_with_adapter)

        assert job.variables["job"] == mocked_job_with_adapter
コード例 #4
0
def random_job(task: Task = task_builder.build_task(
    lambda x: {"x": x},
    TaskConfig("test", lambda: None, 10000, 32, 32, [], False, "", [], [])),
               zeebe_adapter: ZeebeAdapter = None) -> Job:
    return Job(_type=task.type,
               key=randint(0, RANDOM_RANGE),
               worker=str(uuid4()),
               retries=randint(0, 10),
               process_instance_key=randint(0, RANDOM_RANGE),
               bpmn_process_id=str(uuid4()),
               process_definition_version=randint(0, 100),
               process_definition_key=randint(0, RANDOM_RANGE),
               element_id=str(uuid4()),
               element_instance_key=randint(0, RANDOM_RANGE),
               variables={},
               custom_headers={},
               deadline=randint(0, RANDOM_RANGE),
               zeebe_adapter=zeebe_adapter)
コード例 #5
0
        def task_wrapper(task_function: Callable):
            config = TaskConfig(
                task_type,
                exception_handler,
                timeout_ms,
                max_jobs_to_activate,
                max_running_jobs,
                variables_to_fetch
                or parameter_tools.get_parameters_from_function(task_function),
                single_value,
                variable_name or "",
                before or [],
                after or [],
            )
            config_with_decorators = self._add_decorators_to_config(config)

            task = task_builder.build_task(task_function,
                                           config_with_decorators)
            self._add_task(task)
            return task_function
コード例 #6
0
    def test_returns_task(self, original_task_function: Callable, task_config: TaskConfig):
        task = task_builder.build_task(original_task_function, task_config)

        assert isinstance(task, Task)
コード例 #7
0
def task(original_task_function, task_config):
    return task_builder.build_task(original_task_function, task_config)