### Question:
ProcessService extends AbstractService { public DataloadProcess updateProcess(DataloadProcess process, File processData) { notNull(process, "process"); notNull(process.getUri(), "process.uri"); notNull(processData, "processData"); isTrue(process.getPath() == null, "Process path has to be null, use processData argument. If you want to update process from appstore, use method updateProcessFromAppstore()"); return postProcess(process, processData, URI.create(process.getUri())); } ProcessService(final RestTemplate restTemplate, final AccountService accountService,
                          final DataStoreService dataStoreService, final GoodDataSettings settings); DataloadProcess createProcess(Project project, DataloadProcess process, File processData); DataloadProcess createProcess(Project project, DataloadProcess process); FutureResult<DataloadProcess> createProcessFromAppstore(Project project, DataloadProcess process); DataloadProcess updateProcess(DataloadProcess process, File processData); FutureResult<DataloadProcess> updateProcessFromAppstore(DataloadProcess process); DataloadProcess getProcessByUri(String uri); DataloadProcess getProcessById(Project project, String id); Collection<DataloadProcess> listProcesses(Project project); Collection<DataloadProcess> listUserProcesses(); void removeProcess(DataloadProcess process); void getProcessSource(DataloadProcess process, OutputStream outputStream); void getExecutionLog(ProcessExecutionDetail executionDetail, OutputStream outputStream); FutureResult<ProcessExecutionDetail> executeProcess(ProcessExecution execution); Schedule createSchedule(Project project, Schedule schedule); Schedule updateSchedule(Schedule schedule); Schedule getScheduleByUri(String uri); Schedule getScheduleById(Project project, String id); PageBrowser<Schedule> listSchedules(final Project project); PageBrowser<Schedule> listSchedules(final Project project,
                                                final PageRequest startPage); void removeSchedule(final Schedule schedule); FutureResult<ScheduleExecution> executeSchedule(final Schedule schedule); static final UriTemplate SCHEDULE_TEMPLATE; static final UriTemplate PROCESS_TEMPLATE; static final UriTemplate SCHEDULES_TEMPLATE; static final UriTemplate PROCESSES_TEMPLATE; static final UriTemplate USER_PROCESSES_TEMPLATE; }### Answer:
@Test public void testUpdateProcess() throws Exception { when(restTemplate.exchange(eq(create(PROCESS_URI)), any(HttpMethod.class), any(HttpEntity.class), eq(DataloadProcess.class))).thenReturn(new ResponseEntity<>(process, HttpStatus.OK)); final DataloadProcess result = processService .updateProcess(process, File.createTempFile("test", null)); assertThat(result, is(process)); }