Admin api tests w/ mocked authorization 05/79305/1
authorTschaen, Brendan <ctschaen@att.com>
Wed, 27 Feb 2019 21:44:36 +0000 (16:44 -0500)
committerTschaen, Brendan <ctschaen@att.com>
Wed, 27 Feb 2019 21:44:36 +0000 (16:44 -0500)
Change-Id: I2069a4c1e9e6985615fce77cfb2a255fc9e322f3
Issue-ID: MUSIC-341
Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
src/main/java/org/onap/music/rest/RestMusicAdminAPI.java
src/test/java/org/onap/music/unittests/MusicDataStoreTest.java
src/test/java/org/onap/music/unittests/TestRestMusicQAPI.java
src/test/java/org/onap/music/unittests/TestsUsingCassandra.java
src/test/java/org/onap/music/unittests/TstRestMusicAdminAPI.java

index 0bca1f9..26069eb 100755 (executable)
@@ -118,7 +118,7 @@ public class RestMusicAdminAPI {
                             ErrorSeverity.CRITICAL, ErrorTypes.AUTHENTICATIONERROR);
             resultMap.put("Exception",
                             "Unauthorized: Please check the request parameters. Some of the required values appName(ns), userId, password, isAAF are missing.");
-            return response.status(Status.UNAUTHORIZED).entity(resultMap).build();
+            return response.status(Status.BAD_REQUEST).entity(resultMap).build();
         }
 
         PreparedQueryObject pQuery = new PreparedQueryObject();
index ec17d17..6b7dc78 100644 (file)
@@ -67,7 +67,7 @@ public class MusicDataStoreTest {
         testObject = new PreparedQueryObject();
         testObject.appendQueryString(CassandraCQL.dropKeyspace);
         dataStore.executePut(testObject, "eventual");
-        dataStore.close();
+        //dataStore.close();
         //CachingUtil.resetStatementBank();
     }
 
index f44f717..c2666d2 100644 (file)
@@ -214,8 +214,8 @@ public class TestRestMusicQAPI {
         testObject = new PreparedQueryObject();
         testObject.appendQueryString("DROP KEYSPACE IF EXISTS admin");
         MusicCore.eventualPut(testObject);
-        if (MusicDataStoreHandle.mDstoreHandle!=null)
-            MusicDataStoreHandle.mDstoreHandle.close();
+        if (MusicDataStoreHandle.mDstoreHandle!=null) {}
+            //MusicDataStoreHandle.mDstoreHandle.close();
         if (zkServer!=null)
             zkServer.stop();
     }
index d2e898e..ef2867d 100644 (file)
@@ -24,7 +24,6 @@ package org.onap.music.unittests;
 
 import java.util.List;
 import java.util.UUID;
-
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.runner.RunWith;
@@ -108,6 +107,7 @@ public class TestsUsingCassandra {
                List<Row> rows = rs.all();
                if (rows.size() > 0) {
                        System.out.println("#######UUID is:" + rows.get(0).getUUID("uuid"));
+                       onboardUUID = rows.get(0).getUUID("uuid").toString();
                }
        }
 }
