From 34400eeebc299cbf8e4335a7bee937753554bed5 Mon Sep 17 00:00:00 2001 From: "Determe, Sebastien (sd378r)" Date: Thu, 16 Nov 2017 13:22:49 +0100 Subject: Rework CryptoUtils CryptoUtils now takes the key from a file located in the resource not in spring file Change-Id: I002978d292550e6173efb4324cbb977f35d7e753 Issue-ID: CLAMP-74 Signed-off-by: Determe, Sebastien (sd378r) --- .../org/onap/clamp/clds/it/CryptoUtilsItCase.java | 76 -------------------- .../org/onap/clamp/clds/util/CryptoUtilsTest.java | 80 ++++++++++++++++++++++ 2 files changed, 80 insertions(+), 76 deletions(-) delete mode 100644 src/test/java/org/onap/clamp/clds/it/CryptoUtilsItCase.java create mode 100644 src/test/java/org/onap/clamp/clds/util/CryptoUtilsTest.java (limited to 'src/test/java/org/onap') diff --git a/src/test/java/org/onap/clamp/clds/it/CryptoUtilsItCase.java b/src/test/java/org/onap/clamp/clds/it/CryptoUtilsItCase.java deleted file mode 100644 index f03fe83c7..000000000 --- a/src/test/java/org/onap/clamp/clds/it/CryptoUtilsItCase.java +++ /dev/null @@ -1,76 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2017 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============================================ - * =================================================================== - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ - -package org.onap.clamp.clds.it; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.security.GeneralSecurityException; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.onap.clamp.clds.util.CryptoUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.TestPropertySource; -import org.springframework.test.context.junit4.SpringRunner; - -/** - * Test Crypto Utils with Spring. - */ -@RunWith(SpringRunner.class) -@SpringBootTest -@TestPropertySource(locations = "classpath:application-no-camunda.properties") -public class CryptoUtilsItCase { - @Autowired - private CryptoUtils cryptoUtils; - - /** - * This method tests encryption. - * - * @throws GeneralSecurityException - */ - @Test - public final void testEncryption() throws GeneralSecurityException { - final String testData = "This is a test string"; - final String encodedStringExpected = "A5CB112C9F608A220B35AFED08024D98B9653333AF4C9527C2E934DE473F6145"; - String encodedString = cryptoUtils.encrypt(testData); - assertNotNull(encodedString); - assertEquals(encodedStringExpected, encodedString); - } - - /** - * This method tests decryption. - * - * @throws GeneralSecurityException - */ - @Test - public final void testDecryption() throws GeneralSecurityException { - final String decodedStringExpected = "This is a test string"; - final String encodedString = "A5CB112C9F608A220B35AFED08024D98B9653333AF4C9527C2E934DE473F6145"; - String decryptedString = cryptoUtils.decrypt(encodedString); - assertNotNull(decryptedString); - assertEquals(decodedStringExpected, decryptedString); - } -} \ No newline at end of file diff --git a/src/test/java/org/onap/clamp/clds/util/CryptoUtilsTest.java b/src/test/java/org/onap/clamp/clds/util/CryptoUtilsTest.java new file mode 100644 index 000000000..6fe447556 --- /dev/null +++ b/src/test/java/org/onap/clamp/clds/util/CryptoUtilsTest.java @@ -0,0 +1,80 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2017 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============================================ + * =================================================================== + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ + +package org.onap.clamp.clds.util; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; + +import java.io.UnsupportedEncodingException; +import java.security.GeneralSecurityException; + +import org.apache.commons.codec.DecoderException; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.lang3.ArrayUtils; +import org.junit.Test; + +/** + * Test Crypto Utils with Spring. + */ +public class CryptoUtilsTest { + private CryptoUtils cryptoUtils = new CryptoUtils(); + final String data = "This is a test string"; + + /** + * This method tests encryption. + * + * @throws GeneralSecurityException + * @throws DecoderException + * @throws UnsupportedEncodingException + */ + @Test + public final void testEncryption() throws GeneralSecurityException, DecoderException, UnsupportedEncodingException { + String encodedString = cryptoUtils.encrypt(data); + assertNotNull(encodedString); + assertEquals(data, cryptoUtils.decrypt(encodedString)); + } + + /** + * This method tests encryption. + * + * @throws GeneralSecurityException + * @throws DecoderException + * @throws UnsupportedEncodingException + */ + @Test + public final void testEncryptedStringIsDifferent() + throws GeneralSecurityException, DecoderException, UnsupportedEncodingException { + String encodedString1 = cryptoUtils.encrypt(data); + String encodedString2 = cryptoUtils.encrypt(data); + byte[] encryptedMessage1 = Hex.decodeHex(encodedString1.toCharArray()); + byte[] encryptedMessage2 = Hex.decodeHex(encodedString2.toCharArray()); + assertNotNull(encryptedMessage1); + assertNotNull(encryptedMessage2); + assertNotEquals(encryptedMessage1, encryptedMessage2); + byte[] subData1 = ArrayUtils.subarray(encryptedMessage1, 16, encryptedMessage1.length); + byte[] subData2 = ArrayUtils.subarray(encryptedMessage2, 16, encryptedMessage2.length); + assertNotEquals(subData1, subData2); + } +} \ No newline at end of file -- cgit 1.2.3-korg