From 24accb9cb8000591cc22a5d98d2c079b8084b123 Mon Sep 17 00:00:00 2001 From: "Tschaen, Brendan" Date: Wed, 27 Feb 2019 16:44:36 -0500 Subject: Admin api tests w/ mocked authorization Change-Id: I2069a4c1e9e6985615fce77cfb2a255fc9e322f3 Issue-ID: MUSIC-341 Signed-off-by: Tschaen, Brendan --- .../org/onap/music/rest/RestMusicAdminAPI.java | 2 +- .../onap/music/unittests/MusicDataStoreTest.java | 2 +- .../onap/music/unittests/TestRestMusicQAPI.java | 4 +- .../onap/music/unittests/TestsUsingCassandra.java | 2 +- .../onap/music/unittests/TstRestMusicAdminAPI.java | 394 ++++++++++++++------- 5 files changed, 263 insertions(+), 141 deletions(-) diff --git a/src/main/java/org/onap/music/rest/RestMusicAdminAPI.java b/src/main/java/org/onap/music/rest/RestMusicAdminAPI.java index 0bca1f99..26069ebe 100755 --- a/src/main/java/org/onap/music/rest/RestMusicAdminAPI.java +++ b/src/main/java/org/onap/music/rest/RestMusicAdminAPI.java @@ -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(); diff --git a/src/test/java/org/onap/music/unittests/MusicDataStoreTest.java b/src/test/java/org/onap/music/unittests/MusicDataStoreTest.java index ec17d17d..6b7dc781 100644 --- a/src/test/java/org/onap/music/unittests/MusicDataStoreTest.java +++ b/src/test/java/org/onap/music/unittests/MusicDataStoreTest.java @@ -67,7 +67,7 @@ public class MusicDataStoreTest { testObject = new PreparedQueryObject(); testObject.appendQueryString(CassandraCQL.dropKeyspace); dataStore.executePut(testObject, "eventual"); - dataStore.close(); + //dataStore.close(); //CachingUtil.resetStatementBank(); } diff --git a/src/test/java/org/onap/music/unittests/TestRestMusicQAPI.java b/src/test/java/org/onap/music/unittests/TestRestMusicQAPI.java index f44f7171..c2666d22 100644 --- a/src/test/java/org/onap/music/unittests/TestRestMusicQAPI.java +++ b/src/test/java/org/onap/music/unittests/TestRestMusicQAPI.java @@ -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(); } diff --git a/src/test/java/org/onap/music/unittests/TestsUsingCassandra.java b/src/test/java/org/onap/music/unittests/TestsUsingCassandra.java index d2e898e1..ef2867d8 100644 --- a/src/test/java/org/onap/music/unittests/TestsUsingCassandra.java +++ b/src/test/java/org/onap/music/unittests/TestsUsingCassandra.java @@ -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 rows = rs.all(); if (rows.size() > 0) { System.out.println("#######UUID is:" + rows.get(0).getUUID("uuid")); + onboardUUID = rows.get(0).getUUID("uuid").toString(); } } } diff --git a/src/test/java/org/onap/music/unittests/TstRestMusicAdminAPI.java b/src/test/java/org/onap/music/unittests/TstRestMusicAdminAPI.java index 58d1d11b..8eb677de 100644 --- a/src/test/java/org/onap/music/unittests/TstRestMusicAdminAPI.java +++ b/src/test/java/org/onap/music/unittests/TstRestMusicAdminAPI.java @@ -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============================================= * ==================================================================== @@ -19,66 +23,37 @@ 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 resultMap = (Map) 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 resultMap = (Map) 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 resultMap = (Map) 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 resultMap = (Map) 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 resultMap = (Map) 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 resultMap = (Map) 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 resultMap = (Map) 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 resultMap = (Map) 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 respMap = (Map) response.getEntity(); + onboardUUID = respMap.get("Generated AID"); } } \ No newline at end of file -- cgit 1.2.3-korg