index 58d1d11..8eb677d 100644 (file)
@@ -1,16 +1,20 @@
 /*
- * ============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
+ * ============LICENSE_START==========================================
+ * org.onap.music
+ * ===================================================================
+ *  Copyright (c) 2019 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
+ *     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=============================================
  * ====================================================================
 package org.onap.music.unittests;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-
-import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
 
-import org.apache.curator.test.TestingServer;
+
+import org.junit.After;
 import org.junit.AfterClass;
+import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
 import org.junit.Ignore;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.mindrot.jbcrypt.BCrypt;
-import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
+import org.mockito.internal.util.reflection.FieldSetter;
 import org.onap.music.authentication.MusicAuthentication;
-import org.onap.music.conductor.conditionals.JsonConditional;
-import org.onap.music.conductor.conditionals.RestMusicConditionalAPI;
-import org.onap.music.datastore.MusicDataStoreHandle;
 import org.onap.music.datastore.PreparedQueryObject;
-import org.onap.music.datastore.jsonobjects.JsonDelete;
-import org.onap.music.datastore.jsonobjects.JsonInsert;
-import org.onap.music.datastore.jsonobjects.JsonKeySpace;
-import org.onap.music.datastore.jsonobjects.JsonLeasedLock;
 import org.onap.music.datastore.jsonobjects.JsonOnboard;
-import org.onap.music.datastore.jsonobjects.JsonTable;
 import org.onap.music.main.MusicCore;
-import org.onap.music.main.MusicUtil;
 import org.onap.music.rest.RestMusicAdminAPI;
-import org.onap.music.rest.RestMusicHealthCheckAPI;
-
-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;
 
 public class TstRestMusicAdminAPI {
 
     RestMusicAdminAPI admin = new RestMusicAdminAPI();
     static PreparedQueryObject testObject;
-
-    @Mock
-    HttpServletResponse http;
-
+    
     @Mock
-    UriInfo info;
+    MusicAuthentication authMock;
     
     static String appName = "TestApp";
     static String userId = "TestUser";
@@ -92,7 +67,7 @@ public class TstRestMusicAdminAPI {
     static String authorization = new String(Base64.encode(authData.getBytes()));
     static String wrongAuthorization = new String(Base64.encode(wrongAuthData.getBytes()));
     static String adminAuthorization = new String(Base64.encode(adminAuthData.getBytes()));
-    static String worngAdminAuthorization = new String(Base64.encode(wrongAdminAuthData.getBytes()));
+    static String wrongAdminAuthorization = new String(Base64.encode(wrongAdminAuthData.getBytes()));
     
     static boolean isAAF = false;
     static UUID uuid = UUID.fromString("abc66ccc-d857-4e90-b1e5-df98a3d40ce6");
@@ -100,7 +75,7 @@ public class TstRestMusicAdminAPI {
     static String tableName = "employees";
     static String tableNameConditional = "Conductor";
     static String xLatestVersion = "X-latestVersion";
-    static String onboardUUID = null;
+    static String onboardUUID = TestsUsingCassandra.onboardUUID;
     static String lockId = null;
     static String lockName = "testCassa.employees.sample3";
 
@@ -116,212 +91,359 @@ public class TstRestMusicAdminAPI {
                }
     }
 
+    @Before
+    public void beforeEach() throws NoSuchFieldException {
+        authenticateAdminTrue();
+    }
+    
+    @After
+    public void afterEach() {
+        testObject = new PreparedQueryObject();
+        testObject.appendQueryString("DELETE * FROM admin.keyspace_master;");
+        MusicCore.eventualPut(testObject);
+    }
+
     @AfterClass
     public static void tearDownAfterClass() throws Exception {
         testObject = new PreparedQueryObject();
         testObject.appendQueryString("DROP KEYSPACE IF EXISTS " + keyspaceName);
         MusicCore.eventualPut(testObject);
-    }    
-
-    @Ignore
-    @Test
-    public void test6_onboard() throws Exception {
-       System.out.println("Testing application onboarding");
-               
-       JsonOnboard jsonOnboard = new JsonOnboard();
-       jsonOnboard.setAppname("TestApp2");
-       jsonOnboard.setIsAAF("false"); jsonOnboard.setUserId("TestUser2");
-       jsonOnboard.setPassword("TestPassword2");
-
-       Response response = admin.onboardAppWithMusic(jsonOnboard,adminAuthorization);
-       System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-       /*resultMap.containsKey("success"); onboardUUID =
-                       resultMap.get("Generated AID").toString();
-       assertEquals("Your application TestApp2 has been onboarded with MUSIC.",
-                       resultMap.get("Success")); */
-       assertEquals(200, response.getStatus());
     }
     
     @Test
