@Test public void deactivateTest() { List<Configuration> configs = generateConfiguration(null, null, 1, UpdateStatus.ACTIVE); Assert.assertEquals(1, configs.size()); Configuration first = configs.get(0); Assert.assertEquals(UpdateStatus.ACTIVE, first.getStatus()); Configuration deactivated = configurationDao.deactivate(first.getId().toString(), "Test user"); Configuration found = configurationDao.findById(first.getId().toString()); Assert.assertEquals(UpdateStatus.DEPRECATED, deactivated.getStatus()); Assert.assertEquals(deactivated, found); }
@Override public ChangeConfigurationNotification deactivateConfiguration( String id, String deactivatedUsername) { ChangeConfigurationNotification configurationNotification; validateSqlId(id, "Incorrect configuration id. Can't deactivate configuration with id " + id); Configuration oldConfiguration = configurationDao.findById(id); if (oldConfiguration != null) { UpdateStatus status = oldConfiguration.getStatus(); if (status != null && status == ACTIVE) { ConfigurationDto configurationDto = getDto(configurationDao.deactivate( id, deactivatedUsername)); HistoryDto historyDto = addHistory(configurationDto, ChangeType.REMOVE_CONF); ChangeNotificationDto changeNotificationDto = createNotification( configurationDto, historyDto); configurationNotification = new ChangeConfigurationNotification(); configurationNotification.setConfigurationDto(configurationDto); configurationNotification.setChangeNotificationDto(changeNotificationDto); } else { throw new UpdateStatusConflictException("Incorrect status for activating configuration " + status); } } else { throw new IncorrectParameterException("Can't find configuration with id " + id); } return configurationNotification; }