X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Forg%2Fonap%2Fmusic%2Funittests%2FTstCachingUtil.java;h=ea47b7c1a27bbecc10a42fb424084236824924c3;hb=b58e1d3db05aed02b62a557bf14db6ea7b8df5f5;hp=be2783b2d1760be43dda34a077315e74c8a66e28;hpb=7c2316f479f338c4b0fd9a150d8b858cea3b377c;p=music.git diff --git a/src/test/java/org/onap/music/unittests/TstCachingUtil.java b/src/test/java/org/onap/music/unittests/TstCachingUtil.java index be2783b2..ea47b7c1 100644 --- a/src/test/java/org/onap/music/unittests/TstCachingUtil.java +++ b/src/test/java/org/onap/music/unittests/TstCachingUtil.java @@ -1,15 +1,16 @@ /* * ============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 + * =================================================================== 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. + * 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============================================= * ==================================================================== @@ -20,7 +21,15 @@ 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.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.UUID; + +import javax.ws.rs.core.Response; + +import org.junit.After; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Ignore; @@ -28,104 +37,121 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mindrot.jbcrypt.BCrypt; import org.mockito.junit.MockitoJUnitRunner; +import org.onap.music.authentication.CachingUtil; +import org.onap.music.datastore.MusicDataStoreHandle; import org.onap.music.datastore.PreparedQueryObject; -import org.onap.music.main.CachingUtil; +import org.onap.music.datastore.jsonobjects.JsonInsert; +import org.onap.music.datastore.jsonobjects.JsonLeasedLock; +import org.onap.music.datastore.jsonobjects.JsonTable; +import org.onap.music.exceptions.MusicServiceException; +import org.onap.music.lockingservice.cassandra.CassaLockStore; import org.onap.music.main.MusicCore; import org.onap.music.main.MusicUtil; import org.onap.music.rest.RestMusicDataAPI; +import org.onap.music.rest.RestMusicLocksAPI; import com.datastax.driver.core.DataType; +import com.datastax.driver.core.ResultSet; +import com.datastax.driver.core.Row; import com.sun.jersey.core.util.Base64; +@RunWith(MockitoJUnitRunner.class) 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); + RestMusicLocksAPI lock = new RestMusicLocksAPI(); + RestMusicDataAPI data = new RestMusicDataAPI(); + static PreparedQueryObject testObject; + + static String appName = TestsUsingCassandra.appName; + static String userId = TestsUsingCassandra.userId; + static String password = TestsUsingCassandra.password; + static String authData = TestsUsingCassandra.authData; + static String authorization = TestsUsingCassandra.authorization; + static boolean isAAF = TestsUsingCassandra.isAAF; + static UUID uuid = TestsUsingCassandra.uuid; + static String keyspaceName = TestsUsingCassandra.keyspaceName; + static String tableName = TestsUsingCassandra.tableName; + static String onboardUUID = null; + + @BeforeClass + public static void init() throws Exception { + System.out.println("Testing CachingUtil class"); + try { + + } catch (Exception e) { + e.printStackTrace(); + throw new Exception("Unable to initialize before TestRestMusicData test class. " + e.getMessage()); + } + } + + @After + public void afterEachTest( ) throws MusicServiceException { + + } + + @AfterClass + public static void tearDownAfterClass() throws Exception { + testObject = new PreparedQueryObject(); + testObject.appendQueryString("DROP KEYSPACE IF EXISTS " + keyspaceName); + MusicCore.eventualPut(testObject); + } + + @Test + public void test_verifyOnboard() throws Exception { + System.out.println("Testing onboarding of app"); + CachingUtil cache = new CachingUtil(); + cache.initializeAafCache(); + Map authMap = CachingUtil.verifyOnboarding(appName, userId, password); + assertEquals(0, authMap.size()); } - - @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)); + public void test_authenticateAIDUser() throws Exception { + System.out.println("Testing authentication of AID user"); + createKeyspace(); + CachingUtil cache = new CachingUtil(); + cache.initializeAafCache(); + Map authMap = CachingUtil.authenticateAIDUser(appName, + userId, password, keyspaceName); + System.out.println("authMap is: " + authMap); + assertEquals(0, authMap.size()); } - + @Test - public void test_getAppName() throws Exception { + public void test_getAppName() throws MusicServiceException { System.out.println("Testing getAppName"); + CachingUtil cache = new CachingUtil(); + cache.initializeAafCache(); 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()); + public void test_getUUIDFromCache() throws MusicServiceException { + System.out.println("Testing getUUID"); + CachingUtil cache = new CachingUtil(); + cache.initializeAafCache(); + assertEquals(uuid.toString(), CachingUtil.getUuidFromMusicCache(keyspaceName)); } - + @Test - public void test_authenticateAIDUserFailure() throws Exception { - System.out.println("Testing authenticateAIDUser bad password"); - assertFalse(CachingUtil.authenticateAIDUser(appName, userId, "pass", keyspaceName).isEmpty()); + public void test_isAAFApplcation() throws MusicServiceException { + System.out.println("Testing to see if cache gets correct isAAF info"); + CachingUtil cache = new CachingUtil(); + cache.initializeAafCache(); + assertEquals(isAAF, Boolean.valueOf(CachingUtil.isAAFApplication(appName))); } private static void createKeyspace() throws Exception { - // shouldn't really be doing this here, but create keyspace is currently turned off + //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.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));