-    public void test6_onboardCantReachAAF() throws Exception {
-        System.out.println("Testing application onboarding without reaching aaf");        
+    public void test6_onboard() throws Exception {
+        System.out.println("Testing application onboarding");
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setAppname("TestApp2");
         jsonOnboard.setIsAAF("false"); jsonOnboard.setUserId("TestUser2");
         jsonOnboard.setPassword("TestPassword2");
 
         Response response = admin.onboardAppWithMusic(jsonOnboard,adminAuthorization);
+
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        assertEquals(200, response.getStatus());
+    }    
+    
+    @Test
+    public void test6_onboard_wrongCredentials() throws Exception {
+        System.out.println("Testing application onboarding wrong credentials");        
+        JsonOnboard jsonOnboard = new JsonOnboard();
+        jsonOnboard.setAppname("TestApp2");
+        jsonOnboard.setIsAAF("false"); jsonOnboard.setUserId("TestUser2");
+        jsonOnboard.setPassword("TestPassword2");
+
+        Response response = admin.onboardAppWithMusic(jsonOnboard,wrongAdminAuthorization);
         System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-        //TODO FIX when we can authenticate
         assertEquals(401, response.getStatus());
     }
 
-    @Ignore
        @Test
     public void test6_onboard_duplicate() throws Exception {
+           System.out.println("Testing a duplicate onboarding call");  
+           
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setAppname("TestApp2");
         jsonOnboard.setIsAAF("false");
         jsonOnboard.setUserId("TestUser2");
         jsonOnboard.setPassword("TestPassword2");
         Response response = admin.onboardAppWithMusic(jsonOnboard,adminAuthorization);
-        assertEquals(204, response.getStatus());
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        assertEquals(200, response.getStatus());
     }
 
     // Missing appname
-       @Ignore
     @Test
-    public void test6_onboard1() throws Exception {
+    public void test6_onboard_noAppName() throws Exception {
+        System.out.println("Testing onboard missing app name");
+
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setIsAAF("false");
         jsonOnboard.setUserId("TestUser2");
         jsonOnboard.setPassword("TestPassword2");
-        Map<String, Object> resultMap = (Map<String, Object>) admin.onboardAppWithMusic(jsonOnboard,adminAuthorization).getEntity();
-//        assertTrue(resultMap.containsKey("error"));
-        //System.out.println("--->" + resultMap.toString());
-        //assertEquals("Unauthorized: Please check the request parameters. Some of the required values appName(ns), userId, password, isAAF are missing.", resultMap.get("Exception"));
+        Response response = admin.onboardAppWithMusic(jsonOnboard,adminAuthorization);
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+
+        assertEquals(400, response.getStatus());
     }
 
 
+    @Test
+    public void test7_onboardSearch_notOnboarded() throws Exception {
+        System.out.println("Testing application onboarding search for app that isn't onboarded");
+        
+        JsonOnboard jsonOnboard = new JsonOnboard();
+        jsonOnboard.setAppname("TestApp2");
+        jsonOnboard.setIsAAF("false");
+        jsonOnboard.setAid(onboardUUID);
+        Response response = admin.getOnboardedInfoSearch(jsonOnboard,adminAuthorization);
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        //Application is not onboarded
+        assertEquals(400, response.getStatus());
+    }
+    
     @Test
     public void test7_onboardSearch() throws Exception {
-        System.out.println("Testing application onboarding search w/o reaching aaf");        
+        System.out.println("Testing application onboarding search no matching app");       
+        onboardApp();
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setAppname("TestApp2");
         jsonOnboard.setIsAAF("false");
         jsonOnboard.setAid(onboardUUID);
+        
         Response response = admin.getOnboardedInfoSearch(jsonOnboard,adminAuthorization);
         System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-        //TODO FIX when we can authenticate
+
+        assertEquals(200, response.getStatus());
+    }
+    
+    @Test
+    public void test7_onboardSearch_wrongCredentials() throws Exception {
+        System.out.println("Testing application onboarding search w/ wrong credentials");    
+        
+        JsonOnboard jsonOnboard = new JsonOnboard();
+        jsonOnboard.setAppname("TestApp2");
+        jsonOnboard.setIsAAF("false");
+        jsonOnboard.setAid(onboardUUID);
+        Response response = admin.getOnboardedInfoSearch(jsonOnboard,wrongAdminAuthorization);
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+
         assertEquals(401, response.getStatus());
     }
 
     // Missing appname
-    @Ignore
     @Test
-    public void test7_onboardSearch1() throws Exception {
+    public void test7_onboardSearch_noAppName() throws Exception {
+        System.out.println("Testing application onboarding search w/o appname");
+        onboardApp();
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setIsAAF("false");
         jsonOnboard.setAid(onboardUUID);
-        Map<String, Object> resultMap = (Map<String, Object>) admin.getOnboardedInfoSearch(jsonOnboard,adminAuthorization).getEntity();
-        System.out.println("--->" + resultMap.toString());
-        resultMap.containsKey("success");
-        assertEquals(null, resultMap.get(onboardUUID));
+        Response response = admin.getOnboardedInfoSearch(jsonOnboard,adminAuthorization);
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+
+        assertEquals(200, response.getStatus());
     }
     
-    @Ignore
     @Test
     public void test7_onboardSearch_empty() throws Exception {
+        System.out.println("Testing onboard search no app information");
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         Response response =  admin.getOnboardedInfoSearch(jsonOnboard,adminAuthorization);
-      //  assertEquals(400, response.getStatus());
-    }
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
 
-    @Ignore
-    @Test
-    public void test7_onboardSearch_invalidAid() throws Exception {
-        JsonOnboard jsonOnboard = new JsonOnboard();
-        jsonOnboard.setAppname("TestApp2");
-        jsonOnboard.setIsAAF("false");
-        jsonOnboard.setAid("abc66ccc-d857-4e90-b1e5-df98a3d40ce6");
-        Response response = admin.getOnboardedInfoSearch(jsonOnboard,adminAuthorization);
-       // assertEquals(400, response.getStatus());
+        assertEquals(400, response.getStatus());
     }
 
-    @Ignore
     @Test
     public void test8_onboardUpdate() throws Exception {
+        System.out.println("Testing application onboarding update");
+        onboardApp();
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setIsAAF("false");
         jsonOnboard.setUserId("TestUser3");
         jsonOnboard.setPassword("TestPassword3");
         jsonOnboard.setAid(onboardUUID);
-        Map<String, Object> resultMap = (Map<String, Object>) admin.updateOnboardApp(jsonOnboard,adminAuthorization).getEntity();
-        System.out.println("--->" + resultMap.toString());
-        resultMap.containsKey("success");
-        assertNotNull(resultMap);
+        Response response = admin.updateOnboardApp(jsonOnboard,adminAuthorization);
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+
+        assertEquals(200, response.getStatus());
     }
     
+    @Ignore //not working correctly
     @Test
-    public void test8_onboardUpdateNoAAF() throws Exception {
-        System.out.println("Testing update application onboarding search w/o reaching aaf");
+    public void test8_onboardUpdate_withAppName() throws Exception {
+        System.out.println("Testing application onboarding update w appname");
+        onboardApp();
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setIsAAF("false");
         jsonOnboard.setUserId("TestUser3");
         jsonOnboard.setPassword("TestPassword3");
+        jsonOnboard.setAppname("TestApp2");
         jsonOnboard.setAid(onboardUUID);
         Response response = admin.updateOnboardApp(jsonOnboard,adminAuthorization);
-        
         System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-        assertEquals(401, response.getStatus());
-    }
 
-    // Aid null
-    @Ignore
+        assertEquals(200, response.getStatus());
+    }
+    
     @Test
-    public void test8_onboardUpdate1() throws Exception {
+    public void test8_onboardUpdate_noUUID() throws Exception {
+        System.out.println("Testing application onboarding update null uuid");
+        onboardApp();
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setIsAAF("false");
         jsonOnboard.setUserId("TestUser3");
         jsonOnboard.setPassword("TestPassword3");
-        Map<String, Object> resultMap = (Map<String, Object>) admin.updateOnboardApp(jsonOnboard,adminAuthorization).getEntity();
-        System.out.println("--->" + resultMap.toString());
-        assertNotNull(resultMap);
-    }
+        jsonOnboard.setAid(null);
+        Response response = admin.updateOnboardApp(jsonOnboard,adminAuthorization);
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
 
-    // Appname not null
-    @Ignore
+        assertEquals(400, response.getStatus());
+    }
+    
     @Test
-    public void test8_onboardUpdate2() throws Exception {
+    public void test8_onboardUpdate_wrongCredentialsNoAAF() throws Exception {
+        System.out.println("Testing update application onboarding search w/ wrong credentials");
         JsonOnboard jsonOnboard = new JsonOnboard();
-        jsonOnboard.setAppname("TestApp2");
         jsonOnboard.setIsAAF("false");
         jsonOnboard.setUserId("TestUser3");
         jsonOnboard.setPassword("TestPassword3");
         jsonOnboard.setAid(onboardUUID);
-        Map<String, Object> resultMap = (Map<String, Object>) admin.updateOnboardApp(jsonOnboard,adminAuthorization).getEntity();
-        assertNotNull(resultMap);
+        Response response = admin.updateOnboardApp(jsonOnboard,wrongAdminAuthorization);
+        
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        assertEquals(401, response.getStatus());
     }
 
     // All null
-    @Ignore
     @Test
-    public void test8_onboardUpdate3() throws Exception {
+    public void test8_onboardUpdate_noAppInfo() throws Exception {
+        System.out.println("Testing update application onboarding update no app information");
+        onboardApp();
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setAid(onboardUUID);
-        Map<String, Object> resultMap = (Map<String, Object>) admin.updateOnboardApp(jsonOnboard,adminAuthorization).getEntity();
-        assertNotNull(resultMap);
+        Response response = admin.updateOnboardApp(jsonOnboard,adminAuthorization);
+        
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        assertEquals(400, response.getStatus());
     }
 
-    @Ignore
     @Test
     public void test9_onboardDelete() throws Exception {
+        System.out.println("Testing update application onboarding delete");
+        onboardApp();
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setAppname("TestApp2");
         jsonOnboard.setAid(onboardUUID);
-        Map<String, Object> resultMap = (Map<String, Object>) admin.deleteOnboardApp(jsonOnboard,adminAuthorization).getEntity();
-        resultMap.containsKey("success");
-        assertNotNull(resultMap);
+        Response response = admin.deleteOnboardApp(jsonOnboard,adminAuthorization);
+        
+        //only 1 app matches keyspace
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        assertEquals(200, response.getStatus());
     }
     
+    @Ignore //not working as expected
     @Test
-    public void test9_onboardDeleteNoAAF() throws Exception {
-        System.out.println("Testing onboard delete without aaf");
+    public void test9_onboardDelete_noAID() throws Exception {
+        System.out.println("Testing update application onboarding delete no AID");
+        onboardApp();
+        
         JsonOnboard jsonOnboard = new JsonOnboard();
         jsonOnboard.setAppname("TestApp2");
-        jsonOnboard.setAid(onboardUUID);
+        jsonOnboard.setAid(null);
+        Response response = admin.deleteOnboardApp(jsonOnboard,adminAuthorization);
+        
+        //only 1 app matches name
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        assertEquals(200, response.getStatus());
+    }
+    
+    @Test
+    public void test9_onboardDelete_noAIDManyMatch() throws Exception {
+        System.out.println("Testing update application onboarding delete no AID many apps in namespace");
+        onboardApp();
+        onboardApp();
+        
+        JsonOnboard jsonOnboard = new JsonOnboard();
+        jsonOnboard.setAppname("TestApp2");
+        jsonOnboard.setAid(null);
+        Response response = admin.deleteOnboardApp(jsonOnboard,adminAuthorization);
+        
+        //multiple apps matches name
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        assertEquals(400, response.getStatus());
+    }
+    
+    @Test
+    public void test9_onboardDelete_noAID_noApp() throws Exception {
+        System.out.println("Testing update application onboarding delete no AID, app not onboarded");
+        
+        JsonOnboard jsonOnboard = new JsonOnboard();
+        jsonOnboard.setAppname("TestApp2");
+        jsonOnboard.setAid(null);
         Response response = admin.deleteOnboardApp(jsonOnboard,adminAuthorization);
         
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        assertEquals(400, response.getStatus());
+    }
+    
+    @Test
+    public void test9_onboardDelete_noAppToDelete() throws Exception {
+        System.out.println("Testing update application onboarding delete no app information");
+        onboardApp();
+        
+        JsonOnboard jsonOnboard = new JsonOnboard();
+        jsonOnboard.setAppname(null);
+        jsonOnboard.setAid(null);
+        Response response = admin.deleteOnboardApp(jsonOnboard,adminAuthorization);
+        
+        //only 1 app matches keyspace
+        System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+        assertEquals(400, response.getStatus());
+    }
+    
+    @Test
+    public void test9_onboardDelete_wrongCredentials() throws Exception {
+        System.out.println("Testing onboard delete with wrong credentials");
+        JsonOnboard jsonOnboard = new JsonOnboard();
+        jsonOnboard.setAppname("TestApp2");
+        jsonOnboard.setAid(onboardUUID);
+        Response response = admin.deleteOnboardApp(jsonOnboard,wrongAdminAuthorization);
+        
         System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
         assertEquals(401, response.getStatus());
     }
-
-    @Ignore
+    
+    @Test
+    public void test10_delete() throws Exception {
+        System.out.println("Testing GUI delete call");
+        onboardApp();
+        
+        assertTrue(admin.delete(adminAuthorization, onboardUUID));
+    }
+    
     @Test
-    public void test9_onboardDelete1() throws Exception {
+    public void test11_getAll() {
+        System.out.println("Testing GUI getall call");
+        
+        System.out.println("admin.getall(adminAuthorization)");
+    }
+    
+    /**
+     * Inject our mocked class and accept admin credentials
+     * @throws NoSuchFieldException
+     */
+    public void authenticateAdminTrue() throws NoSuchFieldException {
+        authMock = Mockito.mock(MusicAuthentication.class);
+        FieldSetter.setField(admin, admin.getClass().getDeclaredField("authenticator"), authMock);
+        
+        Mockito.when(authMock.authenticateAdmin(Mockito.matches(adminAuthorization))).thenReturn(true);
+    }
+    
+    /**
+     * onboard the application and store generate uuid into {@link onboardUUID}
+     * @param onboard
+     * @throws Exception
+     */
+    public void onboardApp() throws Exception {
         JsonOnboard jsonOnboard = new JsonOnboard();
-        Map<String, Object> resultMap = (Map<String, Object>) admin.deleteOnboardApp(jsonOnboard,adminAuthorization).getEntity();
-        assertNotNull(resultMap);
+        jsonOnboard.setAppname("TestApp2");
+        jsonOnboard.setIsAAF("false");
+        jsonOnboard.setUserId("TestUser2");
+        jsonOnboard.setPassword("TestPassword2");
+
+        Response response = admin.onboardAppWithMusic(jsonOnboard,adminAuthorization);
+        Map<String, String> respMap = (Map<String, String>) response.getEntity();
+        onboardUUID = respMap.get("Generated AID");
     }
    
 }
\ No newline at end of file