diff options
author | 2022-12-19 23:27:29 +0000 | |
---|---|---|
committer | 2022-12-19 23:28:57 +0000 | |
commit | faf64da8b0307b6c0afa6637617f61c7c48bb8e2 (patch) | |
tree | d12516c106a77f06befab0d67adde2b04d1a187b /datarouter-prov/src/test/java/org/onap | |
parent | bda6aeaa60607ab4fe5af508156019d7bd5c0ce4 (diff) |
[DMAAP-DR-PROV] Remove aaf & cadi
Signed-off-by: efiacor <fiachra.corcoran@est.tech>
Change-Id: I610251e4b148620a6d44004efbe933e7acede26d
Issue-ID: DMAAP-1573
Diffstat (limited to 'datarouter-prov/src/test/java/org/onap')
10 files changed, 158 insertions, 473 deletions
diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java index 84244dc3..fa228914 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java @@ -257,24 +257,4 @@ public class BaseServletTest extends DrServletTestBase { assertNotEquals(hashed_sub_pass.getJSONObject("delivery").get("password").toString(), "PASSWORD"); } - - @Test - public void Given_BaseServlet_Verify_Cadi_Feed_Permission() { - assertEquals("org.onap.dmaap-dr.feed|legacy|publish", baseServlet.getFeedPermission("legacy", "publish")); - assertEquals("org.onap.dmaap-dr.feed|legacy|suspend", baseServlet.getFeedPermission("legacy", "suspend")); - assertEquals("org.onap.dmaap-dr.feed|legacy|restore", baseServlet.getFeedPermission("legacy", "restore")); - assertEquals("org.onap.dmaap-dr.feed|org.onap.dmaap-dr.NoInstanceDefined|restore", baseServlet.getFeedPermission(null, "restore")); - assertEquals("org.onap.dmaap-dr.feed|legacy|*", baseServlet.getFeedPermission("legacy", "default")); - } - - @Test - public void Given_BaseServlet_Verify_Cadi_Sub_Permission() { - assertEquals("org.onap.dmaap-dr.feed|legacy|subscribe", baseServlet.getSubscriberPermission("legacy", "subscribe")); - assertEquals("org.onap.dmaap-dr.sub|legacy|suspend", baseServlet.getSubscriberPermission("legacy", "suspend")); - assertEquals("org.onap.dmaap-dr.sub|legacy|restore", baseServlet.getSubscriberPermission("legacy", "restore")); - assertEquals("org.onap.dmaap-dr.sub|legacy|publish", baseServlet.getSubscriberPermission("legacy", "publish")); - assertEquals("org.onap.dmaap-dr.sub|org.onap.dmaap-dr.NoInstanceDefined|restore", baseServlet.getSubscriberPermission(null, "restore")); - assertEquals("org.onap.dmaap-dr.sub|legacy|*", baseServlet.getSubscriberPermission("legacy", "default")); - } - } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java index 9993334e..dca7523b 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java @@ -220,114 +220,6 @@ public class DRFeedsServletTest extends DrServletTestBase { } @Test - public void Given_Request_Is_HTTP_POST_And_CadiEnabled_Is_True_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() - throws Exception { - setAuthoriserToReturnRequestNotAuthorized(); - FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isCadiEnabled", "true", true); - when(request.getHeader(DRFeedsServlet.EXCLUDE_AAF_HEADER)).thenReturn("true"); - JSONObject JSObject = buildRequestJsonObject(); - DRFeedsServlet drfeedsServlet = new DRFeedsServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "not_stub_name"); - jo.put("version", "1.0"); - jo.put("authorization", JSObject); - jo.put("aaf_instance", "legacy"); - return jo; - } - }; - drfeedsServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString()); - } - - @Test - public void Given_Request_Is_HTTP_POST_And_CadiEnabled_Is_False_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() - throws Exception { - setAuthoriserToReturnRequestNotAuthorized(); - FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isCadiEnabled", "false", true); - when(request.getHeader(DRFeedsServlet.EXCLUDE_AAF_HEADER)).thenReturn("true"); - JSONObject JSObject = buildRequestJsonObject(); - DRFeedsServlet drfeedsServlet = new DRFeedsServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "not_stub_name"); - jo.put("version", "1.0"); - jo.put("authorization", JSObject); - jo.put("aaf_instance", "legacy"); - return jo; - } - }; - drfeedsServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString()); - } - - @Test - public void Given_Request_Is_HTTP_POST_And_AAF_DRFeed_And_Exclude_AAF_Is_True_Then_Forbidden_Response_Is_Generated() throws Exception { - when(request.getHeader(DRFeedsServlet.EXCLUDE_AAF_HEADER)).thenReturn("true"); - FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isCadiEnabled", "true", true); - JSONObject JSObject = buildRequestJsonObject(); - DRFeedsServlet drfeedsServlet = new DRFeedsServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "not_stub_name"); - jo.put("version", "1.0"); - jo.put("authorization", JSObject); - jo.put("aaf_instance", "https://aaf-onap-test.osaaf.org:8095"); - return jo; - } - }; - drfeedsServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("Invalid request exclude_AAF")); - } - - @Test - public void Given_Request_Is_HTTP_POST_And_AAF_DRFeed_And_Exclude_AAF_Is_False_Without_Permissions_Then_Forbidden_Response_Is_Generated() throws Exception { - when(request.getHeader(DRFeedsServlet.EXCLUDE_AAF_HEADER)).thenReturn("false"); - FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isCadiEnabled", "true", true); - JSONObject JSObject = buildRequestJsonObject(); - DRFeedsServlet drfeedsServlet = new DRFeedsServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "not_stub_name"); - jo.put("version", "1.0"); - jo.put("authorization", JSObject); - jo.put("aaf_instance", "*"); - return jo; - } - }; - drfeedsServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("AAF disallows access to permission")); - } - - @Test - public void Given_Request_Is_HTTP_POST_And_AAF_DRFeed_And_Exclude_AAF_Is_False_With_Permissions_Then_Created_OK_Response_Is_Generated() throws Exception { - FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isCadiEnabled", "true", true); - ServletOutputStream outStream = mock(ServletOutputStream.class); - when(response.getOutputStream()).thenReturn(outStream); - when(request.getHeader(DRFeedsServlet.EXCLUDE_AAF_HEADER)).thenReturn("false"); - JSONObject JSObject = buildRequestJsonObject(); - when(request.isUserInRole("org.onap.dmaap-dr.feed|*|create")).thenReturn(true); - DRFeedsServlet drfeedsServlet = new DRFeedsServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "not_stub_name"); - jo.put("version", "1.0"); - jo.put("authorization", JSObject); - jo.put("aaf_instance", "*"); - return jo; - } - - @Override - protected boolean doInsert(Insertable bean) { - return true; - } - }; - drfeedsServlet.doPost(request, response); - verify(response).setStatus(eq(HttpServletResponse.SC_CREATED)); - verifyEnteringExitCalled(listAppender); - } - - @Test public void Given_Request_Is_HTTP_POST_And_Request_Contains_Badly_Formed_JSON_Then_Bad_Request_Response_Is_Generated() throws Exception { drfeedsServlet.doPost(request, response); @@ -363,18 +255,15 @@ public class DRFeedsServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_POST_And_Feed_Already_Exists_Bad_Request_Response_Is_Generated() throws Exception { - when(request.getParameter("name")).thenReturn("AafFeed"); + when(request.getParameter("name")).thenReturn("Feed1"); when(request.getParameter("version")).thenReturn("v0.1"); - when(request.getHeader(DRFeedsServlet.EXCLUDE_AAF_HEADER)).thenReturn("false"); - when(request.isUserInRole("org.onap.dmaap-dr.feed|*|create")).thenReturn(true); JSONObject JSObject = buildRequestJsonObject(); DRFeedsServlet drfeedsServlet = new DRFeedsServlet() { public JSONObject getJSONfromInput(HttpServletRequest req) { JSONObject jo = new JSONObject(); - jo.put("name", "AafFeed"); + jo.put("name", "Feed1"); jo.put("version", "v0.1"); jo.put("authorization", JSObject); - jo.put("aaf_instance", "*"); return jo; } }; @@ -385,14 +274,12 @@ public class DRFeedsServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_POST_And_POST_Fails_Bad_Request_Response_Is_Generated() throws Exception { JSONObject JSObject = buildRequestJsonObject(); - when(request.getHeader(DRFeedsServlet.EXCLUDE_AAF_HEADER)).thenReturn("true"); DRFeedsServlet drfeedsServlet = new DRFeedsServlet() { public JSONObject getJSONfromInput(HttpServletRequest req) { JSONObject jo = new JSONObject(); jo.put("name", "stub_name"); jo.put("version", "2.0"); jo.put("authorization", JSObject); - jo.put("aaf_instance", "legacy"); return jo; } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java index 066b51fc..656876fc 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java @@ -34,6 +34,8 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.read.ListAppender; import jakarta.servlet.ServletInputStream; import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.sql.Connection; import java.sql.SQLException; import java.util.HashSet; @@ -41,8 +43,6 @@ import java.util.Set; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.lang3.reflect.FieldUtils; import org.jetbrains.annotations.NotNull; import org.json.JSONArray; @@ -138,27 +138,12 @@ public class FeedServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_DELETE_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception { setAuthoriserToReturnRequestNotAuthorized(); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", true, true); feedServlet.doDelete(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString()); } @Test - public void Given_Request_Is_HTTP_DELETE_And_AAF_Feed_Without_Permissions_Then_Forbidden_Response_Is_Generated() throws Exception { - when(request.getPathInfo()).thenReturn("/2"); - feedServlet.doDelete(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("AAF disallows access to permission")); - } - - @Test - public void Given_Request_Is_HTTP_DELETE_And_AAF_Feed_With_Permissions_Then_A_NO_CONTENT_Response_Is_Generated() { - when(request.getPathInfo()).thenReturn("/3"); - when(request.isUserInRole("org.onap.dmaap-dr.feed|*|delete")).thenReturn(true); - feedServlet.doDelete(request, response); - verify(response).setStatus(eq(HttpServletResponse.SC_NO_CONTENT)); - verifyEnteringExitCalled(listAppender); - } - - @Test public void Given_Request_Is_HTTP_DELETE_And_Delete_On_Database_Fails_An_Internal_Server_Error_Is_Reported() throws Exception { FeedServlet feedServlet = new FeedServlet() { @@ -343,7 +328,7 @@ public class FeedServletTest extends DrServletTestBase { FeedServlet feedServlet = new FeedServlet() { public JSONObject getJSONfromInput(HttpServletRequest req) { JSONObject jo = new JSONObject(); - jo.put("name", "AafFeed"); + jo.put("name", "Feed22"); jo.put("version", "v0.2"); jo.put("authorization", JSObject); return jo; @@ -356,64 +341,20 @@ public class FeedServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_PUT_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception { setAuthoriserToReturnRequestNotAuthorized(); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", true, true); when(request.getPathInfo()).thenReturn("/2"); JSONObject JSObject = buildRequestJsonObject(); FeedServlet feedServlet = new FeedServlet() { public JSONObject getJSONfromInput(HttpServletRequest req) { JSONObject jo = new JSONObject(); - jo.put("name", "AafFeed"); - jo.put("version", "v0.1"); - jo.put("authorization", JSObject); - return jo; - } - }; - feedServlet.doPut(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("Policy Engine disallows access")); - } - - @Test - public void Given_Request_Is_HTTP_PUT_And_AAF_Feed_Without_Permissions_Then_Forbidden_Response_Is_Generated() throws Exception { - when(request.getPathInfo()).thenReturn("/2"); - JSONObject JSObject = buildRequestJsonObject(); - FeedServlet feedServlet = new FeedServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "AafFeed"); - jo.put("version", "v0.1"); - jo.put("authorization", JSObject); - jo.put("aaf_instance", "https://aaf-onap-test.osaaf.org:8095"); - return jo; - } - }; - feedServlet.doPut(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("AAF disallows access to permission")); - } - - @Test - public void Given_Request_Is_HTTP_PUT_And_AAF_Feed_With_Permissions_Then_STATUS_OK__Response_Is_Generated() throws Exception { - ServletOutputStream outStream = mock(ServletOutputStream.class); - when(response.getOutputStream()).thenReturn(outStream); - when(request.getPathInfo()).thenReturn("/2"); - when(request.isUserInRole("org.onap.dmaap-dr.feed|*|edit")).thenReturn(true); - JSONObject JSObject = buildRequestJsonObject(); - FeedServlet feedServlet = new FeedServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "AafFeed"); + jo.put("name", "Feed22"); jo.put("version", "v0.1"); jo.put("authorization", JSObject); - jo.put("aaf_instance", "*"); return jo; } - @Override - protected boolean doUpdate(Updateable bean) { - return true; - } - }; feedServlet.doPut(request, response); - verify(response).setStatus(eq(HttpServletResponse.SC_OK)); - verifyEnteringExitCalled(listAppender); + verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("Client certificate is missing.")); } @Test @@ -425,7 +366,7 @@ public class FeedServletTest extends DrServletTestBase { FeedServlet feedServlet = new FeedServlet() { public JSONObject getJSONfromInput(HttpServletRequest req) { JSONObject jo = new JSONObject(); - jo.put("name", "AafFeed"); + jo.put("name", "Feed22"); jo.put("version", "v0.1"); jo.put("authorization", JSObject); return jo; @@ -449,7 +390,7 @@ public class FeedServletTest extends DrServletTestBase { FeedServlet feedServlet = new FeedServlet() { public JSONObject getJSONfromInput(HttpServletRequest req) { JSONObject jo = new JSONObject(); - jo.put("name", "AafFeed"); + jo.put("name", "Feed22"); jo.put("version", "v0.1"); jo.put("authorization", JSObject); return jo; diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/ProvServerTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/ProvServerTest.java index a915fa84..1528a563 100644 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/ProvServerTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/ProvServerTest.java @@ -20,38 +20,28 @@ package org.onap.dmaap.datarouter.provisioning; -import java.io.File; -import java.io.IOException; import org.apache.commons.lang3.reflect.FieldUtils; import org.junit.Assert; -import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import org.onap.dmaap.datarouter.provisioning.utils.AafPropsUtils; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PowerMockIgnore; +import org.powermock.modules.junit4.PowerMockRunner; +@RunWith(PowerMockRunner.class) +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "org.w3c.*"}) public class ProvServerTest { - private AafPropsUtils aafPropsUtils; - - @Before - public void setUp() { - try { - aafPropsUtils = new AafPropsUtils(new File("src/test/resources/aaf/org.onap.dmaap-dr.props")); - } catch (IOException e) { - e.printStackTrace(); - } - } - @BeforeClass public static void init() { System.setProperty( "org.onap.dmaap.datarouter.provserver.properties", - "src/test/resources/h2DatabaseTlsDisabled.properties"); + "src/test/resources/h2Database.properties"); } @Test public void Verify_Prov_Server_Is_Configured_Correctly() throws IllegalAccessException { - FieldUtils.writeDeclaredStaticField(ProvRunner.class, "aafPropsUtils", aafPropsUtils, true); + FieldUtils.writeDeclaredStaticField(ProvRunner.class, "tlsEnabled", false, true); Assert.assertNotNull(ProvServer.getServerInstance()); } } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscribeServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscribeServletTest.java index bf2371f8..41d5b1db 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscribeServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscribeServletTest.java @@ -188,10 +188,10 @@ public class SubscribeServletTest extends DrServletTestBase { } @Test - public void Given_Request_Is_HTTP_POST_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception { - setAuthoriserToReturnRequestNotAuthorized(); + public void Given_Request_Is_HTTP_POST_And_Password_Is_Too_Long_Then_Bad_Request_Response_Is_Generated() throws Exception { when(request.getPathInfo()).thenReturn("/1"); JSONObject JSObject = buildRequestJsonObject(); + JSObject.put("password", "aervaervaervgaervaestbnswtrnsrnsrdtnsrtnsrtnydstyndtrynsrnsrtnsrtnsrtnswtrnswtrn"); SubscribeServlet subscribeServlet = new SubscribeServlet() { public JSONObject getJSONfromInput(HttpServletRequest req) { JSONObject jo = new JSONObject(); @@ -203,115 +203,10 @@ public class SubscribeServletTest extends DrServletTestBase { jo.put("sync", false); return jo; } - @Override - protected boolean doInsert(Insertable bean) { - return false; - } - }; - subscribeServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString()); - } - - @Test - public void Given_Request_Is_HTTP_POST_And_AAF_Subscriber_Added_To_Legacy_Feed_Then_Forbidden_Response_Is_Generated() throws Exception { - when(request.getPathInfo()).thenReturn("/1"); - JSONObject JSObject = buildRequestJsonObject(); - SubscribeServlet subscribeServlet = new SubscribeServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "stub_name"); - jo.put("version", "2.0"); - jo.put("metadataOnly", true); - jo.put("suspend", true); - jo.put("delivery", JSObject); - jo.put("aaf_instance", "*"); - jo.put("follow_redirect", false); - jo.put("sync", false); - return jo; - } - @Override - protected boolean doInsert(Insertable bean) { - return false; - } - }; - subscribeServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("AAF Subscriber can not be added to legacy Feed")); - } - - @Test - public void Given_Request_Is_HTTP_POST_And_Legacy_Subscriber_Added_To_AAF_Feed_And_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception { - setAuthoriserToReturnRequestNotAuthorized(); - when(request.getPathInfo()).thenReturn("/2"); - JSONObject JSObject = buildRequestJsonObject(); - SubscribeServlet subscribeServlet = new SubscribeServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "stub_name"); - jo.put("version", "2.0"); - jo.put("metadataOnly", true); - jo.put("suspend", true); - jo.put("delivery", JSObject); - jo.put("aaf_instance", "legacy"); - jo.put("follow_redirect", false); - jo.put("sync", false); - return jo; - } - }; - subscribeServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("Policy Engine disallows access.")); - } - @Test - public void Given_Request_Is_HTTP_POST_And_AAF_Subscriber_Added_To_AAF_Feed_Without_Permissions_Then_Forbidden_Response_Is_Generated() throws Exception { - when(request.getPathInfo()).thenReturn("/2"); - JSONObject JSObject = buildRequestJsonObject(); - SubscribeServlet subscribeServlet = new SubscribeServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "stub_name"); - jo.put("version", "2.0"); - jo.put("metadataOnly", true); - jo.put("suspend", true); - jo.put("delivery", JSObject); - jo.put("aaf_instance", "*"); - jo.put("follow_redirect", false); - jo.put("sync", false); - return jo; - } }; subscribeServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("AAF disallows access to permission")); - } - - @Test - public void Given_Request_Is_HTTP_POST_And_AAF_Subscriber_Added_To_AAF_Feed_With_Permissions_Then_OK_Response_Is_Generated() throws Exception { - ServletOutputStream outStream = mock(ServletOutputStream.class); - when(response.getOutputStream()).thenReturn(outStream); - when(request.getPathInfo()).thenReturn("/2"); - when(request.isUserInRole("org.onap.dmaap-dr.feed|*|approveSub")).thenReturn(true); - JSONObject JSObject = buildRequestJsonObject(); - SubscribeServlet subscribeServlet = new SubscribeServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "stub_name"); - jo.put("version", "2.0"); - jo.put("metadataOnly", true); - jo.put("suspend", true); - jo.put("delivery", JSObject); - jo.put("aaf_instance", "*"); - jo.put("follow_redirect", false); - jo.put("sync", false); - return jo; - } - - @Override - protected boolean doInsert(Insertable bean) { - return true; - } - }; - subscribeServlet.doPost(request, response); - verify(response).setStatus(eq(HttpServletResponse.SC_CREATED)); - verifyEnteringExitCalled(listAppender); + verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), anyString()); } @Test @@ -345,7 +240,7 @@ public class SubscribeServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_POST_And_POST_Fails_Bad_Request_Response_Is_Generated() throws Exception { - when(request.getPathInfo()).thenReturn("/2"); + when(request.getPathInfo()).thenReturn("/1"); JSONObject JSObject = buildRequestJsonObject(); SubscribeServlet subscribeServlet = new SubscribeServlet() { public JSONObject getJSONfromInput(HttpServletRequest req) { @@ -355,7 +250,6 @@ public class SubscribeServletTest extends DrServletTestBase { jo.put("metadataOnly", true); jo.put("suspend", true); jo.put("delivery", JSObject); - jo.put("aaf_instance", "legacy"); jo.put("follow_redirect", false); jo.put("sync", false); return jo; diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java index d5badd34..f428e1eb 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java @@ -88,7 +88,7 @@ public class SubscriptionServletTest extends DrServletTestBase { em = emf.createEntityManager(); System.setProperty( "org.onap.dmaap.datarouter.provserver.properties", - "src/test/resources/h2DatabaseTlsDisabled.properties"); + "src/test/resources/h2Database.properties"); } @AfterClass @@ -140,6 +140,7 @@ public class SubscriptionServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_DELETE_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception { setAuthoriserToReturnRequestNotAuthorized(); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", true, true); subscriptionServlet.doDelete(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString()); } @@ -156,17 +157,6 @@ public class SubscriptionServletTest extends DrServletTestBase { } @Test - public void Given_Request_Is_HTTP_DELETE_And_AAF_CADI_Is_Enabled_With_Permissions_Then_A_NO_CONTENT_Response_Is_Generated() throws Exception { - when(request.getHeader("Content-Type")).thenReturn("application/vnd.dmaap-dr.subscription; version=1.0"); - when(request.getPathInfo()).thenReturn("/2"); - when(request.isUserInRole("org.onap.dmaap-dr.sub|*|delete")).thenReturn(true); - subscriptionServlet.doDelete(request, response); - verify(response).setStatus(eq(HttpServletResponse.SC_NO_CONTENT)); - verifyEnteringExitCalled(listAppender); - resetAafSubscriptionInDB(); - } - - @Test public void Given_Request_Is_HTTP_GET_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); subscriptionServlet.doGet(request, response); @@ -244,6 +234,7 @@ public class SubscriptionServletTest extends DrServletTestBase { public void Given_Request_Is_HTTP_PUT_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception { setAuthoriserToReturnRequestNotAuthorized(); when(request.getHeader("Content-Type")).thenReturn("application/vnd.dmaap-dr.subscription; version=1.0"); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", true, true); JSONObject JSObject = buildRequestJsonObject(); SubscriptionServlet subscriptionServlet = new SubscriptionServlet() { public JSONObject getJSONfromInput(HttpServletRequest req) { @@ -253,7 +244,6 @@ public class SubscriptionServletTest extends DrServletTestBase { jo.put("metadataOnly", true); jo.put("suspend", true); jo.put("delivery", JSObject); - jo.put("aaf_instance", "legacy"); jo.put("follow_redirect", false); jo.put("decompress", true); jo.put("sync", true); @@ -266,60 +256,6 @@ public class SubscriptionServletTest extends DrServletTestBase { } @Test - public void Given_Request_Is_HTTP_PUT_And_AAF_CADI_Is_Enabled_Without_Permissions_Then_Forbidden_Response_Is_Generated() throws Exception { - when(request.getHeader("Content-Type")).thenReturn("application/vnd.dmaap-dr.subscription; version=1.0"); - when(request.getPathInfo()).thenReturn("/3"); - JSONObject JSObject = buildRequestJsonObject(); - SubscriptionServlet subscriptionServlet = new SubscriptionServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "stub_name"); - jo.put("version", "2.0"); - jo.put("metadataOnly", true); - jo.put("suspend", true); - jo.put("delivery", JSObject); - jo.put("aaf_instance", "*"); - jo.put("follow_redirect", false); - jo.put("sync", true); - jo.put("changeowner", true); - return jo; - } - }; - subscriptionServlet.doPut(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), contains("AAF disallows access")); - } - - @Test - public void Given_Request_Is_HTTP_PUT_And_AAF_CADI_Is_Enabled_With_Permissions_Then_OK_Response_Is_Generated() throws Exception { - ServletOutputStream outStream = mock(ServletOutputStream.class); - when(response.getOutputStream()).thenReturn(outStream); - when(request.getHeader("X-DMAAP-DR-ON-BEHALF-OF-GROUP")).thenReturn("stub_subjectGroup"); - when(request.getHeader("Content-Type")).thenReturn("application/vnd.dmaap-dr.subscription; version=1.0"); - when(request.getPathInfo()).thenReturn("/3"); - when(request.isUserInRole("org.onap.dmaap-dr.sub|*|edit")).thenReturn(true); - JSONObject JSObject = buildRequestJsonObject(); - SubscriptionServlet subscriptionServlet = new SubscriptionServlet() { - public JSONObject getJSONfromInput(HttpServletRequest req) { - JSONObject jo = new JSONObject(); - jo.put("name", "stub_name"); - jo.put("version", "2.0"); - jo.put("metadataOnly", true); - jo.put("suspend", true); - jo.put("delivery", JSObject); - jo.put("aaf_instance", "*"); - jo.put("follow_redirect", false); - jo.put("sync", true); - return jo; - } - }; - subscriptionServlet.doPut(request, response); - verify(response).setStatus(eq(HttpServletResponse.SC_OK)); - resetAafSubscriptionInDB(); - addNewSubscriptionInDB(); - verifyEnteringExitCalled(listAppender); - } - - @Test public void Given_Request_Is_HTTP_PUT_And_Content_Header_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated() throws Exception { when(request.getContentType()).thenReturn("stub_ContentType"); subscriptionServlet.doPut(request, response); @@ -363,7 +299,6 @@ public class SubscriptionServletTest extends DrServletTestBase { jo.put("privilegedSubscriber", true); jo.put("decompress", true); jo.put("delivery", JSObject); - jo.put("aaf_instance", "legacy"); jo.put("follow_redirect", false); jo.put("subscriber", "differentSubscriber"); jo.put("sync", true); @@ -388,7 +323,6 @@ public class SubscriptionServletTest extends DrServletTestBase { jo.put("suspend", true); jo.put("privilegedSubscriber", true); jo.put("delivery", JSObject); - jo.put("aaf_instance", "legacy"); jo.put("decompress", true); jo.put("follow_redirect", false); jo.put("sync", true); @@ -421,7 +355,6 @@ public class SubscriptionServletTest extends DrServletTestBase { jo.put("privilegedSubscriber", true); jo.put("decompress", true); jo.put("delivery", JSObject); - jo.put("aaf_instance", "legacy"); jo.put("follow_redirect", false); jo.put("sync", true); jo.put("changeowner", true); @@ -430,7 +363,7 @@ public class SubscriptionServletTest extends DrServletTestBase { }; subscriptionServlet.doPut(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_OK)); - changeSubscriptionBackToNormal(); + //changeSubscriptionBackToNormal(); verifyEnteringExitCalled(listAppender); } @@ -523,7 +456,6 @@ public class SubscriptionServletTest extends DrServletTestBase { jo.put("suspend", true); jo.put("delivery", JSObject); jo.put("privilegedSubscriber", false); - jo.put("aaf_instance", "legacy"); jo.put("follow_redirect", false); jo.put("decompress", false); jo.put("failed", false); @@ -616,7 +548,6 @@ public class SubscriptionServletTest extends DrServletTestBase { subscription.setGroupid(1); subscription.setMetadataOnly(false); subscription.setSuspended(false); - subscription.setAafInstance("https://aaf-onap-test.osaaf.org:8095"); subscription.setDecompress(false); subscription.setPrivilegedSubscriber(false); try (Connection conn = ProvDbUtils.getInstance().getConnection()) { diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/FeedTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/FeedTest.java index 5e87d3a7..87ac7ed5 100644 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/FeedTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/FeedTest.java @@ -98,8 +98,8 @@ public class FeedTest { @Test public void Given_doDelete_Succeeds_Then_doInsert_To_Put_Feed_Back_And_Bool_Is_True() throws SQLException { - Boolean bool = feed.doDelete(provDbUtils.getConnection()); - Assert.assertEquals(true, bool); + boolean bool = feed.doDelete(provDbUtils.getConnection()); + Assert.assertTrue(bool); JSONObject jo = new JSONObject(); jo.put("self","self_link"); jo.put("publish","publish_link"); @@ -107,7 +107,7 @@ public class FeedTest { jo.put("log","log_link"); feed.setLinks(new FeedLinks(jo)); bool = feed.doInsert(provDbUtils.getConnection()); - Assert.assertEquals(true, bool); + Assert.assertTrue(bool); } @Test @@ -133,7 +133,7 @@ public class FeedTest { public void Given_doDelete_Throws_SQLException_Then_Returns_False() throws SQLException { Connection spyConnection = CreateSpyForDbConnection(); Mockito.doThrow(new SQLException()).when(spyConnection).prepareStatement(anyString()); - Assert.assertEquals(feed.doDelete(spyConnection), false); + Assert.assertFalse(feed.doDelete(spyConnection)); } @Test @@ -147,7 +147,7 @@ public class FeedTest { fa.setEndpointIDS(setA); fa.setEndpointAddrs(setB); feed.setAuthorization(fa); - Assert.assertEquals(feed.doInsert(connection), false); + Assert.assertFalse(feed.doInsert(connection)); } @@ -155,7 +155,7 @@ public class FeedTest { public void Given_doUpdate_Throws_SQLException_Then_Returns_False() throws SQLException { Connection spyConnection = CreateSpyForDbConnection(); Mockito.doThrow(new SQLException()).when(spyConnection).prepareStatement(anyString()); - Assert.assertEquals(feed.doUpdate(spyConnection), false); + Assert.assertFalse(feed.doUpdate(spyConnection)); } @@ -174,7 +174,7 @@ public class FeedTest { Assert.assertEquals(feed.getGroupid(), 1); Assert.assertEquals(feed.getDescription(), "test feed"); Assert.assertEquals(feed.getBusinessDescription(), "test feed"); - Assert.assertEquals(feed.isSuspended(), false); + Assert.assertFalse(feed.isSuspended()); Assert.assertEquals(feed.getPublisher(), "publish"); } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/AafPropsUtilsTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/AafPropsUtilsTest.java deleted file mode 100644 index 4f2f3ee5..00000000 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/AafPropsUtilsTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ -package org.onap.dmaap.datarouter.provisioning.utils; - -import java.io.File; -import java.io.IOException; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -public class AafPropsUtilsTest { - - private static AafPropsUtils aafPropsUtils; - - @BeforeClass - public static void init() throws Exception { - aafPropsUtils = new AafPropsUtils(new File("src/test/resources/aaf/org.onap.dmaap-dr.props")); - } - - @Test - public void Assert_AaafPropsUtils_Decrypt_KeyStorePass() { - Assert.assertEquals("b.Qo{*!a(a;jmeOfKbA&vHx#", aafPropsUtils.getKeystorePassProperty()); - } - - @Test - public void Assert_AaafPropsUtils_Decrypt_TruststorePass() { - Assert.assertEquals("YeXhcTw6%G[od1a43+P!yhoN", aafPropsUtils.getTruststorePassProperty()); - } - - @Test - public void Assert_AaafPropsUtils_Get_KeyStorePathProp() { - Assert.assertEquals("src/test/resources/aaf/org.onap.dmaap-dr.p12", aafPropsUtils.getKeystorePathProperty()); - } - - @Test - public void Assert_AaafPropsUtils_Get_TrustStorePathProp() { - Assert.assertEquals("src/test/resources/aaf/org.onap.dmaap-dr.trust.jks", aafPropsUtils.getTruststorePathProperty()); - } - - @Test - public void Assert_AaafPropsUtils_Get_PropAccessObj() { - Assert.assertNotNull(aafPropsUtils.getPropAccess()); - } - -} diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/ProvTlsManagerTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/ProvTlsManagerTest.java new file mode 100644 index 00000000..680a483d --- /dev/null +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/ProvTlsManagerTest.java @@ -0,0 +1,63 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.dmaap.datarouter.provisioning.utils; + +import java.security.KeyManagementException; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.UnrecoverableKeyException; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.onap.dmaap.datarouter.provisioning.ProvRunner; +import org.onap.dmaap.datarouter.provisioning.ProvServer; + +public class ProvTlsManagerTest { + + ProvTlsManager provTlsManager; + + @BeforeClass + public static void init() { + System.setProperty( + "org.onap.dmaap.datarouter.provserver.properties", + "src/test/resources/h2Database.properties"); + } + + @Before + public void setUp() throws Exception { + } + + @Test + public void Verify_Prov_Tls_Manager_Is_Configured_Correctly_And_Returns_Non_Null() throws Exception { + provTlsManager = new ProvTlsManager(ProvRunner.getProvProperties(), true); + Assert.assertNotNull(provTlsManager.getSslContextFactoryServer()); + Assert.assertNotNull(provTlsManager.getSslSocketFactory()); + Assert.assertEquals(provTlsManager.getTrustStoreFile(), "src/test/resources/certs/truststore.jks"); + Assert.assertEquals(provTlsManager.getTrustStorePassword(), "secret"); + } + + @Test + public void Verify_Prov_Tls_Manager_Is_Configured_Correctly_When_Load_Certs_Is_False() throws Exception { + provTlsManager = new ProvTlsManager(ProvRunner.getProvProperties(), false); + Assert.assertEquals(provTlsManager.getTrustStorePassword(), "secret"); + } +} diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/UrlUtilsTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/UrlUtilsTest.java new file mode 100644 index 00000000..ac95044f --- /dev/null +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/UrlUtilsTest.java @@ -0,0 +1,62 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.dmaap.datarouter.provisioning.utils; + +import org.apache.commons.lang3.reflect.FieldUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.dmaap.datarouter.provisioning.BaseServlet; +import org.onap.dmaap.datarouter.provisioning.ProvRunner; +import org.powermock.core.classloader.annotations.PowerMockIgnore; +import org.powermock.modules.junit4.PowerMockRunner; + +@RunWith(PowerMockRunner.class) +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "org.w3c.*"}) +public class UrlUtilsTest { + + @BeforeClass + public static void init() { + System.setProperty( + "org.onap.dmaap.datarouter.provserver.properties", + "src/test/resources/h2Database.properties"); + } + + @Before + public void setUp() throws Exception { + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "initialActivePod", "mypod1", true); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "initialStandbyPod", "mypod2", true); + FieldUtils.writeDeclaredStaticField(ProvRunner.class, "tlsEnabled", false, true); + } + + @Test + public void Verify_UrlUtils_generatePeerProvURL_Returns_Valid_Http_Url() { + Assert.assertEquals(URLUtilities.generatePeerProvURL(), "http://mypod2:8080/internal/prov"); + } + + @Test + public void Verify_UrlUtils_generatePeerLogsURL_Returns_Valid_Http_Url() { + Assert.assertEquals(URLUtilities.generatePeerLogsURL(), "http://mypod2:8080/internal/drlogs/"); + } + +} |