From 257651f9f6b827b742dea6fdc44f95e522fc9242 Mon Sep 17 00:00:00 2001 From: "Tschaen, Brendan" Date: Thu, 21 Feb 2019 16:00:27 -0500 Subject: Caching util test cases And cleaning up of other tests Issue-ID: MUSIC-341 Change-Id: Ida4ee49b2a923c64a2ce66c310db9b0dd502b8d7 Signed-off-by: Tschaen, Brendan --- .../org/onap/music/unittests/TstCachingUtil.java | 141 +++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 src/test/java/org/onap/music/unittests/TstCachingUtil.java (limited to 'src/test/java/org/onap/music/unittests/TstCachingUtil.java') diff --git a/src/test/java/org/onap/music/unittests/TstCachingUtil.java b/src/test/java/org/onap/music/unittests/TstCachingUtil.java new file mode 100644 index 00000000..be2783b2 --- /dev/null +++ b/src/test/java/org/onap/music/unittests/TstCachingUtil.java @@ -0,0 +1,141 @@ +/* + * ============LICENSE_START========================================== org.onap.music + * =================================================================== Copyright (c) 2017 AT&T Intellectual Property + * =================================================================== 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.music.unittests; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import java.util.UUID; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mindrot.jbcrypt.BCrypt; +import org.mockito.junit.MockitoJUnitRunner; +import org.onap.music.datastore.PreparedQueryObject; +import org.onap.music.main.CachingUtil; +import org.onap.music.main.MusicCore; +import org.onap.music.main.MusicUtil; +import org.onap.music.rest.RestMusicDataAPI; +import com.datastax.driver.core.DataType; +import com.sun.jersey.core.util.Base64; + +public class TstCachingUtil { + + static PreparedQueryObject testObject; + + static String appName = "TestApp"; + static String userId = "TestUser"; + static String password = "TestPassword"; + static String authData = userId + ":" + password; + static String wrongAuthData = userId + ":" + "pass"; + static String authorization = new String(Base64.encode(authData.getBytes())); + static String wrongAuthorization = new String(Base64.encode(wrongAuthData.getBytes())); + static boolean isAAF = false; + static UUID uuid = UUID.fromString("abc66ccc-d857-4e90-b1e5-df98a3d40ce6"); + static String keyspaceName = "testcassa"; + static String tableName = "employees"; + static String xLatestVersion = "X-latestVersion"; + static String onboardUUID = null; + + @BeforeClass + public static void init() throws Exception { + System.out.println("Testing CachingUtil class"); + try { + createKeyspace(); + } catch (Exception e) { + e.printStackTrace(); + throw new Exception("Unable to initialize before CachingUtil test class. " + e.getMessage()); + } + } + + @AfterClass + public static void tearDownAfterClass() throws Exception { + testObject = new PreparedQueryObject(); + testObject.appendQueryString("DROP KEYSPACE IF EXISTS " + keyspaceName); + MusicCore.eventualPut(testObject); + } + + @Test + public void test_isAAF_False() throws Exception { + System.out.println("Testing isAAF, nonaaf app"); + assertEquals("false", CachingUtil.isAAFApplication(appName)); + } + + @Test + public void test_getUUidFromMusicCache() throws Exception { + System.out.println("Testing getUUID from MusicCache"); + assertEquals(uuid.toString(), CachingUtil.getUuidFromMusicCache(keyspaceName)); + } + + @Test + public void test_getAppName() throws Exception { + System.out.println("Testing getAppName"); + assertEquals(appName, CachingUtil.getAppName(keyspaceName)); + } + + @Test + public void test_verifyOnboarding() throws Exception { + System.out.println("Testing verifyOnboarding"); + assertTrue(CachingUtil.verifyOnboarding(appName, userId, password).isEmpty()); + } + + @Test + public void test_verifyOnboardingFailure() throws Exception { + System.out.println("Testing verifyOnboarding with bad password"); + assertFalse(CachingUtil.verifyOnboarding(appName, userId, "pass").isEmpty()); + } + + + @Test + public void test_authenticateAIDUser() throws Exception { + System.out.println("Testing authenticateAIDUser"); + assertTrue(CachingUtil.authenticateAIDUser(appName, userId, password, keyspaceName).isEmpty()); + } + + @Test + public void test_authenticateAIDUserFailure() throws Exception { + System.out.println("Testing authenticateAIDUser bad password"); + assertFalse(CachingUtil.authenticateAIDUser(appName, userId, "pass", keyspaceName).isEmpty()); + } + + private static void createKeyspace() throws Exception { + // shouldn't really be doing this here, but create keyspace is currently turned off + PreparedQueryObject query = new PreparedQueryObject(); + query.appendQueryString(CassandraCQL.createKeySpace); + MusicCore.eventualPut(query); + + boolean isAAF = false; + String hashedpwd = BCrypt.hashpw(password, BCrypt.gensalt()); + query = new PreparedQueryObject(); + query.appendQueryString("INSERT into admin.keyspace_master (uuid, keyspace_name, application_name, is_api, " + + "password, username, is_aaf) values (?,?,?,?,?,?,?)"); + query.addValue(MusicUtil.convertToActualDataType(DataType.uuid(), uuid)); + query.addValue(MusicUtil.convertToActualDataType(DataType.text(), keyspaceName)); + query.addValue(MusicUtil.convertToActualDataType(DataType.text(), appName)); + query.addValue(MusicUtil.convertToActualDataType(DataType.cboolean(), "True")); + query.addValue(MusicUtil.convertToActualDataType(DataType.text(), hashedpwd)); + query.addValue(MusicUtil.convertToActualDataType(DataType.text(), userId)); + query.addValue(MusicUtil.convertToActualDataType(DataType.cboolean(), isAAF)); + CachingUtil.updateMusicCache(keyspaceName, appName); + CachingUtil.updateMusicValidateCache(appName, userId, hashedpwd); + MusicCore.eventualPut(query); + } + +} -- cgit 1.2.3-korg