@SuppressWarnings("unchecked") @Test public void addUpdatePropertiesTest() throws Exception { ConfigPropertyRequest request = new ConfigPropertyRequest(); List<ConfigPropertyItem> configPropertyItemList = new ArrayList<ConfigPropertyItem>(); List<ConfigProperty> cfList = new ArrayList<>(); ConfigPropertyItem configPropertyItem = new ConfigPropertyItem(); configPropertyItem.setApplication("application"); configPropertyItem.setConfigKey("key"); configPropertyItem.setConfigKey("value"); configPropertyItemList.add(configPropertyItem); request.setConfigProperties(configPropertyItemList); when(configPropertyRepository.existsByConfigKeyParams(any(ConfigPropertyKey.class))).thenReturn(false); ConfigProperty cf1 = new ConfigProperty(); ConfigPropertyKey cfkey1 = new ConfigPropertyKey(); cfkey1.setApplication("application"); cfkey1.setCfkey("applevelkey1"); cfkey1.setProfile("dev"); cf1.setConfigKeyParams(cfkey1); cf1.setValue("applevelvalue"); cfList.add(cf1); when(configPropertyRepository.saveAll(anyCollection())).thenReturn(cfList); when(configPropertyAuditRepository.saveAll(anyCollection())).thenReturn(new ArrayList<>()); assertTrue(configPropertyService.addUpdateProperties(request, "user", "", "10/10/2018 10:10:10", false) .size() == 1); when(configPropertyRepository.existsByConfigKeyParams(any(ConfigPropertyKey.class))).thenReturn(true); when(configPropertyRepository.findByConfigKeyParams(any(ConfigPropertyKey.class))).thenReturn(cf1); when(configPropertyRepository.saveAll(anyCollection())).thenReturn(cfList); when(configPropertyAuditRepository.saveAll(anyCollection())).thenReturn(new ArrayList<>()); assertTrue(configPropertyService.addUpdateProperties(request, "user", "", "10/10/2018 10:10:10", false) .size() == 1); }
@Override @Transactional public List<ConfigProperty> addUpdateProperties(ConfigPropertyRequest configPropertyRequest, String user, String userMessage, String timeNow, boolean partOfRollbackOperation) { List<ConfigProperty> configPropertyList = new ArrayList<>(); List<ConfigPropertyAudit> configPropertyAuditList = new ArrayList<>(); configPropertyRequest.getConfigProperties().forEach(configPropertyItem -> { ConfigPropertyKey configPropertyKey = new ConfigPropertyKey(); configPropertyKey.setApplication(configPropertyItem.getApplication()); configPropertyKey.setProfile(activeProfile); configPropertyKey.setLabel(AdminConstants.LATEST); configPropertyKey.setCfkey(configPropertyItem.getConfigKey()); if (configPropertyRepository.existsByConfigKeyParams(configPropertyKey)) { ConfigProperty existingConfigProperty = configPropertyRepository .findByConfigKeyParams(configPropertyKey); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(existingConfigProperty.getConfigKeyParams().getCfkey()); configPropertyAudit.setApplication(existingConfigProperty.getConfigKeyParams().getApplication()); configPropertyAudit.setProfile(existingConfigProperty.getConfigKeyParams().getProfile()); configPropertyAudit.setLabel(existingConfigProperty.getConfigKeyParams().getLabel()); configPropertyAudit.setOldvalue(existingConfigProperty.getValue()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("PUT operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); existingConfigProperty.setValue(configPropertyItem.getConfigValue()); existingConfigProperty.setModifiedBy(user); existingConfigProperty.setModifiedDate(timeNow); configPropertyList.add(existingConfigProperty); } else { ConfigProperty configProperty = new ConfigProperty(); configProperty.setConfigKeyParams(configPropertyKey); configProperty.setValue(configPropertyItem.getConfigValue()); configProperty.setCreatedBy(user); configProperty.setCreatedDate(timeNow); configPropertyList.add(configProperty); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(configPropertyKey.getCfkey()); configPropertyAudit.setApplication(configPropertyKey.getApplication()); configPropertyAudit.setProfile(configPropertyKey.getProfile()); configPropertyAudit.setLabel(configPropertyKey.getLabel()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("POST operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); } }); List<ConfigProperty> configPropertyResult = configPropertyRepository.saveAll(configPropertyList); configPropertyAuditRepository.saveAll(configPropertyAuditList); return configPropertyResult; }
ConfigPropertyServiceImpl implements ConfigPropertyService { @Override @Transactional public List<ConfigProperty> addUpdateProperties(ConfigPropertyRequest configPropertyRequest, String user, String userMessage, String timeNow, boolean partOfRollbackOperation) { List<ConfigProperty> configPropertyList = new ArrayList<>(); List<ConfigPropertyAudit> configPropertyAuditList = new ArrayList<>(); configPropertyRequest.getConfigProperties().forEach(configPropertyItem -> { ConfigPropertyKey configPropertyKey = new ConfigPropertyKey(); configPropertyKey.setApplication(configPropertyItem.getApplication()); configPropertyKey.setProfile(activeProfile); configPropertyKey.setLabel(AdminConstants.LATEST); configPropertyKey.setCfkey(configPropertyItem.getConfigKey()); if (configPropertyRepository.existsByConfigKeyParams(configPropertyKey)) { ConfigProperty existingConfigProperty = configPropertyRepository .findByConfigKeyParams(configPropertyKey); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(existingConfigProperty.getConfigKeyParams().getCfkey()); configPropertyAudit.setApplication(existingConfigProperty.getConfigKeyParams().getApplication()); configPropertyAudit.setProfile(existingConfigProperty.getConfigKeyParams().getProfile()); configPropertyAudit.setLabel(existingConfigProperty.getConfigKeyParams().getLabel()); configPropertyAudit.setOldvalue(existingConfigProperty.getValue()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("PUT operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); existingConfigProperty.setValue(configPropertyItem.getConfigValue()); existingConfigProperty.setModifiedBy(user); existingConfigProperty.setModifiedDate(timeNow); configPropertyList.add(existingConfigProperty); } else { ConfigProperty configProperty = new ConfigProperty(); configProperty.setConfigKeyParams(configPropertyKey); configProperty.setValue(configPropertyItem.getConfigValue()); configProperty.setCreatedBy(user); configProperty.setCreatedDate(timeNow); configPropertyList.add(configProperty); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(configPropertyKey.getCfkey()); configPropertyAudit.setApplication(configPropertyKey.getApplication()); configPropertyAudit.setProfile(configPropertyKey.getProfile()); configPropertyAudit.setLabel(configPropertyKey.getLabel()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("POST operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); } }); List<ConfigProperty> configPropertyResult = configPropertyRepository.saveAll(configPropertyList); configPropertyAuditRepository.saveAll(configPropertyAuditList); return configPropertyResult; } }
ConfigPropertyServiceImpl implements ConfigPropertyService { @Override @Transactional public List<ConfigProperty> addUpdateProperties(ConfigPropertyRequest configPropertyRequest, String user, String userMessage, String timeNow, boolean partOfRollbackOperation) { List<ConfigProperty> configPropertyList = new ArrayList<>(); List<ConfigPropertyAudit> configPropertyAuditList = new ArrayList<>(); configPropertyRequest.getConfigProperties().forEach(configPropertyItem -> { ConfigPropertyKey configPropertyKey = new ConfigPropertyKey(); configPropertyKey.setApplication(configPropertyItem.getApplication()); configPropertyKey.setProfile(activeProfile); configPropertyKey.setLabel(AdminConstants.LATEST); configPropertyKey.setCfkey(configPropertyItem.getConfigKey()); if (configPropertyRepository.existsByConfigKeyParams(configPropertyKey)) { ConfigProperty existingConfigProperty = configPropertyRepository .findByConfigKeyParams(configPropertyKey); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(existingConfigProperty.getConfigKeyParams().getCfkey()); configPropertyAudit.setApplication(existingConfigProperty.getConfigKeyParams().getApplication()); configPropertyAudit.setProfile(existingConfigProperty.getConfigKeyParams().getProfile()); configPropertyAudit.setLabel(existingConfigProperty.getConfigKeyParams().getLabel()); configPropertyAudit.setOldvalue(existingConfigProperty.getValue()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("PUT operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); existingConfigProperty.setValue(configPropertyItem.getConfigValue()); existingConfigProperty.setModifiedBy(user); existingConfigProperty.setModifiedDate(timeNow); configPropertyList.add(existingConfigProperty); } else { ConfigProperty configProperty = new ConfigProperty(); configProperty.setConfigKeyParams(configPropertyKey); configProperty.setValue(configPropertyItem.getConfigValue()); configProperty.setCreatedBy(user); configProperty.setCreatedDate(timeNow); configPropertyList.add(configProperty); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(configPropertyKey.getCfkey()); configPropertyAudit.setApplication(configPropertyKey.getApplication()); configPropertyAudit.setProfile(configPropertyKey.getProfile()); configPropertyAudit.setLabel(configPropertyKey.getLabel()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("POST operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); } }); List<ConfigProperty> configPropertyResult = configPropertyRepository.saveAll(configPropertyList); configPropertyAuditRepository.saveAll(configPropertyAuditList); return configPropertyResult; }  }
ConfigPropertyServiceImpl implements ConfigPropertyService { @Override @Transactional public List<ConfigProperty> addUpdateProperties(ConfigPropertyRequest configPropertyRequest, String user, String userMessage, String timeNow, boolean partOfRollbackOperation) { List<ConfigProperty> configPropertyList = new ArrayList<>(); List<ConfigPropertyAudit> configPropertyAuditList = new ArrayList<>(); configPropertyRequest.getConfigProperties().forEach(configPropertyItem -> { ConfigPropertyKey configPropertyKey = new ConfigPropertyKey(); configPropertyKey.setApplication(configPropertyItem.getApplication()); configPropertyKey.setProfile(activeProfile); configPropertyKey.setLabel(AdminConstants.LATEST); configPropertyKey.setCfkey(configPropertyItem.getConfigKey()); if (configPropertyRepository.existsByConfigKeyParams(configPropertyKey)) { ConfigProperty existingConfigProperty = configPropertyRepository .findByConfigKeyParams(configPropertyKey); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(existingConfigProperty.getConfigKeyParams().getCfkey()); configPropertyAudit.setApplication(existingConfigProperty.getConfigKeyParams().getApplication()); configPropertyAudit.setProfile(existingConfigProperty.getConfigKeyParams().getProfile()); configPropertyAudit.setLabel(existingConfigProperty.getConfigKeyParams().getLabel()); configPropertyAudit.setOldvalue(existingConfigProperty.getValue()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("PUT operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); existingConfigProperty.setValue(configPropertyItem.getConfigValue()); existingConfigProperty.setModifiedBy(user); existingConfigProperty.setModifiedDate(timeNow); configPropertyList.add(existingConfigProperty); } else { ConfigProperty configProperty = new ConfigProperty(); configProperty.setConfigKeyParams(configPropertyKey); configProperty.setValue(configPropertyItem.getConfigValue()); configProperty.setCreatedBy(user); configProperty.setCreatedDate(timeNow); configPropertyList.add(configProperty); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(configPropertyKey.getCfkey()); configPropertyAudit.setApplication(configPropertyKey.getApplication()); configPropertyAudit.setProfile(configPropertyKey.getProfile()); configPropertyAudit.setLabel(configPropertyKey.getLabel()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("POST operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); } }); List<ConfigProperty> configPropertyResult = configPropertyRepository.saveAll(configPropertyList); configPropertyAuditRepository.saveAll(configPropertyAuditList); return configPropertyResult; }  @Override ConfigTreeNode listProperties(); @Override @Transactional List<ConfigProperty> addUpdateProperties(ConfigPropertyRequest configPropertyRequest, String user,
			String userMessage, String timeNow, boolean partOfRollbackOperation); @Override @Transactional String deleteProperty(ConfigPropertyItem configPropertyItem, String user, String userMessage, String timeNow,
			boolean partOfRollbackOperation); @Override boolean isAllPropertiesExisting(ConfigPropertyRequest configPropertyRequest); @Override boolean isAnyPropertyExisting(ConfigPropertyRequest configPropertyRequest); @Override boolean isPropertyExisting(ConfigPropertyItem configPropertyItem); @Override boolean isCfkeyExisting(String cfkey); @Override boolean isAllCfkeysExisting(ConfigPropertyRequest configPropertyRequest); @Override boolean isApplicationExisting(String application); @Override boolean isAllApplicationsExisting(ConfigPropertyRequest configPropertyRequest); @Override List<String> listAllKeys(); @Override ConfigPropertyAuditTrail listAllConfigPropertyAudits(String timestamp); @Override ConfigPropertyRollbackPreview getRollbackPreview(String timestamp); @Override @Transactional String doConfigPropertyRollbackToTimestamp(String timestamp, String user, String userMessage); @Override List<ConfigProperty> listProperty(String cfkey, String application); }
ConfigPropertyServiceImpl implements ConfigPropertyService { @Override @Transactional public List<ConfigProperty> addUpdateProperties(ConfigPropertyRequest configPropertyRequest, String user, String userMessage, String timeNow, boolean partOfRollbackOperation) { List<ConfigProperty> configPropertyList = new ArrayList<>(); List<ConfigPropertyAudit> configPropertyAuditList = new ArrayList<>(); configPropertyRequest.getConfigProperties().forEach(configPropertyItem -> { ConfigPropertyKey configPropertyKey = new ConfigPropertyKey(); configPropertyKey.setApplication(configPropertyItem.getApplication()); configPropertyKey.setProfile(activeProfile); configPropertyKey.setLabel(AdminConstants.LATEST); configPropertyKey.setCfkey(configPropertyItem.getConfigKey()); if (configPropertyRepository.existsByConfigKeyParams(configPropertyKey)) { ConfigProperty existingConfigProperty = configPropertyRepository .findByConfigKeyParams(configPropertyKey); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(existingConfigProperty.getConfigKeyParams().getCfkey()); configPropertyAudit.setApplication(existingConfigProperty.getConfigKeyParams().getApplication()); configPropertyAudit.setProfile(existingConfigProperty.getConfigKeyParams().getProfile()); configPropertyAudit.setLabel(existingConfigProperty.getConfigKeyParams().getLabel()); configPropertyAudit.setOldvalue(existingConfigProperty.getValue()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("PUT operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); existingConfigProperty.setValue(configPropertyItem.getConfigValue()); existingConfigProperty.setModifiedBy(user); existingConfigProperty.setModifiedDate(timeNow); configPropertyList.add(existingConfigProperty); } else { ConfigProperty configProperty = new ConfigProperty(); configProperty.setConfigKeyParams(configPropertyKey); configProperty.setValue(configPropertyItem.getConfigValue()); configProperty.setCreatedBy(user); configProperty.setCreatedDate(timeNow); configPropertyList.add(configProperty); ConfigPropertyAudit configPropertyAudit = new ConfigPropertyAudit(); configPropertyAudit.setId(UUID.randomUUID().toString()); configPropertyAudit.setCfkey(configPropertyKey.getCfkey()); configPropertyAudit.setApplication(configPropertyKey.getApplication()); configPropertyAudit.setProfile(configPropertyKey.getProfile()); configPropertyAudit.setLabel(configPropertyKey.getLabel()); configPropertyAudit.setNewvalue(configPropertyItem.getConfigValue()); configPropertyAudit.setModifiedBy(user); configPropertyAudit.setModifiedDate(timeNow); configPropertyAudit.setUserMessage(userMessage); configPropertyAudit.setSystemMessage("POST operation through API invocation"); if (partOfRollbackOperation) { configPropertyAudit.setSystemMessage(AdminConstants.CONFIG_ROLLBACK_MSG); } configPropertyAuditList.add(configPropertyAudit); } }); List<ConfigProperty> configPropertyResult = configPropertyRepository.saveAll(configPropertyList); configPropertyAuditRepository.saveAll(configPropertyAuditList); return configPropertyResult; }  @Override ConfigTreeNode listProperties(); @Override @Transactional List<ConfigProperty> addUpdateProperties(ConfigPropertyRequest configPropertyRequest, String user,
			String userMessage, String timeNow, boolean partOfRollbackOperation); @Override @Transactional String deleteProperty(ConfigPropertyItem configPropertyItem, String user, String userMessage, String timeNow,
			boolean partOfRollbackOperation); @Override boolean isAllPropertiesExisting(ConfigPropertyRequest configPropertyRequest); @Override boolean isAnyPropertyExisting(ConfigPropertyRequest configPropertyRequest); @Override boolean isPropertyExisting(ConfigPropertyItem configPropertyItem); @Override boolean isCfkeyExisting(String cfkey); @Override boolean isAllCfkeysExisting(ConfigPropertyRequest configPropertyRequest); @Override boolean isApplicationExisting(String application); @Override boolean isAllApplicationsExisting(ConfigPropertyRequest configPropertyRequest); @Override List<String> listAllKeys(); @Override ConfigPropertyAuditTrail listAllConfigPropertyAudits(String timestamp); @Override ConfigPropertyRollbackPreview getRollbackPreview(String timestamp); @Override @Transactional String doConfigPropertyRollbackToTimestamp(String timestamp, String user, String userMessage); @Override List<ConfigProperty> listProperty(String cfkey, String application);  }