From 9eb80fdf47fb9be19e6238e223a3e43c402aa3f5 Mon Sep 17 00:00:00 2001 From: "k.kedron" Date: Thu, 4 Jul 2019 13:09:38 +0200 Subject: Improved the ConfigurationRepositoryTest. Checkstyle for CliConfigurationImpTest. Improved the ConfigurationRepositoryTest to not has an influence on other tests. Issue-ID: SDC-2327 Signed-off-by: Krystian Kedron Change-Id: I74b95617ad1b17c26a8d6237c7e7469ef2213596 --- .../org/onap/config/CliConfigurationImpTest.java | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 common/onap-common-configuration-management/onap-configuration-management-core/src/test/java/org/onap/config/CliConfigurationImpTest.java (limited to 'common/onap-common-configuration-management/onap-configuration-management-core/src/test/java/org/onap/config/CliConfigurationImpTest.java') diff --git a/common/onap-common-configuration-management/onap-configuration-management-core/src/test/java/org/onap/config/CliConfigurationImpTest.java b/common/onap-common-configuration-management/onap-configuration-management-core/src/test/java/org/onap/config/CliConfigurationImpTest.java new file mode 100644 index 0000000000..3d12eac13d --- /dev/null +++ b/common/onap-common-configuration-management/onap-configuration-management-core/src/test/java/org/onap/config/CliConfigurationImpTest.java @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2019 Samsung. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.config; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.Map; + +import org.junit.Test; +import org.onap.config.api.ConfigurationManager; +import org.onap.config.impl.CliConfigurationImpl; +import org.onap.config.util.ConfigTestConstant; +import org.onap.config.util.TestImplementationConfiguration; + +public class CliConfigurationImpTest { + + private static final String NAMESPACE = "CLIConfiguration"; + private static final String TENANT = "OPENECOMP"; + private static final String IMPL_KEY = "CLIImpl"; + private static final String SERVICE_CONF = "testService"; + + @Test + public void testGenerateAndPopulateMap() { + + // given + ConfigurationManager conf = new CliConfigurationImpl(); + // when + Map outputMap = conf.generateMap(TENANT, NAMESPACE, ConfigTestConstant.ARTIFACT); + TestImplementationConfiguration testServiceImpl = + conf.populateMap(TENANT, NAMESPACE, IMPL_KEY, TestImplementationConfiguration.class) + .get(SERVICE_CONF); + + // then + validateCliMapConfig(outputMap); + assertTrue(testServiceImpl.isEnable()); + assertEquals("org.junit.Test", testServiceImpl.getImplementationClass()); + } + + private void validateCliMapConfig(Map outputMap) { + assertEquals("appc", + outputMap.get(withoutArtifactPrefix(ConfigTestConstant.ARTIFACT_CONSUMER))); + assertEquals("6", + extract(outputMap, withoutArtifactPrefix(ConfigTestConstant.ARTIFACT_NAME_MINLENGTH))); + assertEquals("true", + outputMap.get(withoutArtifactPrefix(ConfigTestConstant.ARTIFACT_ENCODED))); + assertEquals("14", + extract(outputMap, withoutArtifactPrefix(ConfigTestConstant.ARTIFACT_NAME_MAXLENGTH))); + assertEquals("pdf", outputMap.get(withoutArtifactPrefix(ConfigTestConstant.ARTIFACT_EXT))); + assertEquals("Base64", + outputMap.get(withoutArtifactPrefix(ConfigTestConstant.ARTIFACT_ENC))); + assertEquals("a-zA-Z_0-9", + extract(outputMap, withoutArtifactPrefix(ConfigTestConstant.ARTIFACT_NAME_UPPER))); + assertEquals("deleted", + outputMap.get(withoutArtifactPrefix(ConfigTestConstant.ARTIFACT_STATUS))); + + } + + private String withoutArtifactPrefix(String key) { + return key.replace(ConfigTestConstant.ARTIFACT + ".", ""); + } + + private String extract(Map map, String keys) { + + String[] keysList = keys.split("\\."); + Map recursive = (Map) map.get(keysList[0]); + + for (int i = 1; i < keysList.length; i++) { + if (i == keysList.length - 1) { + return (String) recursive.get(keysList[i]); + } + recursive = (Map) recursive.get(keysList[i]); + } + return null; + } +} -- cgit 1.2.3-korg