diff options
author | Chou, Joseph <jc2555@att.com> | 2019-03-07 11:49:23 -0500 |
---|---|---|
committer | Chou, Joseph <jc2555@att.com> | 2019-03-12 09:57:32 -0400 |
commit | d574a2fc71ad43f8bc025ea9cc23ca718bc66570 (patch) | |
tree | fff476156f8bcdffa96fdd6b342d21ef0e7b539d /utils/src/test/java/org/onap | |
parent | 23a3dc4ece2f1533fe1d6b627b5db05e7754a70c (diff) |
ONAP password encryption tool
Migrate ECOMP Policy password encryption tool to ONAP
Issue-ID: POLICY-1561
Change-Id: I9020efb7698b95c36c4ebff842a318bf8beefc69
Signed-off-by: Joseph Chou <jc2555@att.com>
Diffstat (limited to 'utils/src/test/java/org/onap')
-rw-r--r-- | utils/src/test/java/org/onap/policy/common/utils/security/CryptoUtilsTest.java | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/utils/src/test/java/org/onap/policy/common/utils/security/CryptoUtilsTest.java b/utils/src/test/java/org/onap/policy/common/utils/security/CryptoUtilsTest.java new file mode 100644 index 00000000..fd3daee8 --- /dev/null +++ b/utils/src/test/java/org/onap/policy/common/utils/security/CryptoUtilsTest.java @@ -0,0 +1,120 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2019 AT&T Intellectual Property. 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.common.utils.security; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import java.security.GeneralSecurityException; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Unit test for simple App. + */ + +public class CryptoUtilsTest { + private static Logger logger = LoggerFactory.getLogger(CryptoUtilsTest.class); + private final String pass = "HelloWorld"; + private final String secretKey = "12345678901234567890123456789012"; + private final String encryptedPass = "enc:8XxseP5W5ODxzPrReNKd9JBYLv0iiAzy9BHnMKau5yg="; + + @Test + public void testEncrypt() throws GeneralSecurityException { + logger.info("testEncrypt:"); + CryptoUtils cryptoUtils = new CryptoUtils(secretKey); + String encryptedValue = cryptoUtils.encrypt(pass); + logger.info("original value : " + pass + " encrypted value: " + encryptedValue); + + String decryptedValue = cryptoUtils.decrypt(encryptedValue); + logger.info("encrypted value: " + encryptedValue + " decrypted value : " + decryptedValue); + assertEquals(pass, decryptedValue); + } + + @Test + public void testDecrypt() throws GeneralSecurityException { + logger.info("testDecrypt:"); + CryptoUtils cryptoUtils = new CryptoUtils(secretKey); + String decryptedValue = cryptoUtils.decrypt(encryptedPass); + logger.info("encrypted value: " + encryptedPass + " decrypted value : " + decryptedValue); + assertEquals(pass, decryptedValue); + } + + @Test + public void testStaticEncrypt() { + logger.info("testStaticEncrypt:"); + String encryptedValue = CryptoUtils.encrypt(pass, secretKey); + logger.info("original value : " + pass + " encrypted value: " + encryptedValue); + + String decryptedValue = CryptoUtils.decrypt(encryptedValue, secretKey); + logger.info("encrypted value: " + encryptedValue + " decrypted value : " + decryptedValue); + assertEquals(pass, decryptedValue); + } + + @Test + public void testStaticDecrypt() { + logger.info("testStaticDecrypt:"); + String decryptedValue = CryptoUtils.decrypt(encryptedPass, secretKey); + logger.info("encrypted value: " + encryptedPass + " decrypted value : " + decryptedValue); + assertEquals(pass, decryptedValue); + } + + @Test + public void testBadInputs() { + String badKey = CryptoUtils.encrypt(pass, "test"); + assertEquals(pass, badKey); + + String badDecrypt = CryptoUtils.decrypt(encryptedPass, ""); + assertEquals(encryptedPass, badDecrypt); + + String emptyValue = CryptoUtils.encrypt(new String(), secretKey); + assertEquals("", emptyValue); + + String emptyDecrypt = CryptoUtils.decrypt(new String(), secretKey); + assertEquals("", emptyDecrypt); + + String nullValue = CryptoUtils.encrypt(null, secretKey); + assertNull(nullValue); + + String nullDecrypt = CryptoUtils.decrypt(null, secretKey); + assertNull(nullDecrypt); + } + + @Test + public void testAll() { + logger.info("testAll:"); + String encryptedValue = CryptoUtils.encrypt(pass, secretKey); + logger.info("original value : " + pass + " encrypted value: " + encryptedValue); + + String encryptedAgain = CryptoUtils.encrypt(encryptedValue, secretKey); + + assertEquals(encryptedValue, encryptedAgain); + + String decryptedValue = CryptoUtils.decrypt(encryptedAgain, secretKey); + logger.info("encrypted value: " + encryptedAgain + " decrypted value : " + decryptedValue); + assertEquals(pass, decryptedValue); + + String decryptedAgain = CryptoUtils.decrypt(decryptedValue, secretKey); + assertEquals(decryptedValue, decryptedAgain); + } +}
\ No newline at end of file |