DetectorServiceImpl implements DetectorService { @Override public void updateDetector(String uuid, Detector detector) { notNull(detector, "detector can't be null"); MDC.put("DetectorUuid", uuid); Detector detectorToBeUpdated = repository.findByUuid(uuid); DetectorConfig detectorConfigToUpdate = DetectorDataUtil.buildMergedDetectorConfig( detectorToBeUpdated.getDetectorConfig(), Optional.ofNullable(detector.getDetectorConfig())); detectorToBeUpdated.setDetectorConfig(detectorConfigToUpdate); detectorToBeUpdated.setMeta(DetectorDataUtil.buildLastUpdatedDetectorMeta(detector)); RequestValidator.validateDetector(detectorToBeUpdated); repository.save(detectorToBeUpdated); }  @Override UUID createDetector(Detector detector); @Override Detector findByUuid(String uuid); @Override List<Detector> findByCreatedBy(String user); @Override void toggleDetector(String uuid, Boolean enabled); @Override void trustDetector(String uuid, Boolean trusted); @Override List<Detector> getLastUpdatedDetectors(long interval); @Override List<Detector> getLastUsedDetectors(int noOfDays); @Override List<Detector> getDetectorsToBeTrained(long timestampMs); @Override void updateDetector(String uuid, Detector detector); @Override void updateDetectorLastUsed(String uuid); @Override void updateDetectorTrainingTime(String uuid, long nextRun); @Override void deleteDetector(String uuid);  }
@Test public void testUpdateDetector() { serviceUnderTest.updateDetector(someUuid.toString(), legalParamsDetector); verify(repository, times(1)).findByUuid(someUuid.toString()); verify(repository, times(1)).save(legalParamsDetector); }