@SuppressWarnings("unchecked") @Test public void testStartWorkflow() throws Exception { StartWorkflow startWorkflow = new StartWorkflow(); startWorkflow.setName("testWorkflow"); startWorkflow.getInput().put("testInput", "${testId}"); Map<String, String> taskToDomain = new HashMap<>(); taskToDomain.put("*", "dev"); startWorkflow.setTaskToDomain(taskToDomain); Action action = new Action(); action.setAction(Type.start_workflow); action.setStart_workflow(startWorkflow); Object payload = new ObjectMapper().readValue("{\"testId\":\"test_1\"}", Object.class); WorkflowDef workflowDef = new WorkflowDef(); workflowDef.setName("testWorkflow"); workflowDef.setVersion(1); when(workflowExecutor.startWorkflow(eq("testWorkflow"), eq(null), any(), any(), any(), eq("testEvent"), anyMap())) .thenReturn("workflow_1"); Map<String, Object> output = actionProcessor.execute(action, payload, "testEvent", "testMessage"); assertNotNull(output); assertEquals("workflow_1", output.get("workflowId")); ArgumentCaptor<Map> argumentCaptor = ArgumentCaptor.forClass(Map.class); ArgumentCaptor<Map> captor = ArgumentCaptor.forClass(Map.class); verify(workflowExecutor).startWorkflow(eq("testWorkflow"), eq(null), any(), argumentCaptor.capture(), any(), eq("testEvent"), captor.capture()); assertEquals("test_1", argumentCaptor.getValue().get("testInput")); assertEquals("testMessage", argumentCaptor.getValue().get("conductor.event.messageId")); assertEquals("testEvent", argumentCaptor.getValue().get("conductor.event.name")); assertEquals(taskToDomain, captor.getValue()); }
@Test public void getDynamicForkJoinTasksAndInput() { //Given WorkflowTask dynamicForkJoinToSchedule = new WorkflowTask(); dynamicForkJoinToSchedule.setType(TaskType.FORK_JOIN_DYNAMIC.name()); dynamicForkJoinToSchedule.setTaskReferenceName("dynamicfanouttask"); dynamicForkJoinToSchedule.setDynamicForkJoinTasksParam("dynamicTasks"); dynamicForkJoinToSchedule.getInputParameters().put("dynamicTasks", "dt1.output.dynamicTasks"); dynamicForkJoinToSchedule.getInputParameters().put("dynamicTasksInput", "dt1.output.dynamicTasksInput"); DynamicForkJoinTaskList dtasks = new DynamicForkJoinTaskList(); Map<String, Object> input = new HashMap<>(); input.put("k1", "v1"); dtasks.add("junit_task_2", null, "xdt1", input); HashMap<String, Object> input2 = new HashMap<>(); input2.put("k2", "v2"); dtasks.add("junit_task_3", null, "xdt2", input2); Map<String, Object> dynamicTasksInput = new HashMap<>(); dynamicTasksInput.put("dynamicTasks", dtasks); //when when(parametersUtils.getTaskInput(anyMap(), any(Workflow.class), any(TaskDef.class), anyString())) .thenReturn(dynamicTasksInput); when(objectMapper.convertValue(anyObject(),any(Class.class))).thenReturn(dtasks); Pair<List<WorkflowTask>, Map<String, Map<String, Object>>> dynamicForkJoinTasksAndInput = forkJoinDynamicTaskMapper.getDynamicForkJoinTasksAndInput(dynamicForkJoinToSchedule, new Workflow()); //then assertNotNull(dynamicForkJoinTasksAndInput.getLeft()); assertEquals(2,dynamicForkJoinTasksAndInput.getLeft().size()); assertEquals(2, dynamicForkJoinTasksAndInput.getRight().size()); }
@Test public void getDynamicForkJoinTasksAndInputException() { //Given WorkflowTask dynamicForkJoinToSchedule = new WorkflowTask(); dynamicForkJoinToSchedule.setType(TaskType.FORK_JOIN_DYNAMIC.name()); dynamicForkJoinToSchedule.setTaskReferenceName("dynamicfanouttask"); dynamicForkJoinToSchedule.setDynamicForkJoinTasksParam("dynamicTasks"); dynamicForkJoinToSchedule.getInputParameters().put("dynamicTasks", "dt1.output.dynamicTasks"); dynamicForkJoinToSchedule.getInputParameters().put("dynamicTasksInput", "dt1.output.dynamicTasksInput"); DynamicForkJoinTaskList dtasks = new DynamicForkJoinTaskList(); Map<String, Object> input = new HashMap<>(); input.put("k1", "v1"); dtasks.add("junit_task_2", null, "xdt1", input); HashMap<String, Object> input2 = new HashMap<>(); input2.put("k2", "v2"); dtasks.add("junit_task_3", null, "xdt2", input2); Map<String, Object> dynamicTasksInput = new HashMap<>(); dynamicTasksInput.put("dynamicTasks", dtasks); //when when(parametersUtils.getTaskInput(anyMap(), any(Workflow.class), any(TaskDef.class), anyString())) .thenReturn(dynamicTasksInput); when(objectMapper.convertValue(anyObject(),any(Class.class))).thenReturn(null); //then expectedException.expect(TerminateWorkflowException.class); forkJoinDynamicTaskMapper.getDynamicForkJoinTasksAndInput(dynamicForkJoinToSchedule, new Workflow()); }
.readOffloaded(anyLong(), anyObject(), anyMap()); verify(offloader).readOffloaded(anyLong(), eq(firstLedgerUUID), anyMap()); .readOffloaded(anyLong(), anyObject(), anyMap()); verify(offloader).readOffloaded(anyLong(), eq(secondLedgerUUID), anyMap()); .readOffloaded(anyLong(), anyObject(), anyMap());
@Test public void getMappedTasks() throws Exception { ParametersUtils parametersUtils = Mockito.mock(ParametersUtils.class); EventTaskMapper eventTaskMapper = new EventTaskMapper(parametersUtils); WorkflowTask taskToBeScheduled = new WorkflowTask(); taskToBeScheduled.setSink("SQSSINK"); String taskId = IDGenerator.generate(); Map<String, Object> eventTaskInput = new HashMap<>(); eventTaskInput.put("sink","SQSSINK"); when(parametersUtils.getTaskInput(anyMap(), any(Workflow.class), any(TaskDef.class), anyString())).thenReturn(eventTaskInput); WorkflowDef wd = new WorkflowDef(); Workflow w = new Workflow(); w.setWorkflowDefinition(wd); TaskMapperContext taskMapperContext = TaskMapperContext.newBuilder() .withWorkflowDefinition(wd) .withWorkflowInstance(w) .withTaskDefinition(new TaskDef()) .withTaskToSchedule(taskToBeScheduled) .withRetryCount(0) .withTaskId(taskId) .build(); List<Task> mappedTasks = eventTaskMapper.getMappedTasks(taskMapperContext); assertEquals(1, mappedTasks.size()); Task eventTask = mappedTasks.get(0); assertEquals(taskId, eventTask.getTaskId()); }
taskInput.put("dynamicTaskName", "DynoTask"); when(parametersUtils.getTaskInput(anyMap(), any(Workflow.class), any(TaskDef.class), anyString())).thenReturn(taskInput);
private <T> ParseCloudCodeController mockParseCloudCodeControllerWithResponse(final T result) { ParseCloudCodeController controller = mock(ParseCloudCodeController.class); when(controller.callFunctionInBackground(anyString(), anyMap(), anyString())) .thenReturn(Task.forResult(result)); return controller; } }
@Test public void testRequestWithSerializationException() throws IOException { FullHttpRequest request = createQueryRequest("?points=10&from=1&to=2", createRequestBody(1)); ArgumentCaptor<FullHttpResponse> argument = ArgumentCaptor.forClass(FullHttpResponse.class); String message = "mock exception message"; when(serializer.transformRollupData(anyMap(), anySet())).thenThrow(new SerializationException(message)); handler.handle(context, request); verify(channel).write(argument.capture()); String errorResponseBody = argument.getValue().content().toString(Charset.defaultCharset()); ErrorResponse errorResponse = getErrorResponse(errorResponseBody); assertEquals("Number of errors invalid", 1, errorResponse.getErrors().size()); assertEquals("Invalid error message", message, errorResponse.getErrors().get(0).getMessage()); assertEquals("Invalid tenant", TENANT, errorResponse.getErrors().get(0).getTenantId()); assertEquals("Invalid status", HttpResponseStatus.INTERNAL_SERVER_ERROR, argument.getValue().getStatus()); }
any(byte[].class), any(PTableType.class), anyMap(), anyList(), any(byte[][].class), eq(false), eq(false), eq(false)); reset(connectionQueryServices); verify(connectionQueryServices, notExists ? times(1) : never() ).addColumn(eq(Collections.<Mutation>emptyList()), any(PTable.class), anyMap(), anySetOf(String.class), anyListOf(PColumn.class));
@Test public void testNoMutationIsDoneWhenListContainingUnknownMutationIsReceived() throws Exception { List<Mutation> inputList = singletonList(mock(Mutation.class)); when(putTransformer.getMutationCommand(anyMap())).thenReturn(inputList); verifyNoMoreInteractions(bufferedMutator); hBasePutProcessor.accept(fieldMappable); }
@Test public void testNoMutationIsDoneWhenListContainingNullsIsReceived() throws Exception { List<Mutation> inputList = Arrays.asList(null, null, null); when(putTransformer.getMutationCommand(anyMap())).thenReturn(inputList); verifyNoMoreInteractions(bufferedMutator); hBasePutProcessor.accept(fieldMappable); }
@Test public void testWarningIsLoggedWhenListContainingEmptyPutIsReceived() throws Exception { Mutation emptyPutMutation = mock(Put.class); when(emptyPutMutation.getRow()).thenReturn("emptyPutMutation".getBytes()); when(emptyPutMutation.isEmpty()).thenReturn(true); List<Mutation> inputList = singletonList(emptyPutMutation); when(putTransformer.getMutationCommand(anyMap())).thenReturn(inputList); verifyNoMoreInteractions(bufferedMutator); expectedLogMessage.expectWarn("Could not insert row with no columns for row-key column: emptyPutMutation"); hBasePutProcessor.accept(fieldMappable); }
@Test public void testWarningIsLoggedWhenListContainingEmptyDeleteIsReceived() throws Exception { Mutation emptyDeleteMutation = mock(Delete.class); when(emptyDeleteMutation.getRow()).thenReturn("emptyDeleteMutation".getBytes()); when(emptyDeleteMutation.isEmpty()).thenReturn(true); List<Mutation> inputList = singletonList(emptyDeleteMutation); when(putTransformer.getMutationCommand(anyMap())).thenReturn(inputList); verifyNoMoreInteractions(bufferedMutator); expectedLogMessage.expectWarn("Could not delete row with no columns for row-key column: emptyDeleteMutation"); hBasePutProcessor.accept(fieldMappable); }
@Test public void testMutationIsDoneForAllElementsWhenListContainingValidMutationsIsReceived() throws Exception { Mutation aPutMutation = mock(Put.class); Mutation aDeleteMutation = mock(Delete.class); Mutation anotherPutMutation = mock(Put.class); List<Mutation> inputList = Arrays.asList(aPutMutation, aDeleteMutation, anotherPutMutation); when(putTransformer.getMutationCommand(anyMap())).thenReturn(inputList); hBasePutProcessor.accept(fieldMappable); verify(bufferedMutator).mutate(aPutMutation); verify(bufferedMutator).mutate(aDeleteMutation); verify(bufferedMutator).mutate(anotherPutMutation); }
@Test public void onlyConfigurationUpdate() throws RemoteException, BusinessException { job.setEnvironmentUpdateEvent(event); job.run(); verify(configurationHolder, times(1)).update(updateEnvironment, PLATFORM_ID); verify(agentConfiguration, times(0)).setInitialInstrumentationResults(Matchers.anyMap()); verify(agentConfiguration, times(0)).setClassCacheExistsOnCmr(Matchers.anyBoolean()); verifyZeroInteractions(classCache, environment, classCacheSearchNarrower, agentConfiguration, instrumentationService, eventPublisher); }
@Test public void testThrottle() { TableRateLimiter<String, String> rateLimitHelper = getThrottler(); Timer timer = mock(Timer.class); rateLimitHelper.setTimerMetric(timer); rateLimitHelper.throttle("foo"); verify(rateLimitHelper.rateLimiter, times(1)).acquire(anyMap()); verify(timer, times(1)).update(anyLong()); }