aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/music/unittests/TstCachingUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/onap/music/unittests/TstCachingUtil.java')
-rw-r--r--src/test/java/org/onap/music/unittests/TstCachingUtil.java141
1 files changed, 141 insertions, 0 deletions
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);
+ }
+
+}