From 52cb02b2033708a0401d5ea165d84f4cdb911628 Mon Sep 17 00:00:00 2001 From: Ram Krishna Verma Date: Wed, 16 Sep 2020 10:21:36 -0400 Subject: Remove base64 encoding of password from models Remove base64 encoding of db password from models. This will have impact on the defaultConfig of API & PAP component. Seperate reviews are raised for those repos. Issue-ID: POLICY-2550 Change-Id: I258f76d01c21893bb40b4095a82e56ed51bd1377 Signed-off-by: Ram Krishna Verma --- .../models/provider/PolicyModelsProviderParameters.java | 3 ++- .../provider/impl/DatabasePolicyModelsProviderImpl.java | 13 +------------ .../provider/impl/DatabasePolicyModelsProviderTest.java | 3 +-- .../models/provider/impl/PolicyToscaPersistenceTest.java | 5 +++-- .../models/provider/impl/PolicyTypePersistenceTest.java | 5 +++-- .../provider/revisionhierarchy/HierarchyFetchTest.java | 4 ++-- 6 files changed, 12 insertions(+), 21 deletions(-) diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProviderParameters.java b/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProviderParameters.java index bcf9ec11e..e2784b040 100644 --- a/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProviderParameters.java +++ b/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProviderParameters.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2020 Bell Canada. 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. @@ -39,7 +40,7 @@ import org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl; * defaults to {@link DatabasePolicyModelsProviderImpl} and may not be null *
  • databaseUrl: The JDBC URL for the database, mandatory. *
  • databaseUser: The user id to use for connecting to the database, optional, defaults to null. - *
  • databasePassword: The password to use for connecting to the database encoded in Base64, optional, + *
  • databasePassword: The password to use for connecting to the database, optional, * defaults to null. *
  • persistenceUnit: The persistence unit refined in META-INF/persistence.xml to use for connecting * to the database, mandatory. diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java index 77a72adb0..e27b9a43c 100644 --- a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java +++ b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java @@ -22,7 +22,6 @@ package org.onap.policy.models.provider.impl; -import java.util.Base64; import java.util.Date; import java.util.List; import java.util.Properties; @@ -95,15 +94,12 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider { daoParameters.setPluginClass(DefaultPfDao.class.getName()); daoParameters.setPersistenceUnit(parameters.getPersistenceUnit()); - // Decode the password using Base64 - String decodedPassword = new String(Base64.getDecoder().decode(getValue(parameters.getDatabasePassword()))); - // @formatter:off Properties jdbcProperties = new Properties(); jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_DRIVER, parameters.getDatabaseDriver()); jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_URL, parameters.getDatabaseUrl()); jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_USER, parameters.getDatabaseUser()); - jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_PASSWORD, decodedPassword); + jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_PASSWORD, parameters.getDatabasePassword()); // @formatter:on daoParameters.setJdbcProperties(jdbcProperties); @@ -120,13 +116,6 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider { } } - private String getValue(final String value) { - if (value != null && value.startsWith("${") && value.endsWith("}")) { - return System.getenv(value.substring(2, value.length() - 1)); - } - return value; - } - @Override public void close() throws PfModelException { LOGGER.debug("closing the database connection to {} using persistence unit {}", parameters.getDatabaseUrl(), diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java index ac42304fd..d8b6a83e4 100644 --- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java +++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java @@ -28,7 +28,6 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.ArrayList; -import java.util.Base64; import java.util.Date; import java.util.List; import org.junit.Before; @@ -87,7 +86,7 @@ public class DatabasePolicyModelsProviderTest { parameters.setDatabaseDriver("org.h2.Driver"); parameters.setDatabaseUrl("jdbc:h2:mem:testdb"); parameters.setDatabaseUser("policy"); - parameters.setDatabasePassword(Base64.getEncoder().encodeToString("P01icY".getBytes())); + parameters.setDatabasePassword("P01icY"); parameters.setPersistenceUnit("ToscaConceptTest"); } diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyToscaPersistenceTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyToscaPersistenceTest.java index d6f0d85b9..a42aae4b6 100644 --- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyToscaPersistenceTest.java +++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyToscaPersistenceTest.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019-2020 Nordix Foundation. + * Modifications Copyright (C) 2020 Bell Canada. 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. @@ -25,7 +26,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.net.URISyntaxException; -import java.util.Base64; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -78,7 +78,7 @@ public class PolicyToscaPersistenceTest { parameters.setDatabaseDriver("org.h2.Driver"); parameters.setDatabaseUrl("jdbc:h2:mem:testdb"); parameters.setDatabaseUser("policy"); - parameters.setDatabasePassword(Base64.getEncoder().encodeToString("P01icY".getBytes())); + parameters.setDatabasePassword("P01icY"); parameters.setPersistenceUnit("ToscaConceptTest"); databaseProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters); @@ -248,6 +248,7 @@ public class PolicyToscaPersistenceTest { for (int i = 0; i < 10; i++) { new Thread() { + @Override public void run() { assertThatCode(() -> databaseProvider.createPolicies(serviceTemplate)).doesNotThrowAnyException(); assertThatCode(() -> databaseProvider.updatePolicies(serviceTemplate)).doesNotThrowAnyException(); diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyTypePersistenceTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyTypePersistenceTest.java index a808105c0..61bf13ac6 100644 --- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyTypePersistenceTest.java +++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyTypePersistenceTest.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019-2020 Nordix Foundation. + * Modifications Copyright (C) 2020 Bell Canada. 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. @@ -25,7 +26,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import java.util.Base64; import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -64,7 +64,7 @@ public class PolicyTypePersistenceTest { parameters.setDatabaseDriver("org.h2.Driver"); parameters.setDatabaseUrl("jdbc:h2:mem:testdb"); parameters.setDatabaseUser("policy"); - parameters.setDatabasePassword(Base64.getEncoder().encodeToString("P01icY".getBytes())); + parameters.setDatabasePassword("P01icY"); parameters.setPersistenceUnit("ToscaConceptTest"); databaseProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters); @@ -114,6 +114,7 @@ public class PolicyTypePersistenceTest { for (int i = 0; i < 10; i++) { new Thread() { + @Override public void run() { assertThatCode(() -> databaseProvider.createPolicyTypes(serviceTemplate)) .doesNotThrowAnyException(); diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/revisionhierarchy/HierarchyFetchTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/revisionhierarchy/HierarchyFetchTest.java index 5f4a1cd9a..c107f1273 100644 --- a/models-provider/src/test/java/org/onap/policy/models/provider/revisionhierarchy/HierarchyFetchTest.java +++ b/models-provider/src/test/java/org/onap/policy/models/provider/revisionhierarchy/HierarchyFetchTest.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2020 Nordix Foundation. + * Modifications Copyright (C) 2020 Bell Canada. 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. @@ -23,7 +24,6 @@ package org.onap.policy.models.provider.revisionhierarchy; import static org.assertj.core.api.Assertions.assertThatCode; import static org.junit.Assert.assertEquals; -import java.util.Base64; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -48,7 +48,7 @@ public class HierarchyFetchTest { parameters.setDatabaseDriver("org.h2.Driver"); parameters.setDatabaseUrl("jdbc:h2:mem:testdb"); parameters.setDatabaseUser("policy"); - parameters.setDatabasePassword(Base64.getEncoder().encodeToString("P01icY".getBytes())); + parameters.setDatabasePassword("P01icY"); parameters.setPersistenceUnit("ToscaConceptTest"); } -- cgit 1.2.3-korg