@Test
    public void testSinkParam() {
        String sink = "sqs:queue_name";

        WorkflowDef def = new WorkflowDef();
        def.setName("wf0");

        WorkflowModel workflow = new WorkflowModel();
        workflow.setWorkflowDefinition(def);

        TaskModel task1 = new TaskModel();
        task1.setReferenceTaskName("t1");
        task1.addOutput("q", "t1_queue");
        workflow.getTasks().add(task1);

        TaskModel task2 = new TaskModel();
        task2.setReferenceTaskName("t2");
        task2.addOutput("q", "task2_queue");
        workflow.getTasks().add(task2);

        TaskModel task = new TaskModel();
        task.setReferenceTaskName("event");
        task.getInputData().put("sink", sink);
        task.setTaskType(TaskType.EVENT.name());
        workflow.getTasks().add(task);

        Event event = new Event(eventQueues, parametersUtils, objectMapper);
        String queueName = event.computeQueueName(workflow, task);
        ObservableQueue queue = event.getQueue(queueName, task.getTaskId());
        assertNotNull(task.getReasonForIncompletion(), queue);
        assertEquals("queue_name", queue.getName());
        assertEquals("sqs", queue.getType());

        sink = "sqs:${t1.output.q}";
        task.getInputData().put("sink", sink);
        queueName = event.computeQueueName(workflow, task);
        queue = event.getQueue(queueName, task.getTaskId());
        assertNotNull(queue);
        assertEquals("t1_queue", queue.getName());
        assertEquals("sqs", queue.getType());

        sink = "sqs:${t2.output.q}";
        task.getInputData().put("sink", sink);
        queueName = event.computeQueueName(workflow, task);
        queue = event.getQueue(queueName, task.getTaskId());
        assertNotNull(queue);
        assertEquals("task2_queue", queue.getName());
        assertEquals("sqs", queue.getType());

        sink = "conductor";
        task.getInputData().put("sink", sink);
        queueName = event.computeQueueName(workflow, task);
        queue = event.getQueue(queueName, task.getTaskId());
        assertNotNull(queue);
        assertEquals(
                workflow.getWorkflowName() + ":" + task.getReferenceTaskName(), queue.getName());
        assertEquals("conductor", queue.getType());

        sink = "sqs:static_value";
        task.getInputData().put("sink", sink);
        queueName = event.computeQueueName(workflow, task);
        queue = event.getQueue(queueName, task.getTaskId());
        assertNotNull(queue);
        assertEquals("static_value", queue.getName());
        assertEquals("sqs", queue.getType());
    }
Tests the {@link Event#computeQueueName(WorkflowModel, TaskModel)} and {@link
Event#getQueue(String, String)} methods with a real {@link ParametersUtils} object.
core/src/test/java/com/netflix/conductor/core/execution/tasks/EventQueueResolutionTest.java