X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Ftest%2Fjava%2Forg%2Fonap%2Faai%2Fmodelloader%2Fconfig%2FModelLoaderConfigTest.java;h=1b6b847027a8e4acd67a0c54fff26b02ab95b428;hb=7b1f813441f94261f43ec4f5bb0944ad2570fbdf;hp=c5641dd7694388e4aff3e1f1029a52b775d9fc3d;hpb=4dd316529148d07059d844197cdb676806bdc0c6;p=aai%2Fmodel-loader.git diff --git a/src/test/java/org/onap/aai/modelloader/config/ModelLoaderConfigTest.java b/src/test/java/org/onap/aai/modelloader/config/ModelLoaderConfigTest.java index c5641dd..1b6b847 100644 --- a/src/test/java/org/onap/aai/modelloader/config/ModelLoaderConfigTest.java +++ b/src/test/java/org/onap/aai/modelloader/config/ModelLoaderConfigTest.java @@ -22,8 +22,8 @@ package org.onap.aai.modelloader.config; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.List; @@ -31,24 +31,25 @@ import java.util.Properties; import org.eclipse.jetty.util.security.Password; import org.junit.Test; -import org.onap.aai.modelloader.config.ModelLoaderConfig; import org.onap.aai.modelloader.restclient.AaiRestClient; import org.openecomp.sdc.utils.ArtifactTypeEnum; +/** + * Tests for ModelLoaderConfig class + * + */ public class ModelLoaderConfigTest { @Test public void testYangModelArtifactType() { Properties props = new Properties(); - props.setProperty("ml.distribution.ARTIFACT_TYPES", - "MODEL_INVENTORY_PROFILE,MODEL_QUERY_SPEC,VNF_CATALOG"); + props.setProperty("ml.distribution.ARTIFACT_TYPES", "MODEL_INVENTORY_PROFILE,MODEL_QUERY_SPEC,VNF_CATALOG"); ModelLoaderConfig config = new ModelLoaderConfig(props, null); List types = config.getRelevantArtifactTypes(); System.out.println("ArtifactType: " + types.get(0)); - assertEquals(0, - types.get(0).compareToIgnoreCase(ArtifactTypeEnum.MODEL_INVENTORY_PROFILE.toString())); + assertEquals(0, types.get(0).compareToIgnoreCase(ArtifactTypeEnum.MODEL_INVENTORY_PROFILE.toString())); System.out.println("ArtifactType: " + types.get(1)); assertEquals(0, types.get(1).compareToIgnoreCase(ArtifactTypeEnum.MODEL_QUERY_SPEC.toString())); @@ -58,216 +59,135 @@ public class ModelLoaderConfigTest { assertEquals(3, types.size()); } - + @Test - public void testDecryptPassword() { + public void testMsgBusAddrs() { Properties props = new Properties(); - String testPass = "youshallnotpass"; - String encryptedTestPass = Password.obfuscate(testPass); - - System.out.println("Encrypt " + testPass + " ==> " + encryptedTestPass); - - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_PASSWORD, encryptedTestPass); + props.setProperty("ml.distribution.MSG_BUS_ADDRESSES", "host1.onap.com:3904,host2.onap.com:3904"); ModelLoaderConfig config = new ModelLoaderConfig(props, null); - assertEquals(testPass, config.getPassword()); - } - - @Test - public void testDecryptKeystorePassword() { - Properties props = new Properties(); - String testPass = "youshallnotpass"; - String encryptedTestPass = Password.obfuscate(testPass); - - System.out.println("Encrypt " + testPass + " ==> " + encryptedTestPass); - - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_KEYSTORE_PASSWORD, encryptedTestPass); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); + List addrs = config.getMsgBusAddress(); - assertEquals(testPass, config.getKeyStorePassword()); + assertEquals(2, addrs.size()); + assertEquals(0, addrs.get(0).compareToIgnoreCase("host1.onap.com:3904")); + assertEquals(0, addrs.get(1).compareToIgnoreCase("host2.onap.com:3904")); } @Test - public void testDecryptAAIPassword() { - Properties props = new Properties(); - String testPassword = "myvoiceismypassword"; - String encryptedTestPassword = Password.obfuscate(testPassword); - - props.put(ModelLoaderConfig.PROP_AAI_AUTHENTICATION_PASSWORD, encryptedTestPassword); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - - assertEquals(testPassword, config.getAaiAuthenticationPassword()); + public void testDecryptPassword() { + String password = "youshallnotpass"; + ModelLoaderConfig config = + createObfuscatedTestConfig(ModelLoaderConfig.PROP_ML_DISTRIBUTION_PASSWORD, password); + assertEquals(password, config.getPassword()); } @Test - public void testNoAAIAuth() throws IOException { - Properties props = new Properties(); - props.load( - new FileInputStream("src/test/resources/model-loader-empty-auth-password.properties")); - - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - AaiRestClient aaiClient = new AaiRestClient(config); - - assertFalse("Empty AAI Password should result in no basic authentication", - aaiClient.useBasicAuth()); - - props.load(new FileInputStream("src/test/resources/model-loader-no-auth-password.properties")); - config = new ModelLoaderConfig(props, null); - aaiClient = new AaiRestClient(config); - - assertFalse("No AAI Password should result in no basic authentication", - aaiClient.useBasicAuth()); + public void testDecryptKeystorePassword() { + String password = "youshallnotpass"; + ModelLoaderConfig config = + createObfuscatedTestConfig(ModelLoaderConfig.PROP_ML_DISTRIBUTION_KEYSTORE_PASSWORD, password); + assertEquals(password, config.getKeyStorePassword()); } @Test - public void testGetUrls() { - Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_AAI_MODEL_RESOURCE_URL, "/aai/v*/service-design-and-creation/models/model/"); - props.put(ModelLoaderConfig.PROP_AAI_NAMED_QUERY_RESOURCE_URL, - "/aai/v*/service-design-and-creation/named-queries/named-query/"); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - - assertEquals("/aai/v9/service-design-and-creation/models/model/", config.getAaiModelUrl("v9")); - assertEquals("/aai/v10/service-design-and-creation/named-queries/named-query/", - config.getAaiNamedQueryUrl("v10")); + public void testDecryptAAIAuthenticationPassword() { + String password = "myvoiceismypassword"; + ModelLoaderConfig config = + createObfuscatedTestConfig(ModelLoaderConfig.PROP_AAI_AUTHENTICATION_PASSWORD, password); + assertEquals(password, config.getAaiAuthenticationPassword()); } @Test - public void testActivateServerTLSAuth(){ - Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_ACTIVE_SERVER_TLS_AUTH, "true"); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - boolean authValue = config.activateServerTLSAuth(); - assertTrue(authValue); - - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_ACTIVE_SERVER_TLS_AUTH, ""); - ModelLoaderConfig config1 = new ModelLoaderConfig(props, null); - boolean authValue1 = config.activateServerTLSAuth(); - assertFalse(authValue1); + public void testDecryptAAIKeystorePassword() { + String password = "myvoiceismypassword"; + ModelLoaderConfig config = createObfuscatedTestConfig(ModelLoaderConfig.PROP_AAI_KEYSTORE_PASSWORD, password); + assertEquals(password, config.getAaiKeyStorePassword()); } @Test - public void testGetAsdcAddress(){ + public void testAaiBaseUrl() { + String url = "http://localhost:1234/"; Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_ASDC_ADDRESS, "address-1"); + props.put(ModelLoaderConfig.PROP_AAI_BASE_URL, url); ModelLoaderConfig config = new ModelLoaderConfig(props, null); - String asdcAddr = config.getAsdcAddress(); - assertEquals(asdcAddr, "address-1"); + assertEquals(url, config.getAaiBaseUrl()); } @Test - public void testGetConsumerGroup(){ - Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_CONSUMER_GROUP, "group-1"); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - String ret = config.getConsumerGroup(); - assertEquals(ret, "group-1"); + public void testDecryptBabelKeystorePassword() { + String password = "babelpassword"; + ModelLoaderConfig config = createObfuscatedTestConfig(ModelLoaderConfig.PROP_BABEL_KEYSTORE_PASSWORD, password); + assertEquals(password, config.getBabelKeyStorePassword()); } @Test - public void testGetConsumerID(){ + public void testBabelKeystorePath() { + String root = "path_to_keystore"; + String path = "relative_keystore_path"; Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_CONSUMER_ID, "id-1"); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - String ret = config.getConsumerID(); - assertEquals(ret, "id-1"); + props.put(ModelLoaderConfig.PROP_BABEL_KEYSTORE_FILE, path); + ModelLoaderConfig config = new ModelLoaderConfig(props, root); + assertEquals(root + File.separator + path, config.getBabelKeyStorePath()); } @Test - public void testGetEnvironmentName(){ + public void testBabelBaseUrl() { + String url = "http://localhost/"; Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_ENVIRONMENT_NAME, "local"); + props.put(ModelLoaderConfig.PROP_BABEL_BASE_URL, url); ModelLoaderConfig config = new ModelLoaderConfig(props, null); - String ret = config.getEnvironmentName(); - assertEquals(ret, "local"); + assertEquals(url, config.getBabelBaseUrl()); } @Test - public void testGetKeyStorePath(){ + public void testBabelGenerateArtifactsUrl() { + String url = "/path/to/the/resource"; Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_KEYSTORE_FILE, "keystore-file"); - ModelLoaderConfig config = new ModelLoaderConfig(props, "local/"); - String ret = config.getKeyStorePath(); - assertEquals(ret, "local/keystore-file"); - } - - @Test - public void testGetPollingInterval(){ - Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_POLLING_INTERVAL, "60"); + props.put(ModelLoaderConfig.PROP_BABEL_GENERATE_RESOURCE_URL, url); ModelLoaderConfig config = new ModelLoaderConfig(props, null); - int ret = config.getPollingInterval(); - assertTrue(ret == 60); + assertEquals(url, config.getBabelGenerateArtifactsUrl()); } @Test - public void testGetPollingTimeout(){ - Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_POLLING_TIMEOUT, "30"); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - int ret = config.getPollingTimeout(); - assertTrue(ret == 30); - } + public void testNoAAIAuth() throws IOException { - @Test - public void testGetUser(){ Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_USER, "user-1"); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - String ret = config.getUser(); - assertEquals(ret, "user-1"); - } + props.load(new FileInputStream("src/test/resources/model-loader-empty-auth-password.properties")); - @Test - public void testIsFilterInEmptyResources(){ - Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_POLLING_TIMEOUT, "30"); ModelLoaderConfig config = new ModelLoaderConfig(props, null); - Boolean ret = config.isFilterInEmptyResources(); - assertFalse(ret); - } + AaiRestClient aaiClient = new AaiRestClient(config); - @Test - public void testIsUseHttpsWithDmaap(){ - Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_ML_DISTRIBUTION_HTTPS_WITH_DMAAP, "true"); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - Boolean ret = config.isUseHttpsWithDmaap(); - assertTrue(ret); - } + assertFalse("Empty AAI Password should result in no basic authentication", aaiClient.useBasicAuth()); - @Test - public void testGetAaiKeyStorePath(){ - Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_AAI_KEYSTORE_FILE, "keystore-file"); - ModelLoaderConfig config = new ModelLoaderConfig(props, "local"); - String ret = config.getAaiKeyStorePath(); - assertEquals(ret, "local/keystore-file"); + props.load(new FileInputStream("src/test/resources/model-loader-no-auth-password.properties")); + config = new ModelLoaderConfig(props, null); + aaiClient = new AaiRestClient(config); + + assertFalse("No AAI Password should result in no basic authentication", aaiClient.useBasicAuth()); } @Test - public void testGetAaiKeyStorePassword(){ + public void testGetUrls() { Properties props = new Properties(); - String testPass = "youshallnotpass"; - String encryptedTestPass = Password.obfuscate(testPass); - - props.put(ModelLoaderConfig.PROP_AAI_KEYSTORE_PASSWORD, encryptedTestPass); + props.put(ModelLoaderConfig.PROP_AAI_MODEL_RESOURCE_URL, "/aai/v*/service-design-and-creation/models/model/"); + props.put(ModelLoaderConfig.PROP_AAI_NAMED_QUERY_RESOURCE_URL, + "/aai/v*/service-design-and-creation/named-queries/named-query/"); ModelLoaderConfig config = new ModelLoaderConfig(props, null); - assertEquals(testPass, config.getAaiKeyStorePassword()); + assertEquals("/aai/v9/service-design-and-creation/models/model/", config.getAaiModelUrl("v9")); + assertEquals("/aai/v10/service-design-and-creation/named-queries/named-query/", + config.getAaiNamedQueryUrl("v10")); } - @Test - public void testGetIngestSimulatorEnabled(){ - Properties props = new Properties(); - props.put(ModelLoaderConfig.PROP_DEBUG_INGEST_SIMULATOR, "enabled"); - ModelLoaderConfig config = new ModelLoaderConfig(props, null); - boolean ret = config.getIngestSimulatorEnabled(); - assertTrue(ret); - props.put(ModelLoaderConfig.PROP_DEBUG_INGEST_SIMULATOR, "disabled"); - ModelLoaderConfig config1 = new ModelLoaderConfig(props, null); - boolean ret1 = config.getIngestSimulatorEnabled(); - assertFalse(ret1); + /** + * @param propertyName + * @param propertyValue + * @return a new ModelLoaderConfig object containing a single obfuscated property value + */ + private ModelLoaderConfig createObfuscatedTestConfig(String propertyName, String propertyValue) { + Properties props = new Properties(); + props.put(propertyName, Password.obfuscate(propertyValue)); + return new ModelLoaderConfig(props, null); } }