aboutsummaryrefslogtreecommitdiffstats
path: root/datarouter-prov/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'datarouter-prov/src/test')
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/DbTestData.java109
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationSuite.java50
-rwxr-xr-xdatarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestBase.java178
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestCleanup.java85
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsDelete.java58
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsGet.java207
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsPost.java308
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsPut.java58
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestFeedDelete.java100
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestFeedPut.java214
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestInternalGet.java106
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestInternalMisc.java155
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestLogGet.java205
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestPublish.java126
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestRleBitSet.java289
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestRouteApi.java28
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestSubscribePost.java192
-rw-r--r--datarouter-prov/src/test/java/datarouter/provisioning/package.html29
-rwxr-xr-xdatarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java20
-rwxr-xr-xdatarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java117
-rwxr-xr-xdatarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java77
-rw-r--r--datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/ProvServerTest.java24
-rwxr-xr-xdatarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscribeServletTest.java114
-rwxr-xr-xdatarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java77
-rw-r--r--datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/FeedTest.java14
-rw-r--r--datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/AafPropsUtilsTest.java63
-rw-r--r--datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/ProvTlsManagerTest.java63
-rw-r--r--datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/UrlUtilsTest.java62
-rw-r--r--datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.cred.props17
-rw-r--r--datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.keyfile27
-rw-r--r--datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.location.props8
-rw-r--r--datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.p12bin4217 -> 0 bytes
-rw-r--r--datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.props24
-rw-r--r--datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.trust.jksbin1413 -> 0 bytes
-rwxr-xr-xdatarouter-prov/src/test/resources/certs/org.onap.dmaap-dr-prov.p12bin0 -> 4596 bytes
-rw-r--r--datarouter-prov/src/test/resources/certs/truststore.jksbin0 -> 3234 bytes
-rwxr-xr-xdatarouter-prov/src/test/resources/create.sql31
-rwxr-xr-xdatarouter-prov/src/test/resources/h2Database.properties8
-rw-r--r--datarouter-prov/src/test/resources/h2DatabaseTlsDisabled.properties36
-rw-r--r--datarouter-prov/src/test/resources/integration_test.properties5
-rw-r--r--datarouter-prov/src/test/resources/prov_data.json2
-rwxr-xr-xdatarouter-prov/src/test/resources/sql_init_01.sql7
42 files changed, 181 insertions, 3112 deletions
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/DbTestData.java b/datarouter-prov/src/test/java/datarouter/provisioning/DbTestData.java
deleted file mode 100644
index 36a2eb01..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/DbTestData.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.ByteArrayEntity;
-import org.apache.http.entity.ContentType;
-import org.apache.http.impl.client.AbstractHttpClient;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-import java.io.IOException;
-import java.util.Properties;
-
-/**
- * The DbTestData class
- *
- * @version 1.0.1
- */
-public class DbTestData {
-
- private static boolean dbReady = false;
-
- public static void populateDb(AbstractHttpClient httpclient, Properties props) {
- if (!dbReady) {
- JSONObject jo = buildFeedRequest();
- for (int i = 0; i < 10; i++) {
- jo.put("version", "" + System.currentTimeMillis());
- int statusCode = -1;
- String url = props.getProperty("test.host");
- HttpPost httpPost = new HttpPost(url);
- try {
- httpPost.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
- String feedRequestString = jo.toString();
- HttpEntity body = new ByteArrayEntity(feedRequestString.getBytes(),
- ContentType.create(FeedServlet.FEED_CONTENT_TYPE));
- httpPost.setEntity(body);
- HttpResponse response = httpclient.execute(httpPost);
- statusCode = response.getStatusLine().getStatusCode();
- HttpEntity entity = response.getEntity();
- EntityUtils.consume(entity);
- } catch (IOException e) {
- System.err.println(e);
- } finally {
- httpPost.releaseConnection();
- }
- System.out.println(i + " " + statusCode);
- }
- dbReady = true;
- }
- }
-
- private static JSONObject buildFeedRequest() {
- JSONObject jo = new JSONObject();
- jo.put("name", "feed");
- jo.put("version", "" + System.currentTimeMillis());
- jo.put("description", "Sample feed used by JUnit to test");
-
- JSONObject jo2 = new JSONObject();
- jo2.put("classification", "unrestricted");
-
- JSONObject jo3 = new JSONObject();
- jo3.put("id", "id001");
- jo3.put("password", "re1kwelj");
-
- JSONObject jo4 = new JSONObject();
- jo4.put("id", "id002");
- jo4.put("password", "o9eqlmbd");
-
- JSONArray ja = new JSONArray();
- ja.put(jo3);
- ja.put(jo4);
- jo2.put("endpoint_ids", ja);
-
- ja = new JSONArray();
- ja.put("10.0.0.1");
- ja.put("192.168.0.1");
- ja.put("135.207.136.128/25");
- jo2.put("endpoint_addrs", ja);
-
- jo.put("authorization", jo2);
- return jo;
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationSuite.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationSuite.java
deleted file mode 100644
index 4d23857b..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationSuite.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-@RunWith(Suite.class)
-@SuiteClasses({
- IntegrationTestDrFeedsPost.class,
- IntegrationTestDrFeedsPut.class,
- IntegrationTestDrFeedsDelete.class,
- IntegrationTestFeedPut.class,
- IntegrationTestDrFeedsGet.class,
- IntegrationTestInternalGet.class,
- IntegrationTestInternalMisc.class,
- IntegrationTestPublish.class,
- IntegrationTestSubscribePost.class,
- IntegrationTestLogGet.class,
- IntegrationTestFeedDelete.class,
- IntegrationTestCleanup.class,
- IntegrationTestRleBitSet.class
-})
-
-public class IntegrationSuite {
-
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestBase.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestBase.java
deleted file mode 100755
index 3e5e1d04..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestBase.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.KeyStore;
-import java.util.Properties;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.StatusLine;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.conn.scheme.Scheme;
-import org.apache.http.conn.ssl.SSLSocketFactory;
-import org.apache.http.impl.client.AbstractHttpClient;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONObject;
-import org.json.JSONTokener;
-import org.junit.After;
-import org.junit.Before;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestBase {
-
- /**
- * The properties file to read the DB properties from.
- */
- private static final String CONFIG_FILE = "integration_test.properties";
-
- public Properties props;
- protected AbstractHttpClient httpclient;
- String s33;
- String s257;
- static JSONObject db_state;
-
- /**
- * This is the setUp method.
- */
- @Before
- public void setUp() throws Exception {
- if (props == null) {
- props = new Properties();
- try (InputStream inStream = getClass().getClassLoader().getResourceAsStream(CONFIG_FILE)) {
- props.load(inStream);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- httpclient = new DefaultHttpClient();
- String str = "0123456789ABCDEF";
- s33 = str + str + "!";
- str = str + str + str + str;
- s257 = str + str + str + str + "!";
-
- // keystore
- String store = props.getProperty("test.keystore");
- String pass = props.getProperty("test.kspassword");
- KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
- FileInputStream instream = new FileInputStream(new File(store));
- try {
- keyStore.load(instream, pass.toCharArray());
- } catch (Exception x) {
- System.err.println("READING KEYSTORE: " + x);
- } finally {
- try {
- instream.close();
- } catch (Exception ignore) {
- // Ignore exception
- }
- }
-
- store = props.getProperty("test.truststore");
- pass = props.getProperty("test.tspassword");
- KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
- instream = new FileInputStream(new File(store));
- try {
- trustStore.load(instream, pass.toCharArray());
- } catch (Exception x) {
- System.err.println("READING TRUSTSTORE: " + x);
- } finally {
- try {
- instream.close();
- } catch (Exception ignore) {
- // Ignore exception
- }
- }
-
- SSLSocketFactory socketFactory = new SSLSocketFactory(keyStore, props.getProperty("test.kspassword"), trustStore);
- Scheme sch = new Scheme("https", 443, socketFactory);
- httpclient.getConnectionManager().getSchemeRegistry().register(sch);
-
- //DbTestData.populateDb(httpclient, props);
- }
-
- /**
- * This is the getDBstate method.
- */
- void getDBstate() {
- // set db_state!
- if (db_state == null) {
- String url = props.getProperty("test.host") + "/internal/prov";
- HttpGet httpGet = new HttpGet(url);
- try {
- httpGet.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
- HttpResponse response = httpclient.execute(httpGet);
- HttpEntity entity = response.getEntity();
- String ctype = entity.getContentType().getValue().trim();
- // save the response body as db_state
- boolean ok = ctype.equals(FeedServlet.PROVFULL_CONTENT_TYPE1);
- ok |= ctype.equals(FeedServlet.PROVFULL_CONTENT_TYPE2);
- if (ok) {
- db_state = null;
- try {
- db_state = new JSONObject(new JSONTokener(entity.getContent()));
- } catch (Exception e) {
- fail("Bad JSON: " + e.getMessage());
- }
- } else {
- EntityUtils.consume(entity);
- }
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- httpGet.releaseConnection();
- }
- }
- }
-
- /**
- * This is the tearDown method.
- */
- @After
- public void tearDown() throws Exception {
- // When HttpClient instance is no longer needed,
- // shut down the connection manager to ensure
- // immediate deallocation of all system resources
- httpclient.getConnectionManager().shutdown();
- FileUtils.deleteDirectory(new File("." + File.pathSeparator+ "unit-test-logs"));
- }
-
- protected void ckResponse(HttpResponse response, int expect) {
- System.out.println(response.getStatusLine());
- StatusLine sl = response.getStatusLine();
- int code = sl.getStatusCode();
- if (code != expect) {
- fail("Unexpected response, expect " + expect + " got " + code + " " + sl.getReasonPhrase());
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestCleanup.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestCleanup.java
deleted file mode 100644
index fba77548..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestCleanup.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestCleanup extends IntegrationTestBase {
- @Before
- public void setUp() throws Exception {
- super.setUp();
- getDBstate();
- }
-
- @Test
- public void testNormal() {
- // Delete all feeds w/JUnit as publisher
- JSONArray ja = db_state.getJSONArray("feeds");
- for (int i = 0; i < ja.length(); i++) {
- JSONObject feed = ja.getJSONObject(i);
- if (feed != null && !feed.getBoolean("deleted")) {
- if (feed.getString("publisher").equals("JUnit")) {
- int feedid = feed.getInt("feedid");
- delete("/feed/" + feedid);
- }
- }
- }
- // Delete all subscriptions w/JUnit as subscriber
- ja = db_state.getJSONArray("subscriptions");
- for (int i = 0; i < ja.length(); i++) {
- JSONObject sub = ja.getJSONObject(i);
- if (sub != null && sub.getString("subscriber").equals("JUnit")) {
- int subid = sub.getInt("subid");
- delete("/subs/" + subid);
- }
- }
- }
-
- private void delete(String uri) {
- String url = props.getProperty("test.host") + uri;;
- HttpDelete del = new HttpDelete(url);
- try {
- del.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
- HttpResponse response = httpclient.execute(del);
- HttpEntity entity = response.getEntity();
- EntityUtils.consume(entity);
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- del.releaseConnection();
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsDelete.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsDelete.java
deleted file mode 100644
index 7ebdf223..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsDelete.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.util.EntityUtils;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestDrFeedsDelete extends IntegrationTestBase {
- @Test
- public void testNotAllowed() {
- String url = props.getProperty("test.host") + "/";
- HttpDelete del = new HttpDelete(url);
- try {
- del.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
-
- HttpResponse response = httpclient.execute(del);
- ckResponse(response, HttpServletResponse.SC_METHOD_NOT_ALLOWED);
-
- HttpEntity entity = response.getEntity();
- EntityUtils.consume(entity);
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- del.releaseConnection();
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsGet.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsGet.java
deleted file mode 100644
index 2cc5feba..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsGet.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.json.JSONTokener;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestDrFeedsGet extends IntegrationTestBase {
- private JSONArray returnedlist;
-
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- }
-
- @Before
- public void setUp() throws Exception {
- super.setUp();
- getDBstate();
- }
-
- @Test
- public void testNormal() {
- testCommon(HttpServletResponse.SC_OK);
- int expect = 0;
- JSONArray ja = db_state.getJSONArray("feeds");
- for (int i = 0; i < ja.length(); i++) {
- JSONObject jo = ja.getJSONObject(i);
- if (!jo.getBoolean("deleted")) {
- expect++;
- }
- }
- if (returnedlist.length() != expect) {
- fail("bad length, got " + returnedlist.length() + " expect " + expect);
- }
- }
-
- @Test
- public void testNormalGoodName() {
- JSONArray ja = db_state.getJSONArray("feeds");
- JSONObject feed0 = ja.getJSONObject(0);
- String name = feed0.getString("name");
- String query = "?name=" + name;
- int expect = 0;
- for (int n = 0; n < ja.length(); n++) {
- JSONObject jo = ja.getJSONObject(n);
- if (!jo.getBoolean("deleted") && jo.getString("name").equals(name)) {
- expect++;
- }
- }
- testCommon(HttpServletResponse.SC_OK, query, FeedServlet.FEEDLIST_CONTENT_TYPE, "JUnit");
- if (returnedlist.length() != expect) {
- fail("bad length, got " + returnedlist.length() + " expect " + expect);
- }
- }
-
- @Test
- public void testNormalBadName() {
- String query = "?name=ZZTOP123456";
- testCommon(HttpServletResponse.SC_OK, query, FeedServlet.FEEDLIST_CONTENT_TYPE, "JUnit");
- if (returnedlist.length() != 0) {
- fail("bad length, got " + returnedlist.length() + " expect 0");
- }
- }
-
- @Test
- public void testNormalBadPath() {
- String query = "flarg/?publisher=JUnit";
- testCommon(HttpServletResponse.SC_NOT_FOUND, query, "text/html;charset=ISO-8859-1", "JUnit");
- }
-
- @Test
- public void testNormalGoodPublisher() {
- JSONArray ja = db_state.getJSONArray("feeds");
- JSONObject feed0 = ja.getJSONObject(0);
- String query = "?publisher=" + feed0.getString("publisher");
- testCommon(HttpServletResponse.SC_OK, query, FeedServlet.FEEDLIST_CONTENT_TYPE, "JUnit");
- int expect = 0;
- for (int i = 0; i < ja.length(); i++) {
- JSONObject jo = ja.getJSONObject(i);
- if (jo.getString("publisher").equals(feed0.getString("publisher")) && !jo.getBoolean("deleted")) {
- expect++;
- }
- }
- if (returnedlist.length() != expect) {
- fail("bad length, got " + returnedlist.length() + " expected " + expect);
- }
- }
-
- @Test
- public void testNormalBadPublisher() {
- String query = "?publisher=ZZTOP123456";
- testCommon(HttpServletResponse.SC_OK, query, FeedServlet.FEEDLIST_CONTENT_TYPE, "JUnit");
- if (returnedlist.length() != 0) {
- fail("bad length");
- }
- }
-
- @Test
- public void testNormalGoodSubscriber() {
- JSONArray ja = db_state.getJSONArray("subscriptions");
- if (ja.length() > 0) {
- JSONObject sub0 = ja.getJSONObject(0);
- String query = "?subscriber=" + sub0.getString("subscriber");
- testCommon(HttpServletResponse.SC_OK, query, FeedServlet.FEEDLIST_CONTENT_TYPE, "JUnit");
-// aarg! - this is complicated!
-// int expect = 0;
-// for (int i = 0; i < ja.length(); i++) {
-// JSONObject jo = ja.getJSONObject(i);
-// if (jo.getString("subscriber").equals(sub0.getString("subscriber")))
-// expect++;
-// }
-// if (returnedlist.length() != 1)
-// fail("bad length " + returnedlist.toString());
- } else {
- // There are no subscriptions yet, so use a made up name
- testCommon(HttpServletResponse.SC_OK, "?subscriber=foo", FeedServlet.FEEDLIST_CONTENT_TYPE, "JUnit");
- }
- }
-
- @Test
- public void testNormalBadSubscriber() {
- String query = "?subscriber=ZZTOP123456";
- testCommon(HttpServletResponse.SC_OK, query, FeedServlet.FEEDLIST_CONTENT_TYPE, "JUnit");
- if (returnedlist.length() != 0) {
- fail("bad length");
- }
- }
-
- private void testCommon(int expect) {
- testCommon(expect, "", FeedServlet.FEEDLIST_CONTENT_TYPE, "JUnit");
- }
-
- private void testCommon(int expect, String query, String ectype, String bhdr) {
- String url = props.getProperty("test.host") + "/" + query;
- HttpGet httpGet = new HttpGet(url);
- try {
- if (bhdr != null) {
- httpGet.addHeader(FeedServlet.BEHALF_HEADER, bhdr);
- }
-
- HttpResponse response = httpclient.execute(httpGet);
- ckResponse(response, expect);
-
- HttpEntity entity = response.getEntity();
- String ctype = entity.getContentType().getValue().trim();
- if (!ctype.equals(ectype)) {
- fail("Got wrong content type: " + ctype);
- }
-
- // do something useful with the response body and ensure it is fully consumed
- if (ctype.equals(FeedServlet.FEEDLIST_CONTENT_TYPE)) {
- try {
- returnedlist = new JSONArray(new JSONTokener(entity.getContent()));
- } catch (Exception e) {
- fail("Bad JSON: " + e.getMessage());
- }
- } else {
- EntityUtils.consume(entity);
- }
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- httpGet.releaseConnection();
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsPost.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsPost.java
deleted file mode 100644
index 9f604fe9..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsPost.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.Header;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.ByteArrayEntity;
-import org.apache.http.entity.ContentType;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.json.JSONTokener;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestDrFeedsPost extends IntegrationTestBase {
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- }
-
- @Test
- public void testNormal() {
- JSONObject jo = buildFeedRequest();
- testCommon(jo, HttpServletResponse.SC_CREATED);
- }
-
- @Test
- public void testNormalNoCtVersion() {
- JSONObject jo = buildFeedRequest();
- testCommon(jo, HttpServletResponse.SC_CREATED, "application/vnd.dmaap-dr.feed", "JUnit");
- }
-
- @Test
- public void testBadContentType() {
- JSONObject jo = buildFeedRequest();
- testCommon(jo, HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE, "bad/bad", "Junit");
- }
-
- @Test
- public void testNoBehalfHeader() {
- JSONObject jo = buildFeedRequest();
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST, FeedServlet.FEED_CONTENT_TYPE, null);
- }
-
- @Test
- public void testMissingName() {
- JSONObject jo = buildFeedRequest();
- jo.remove("name");
- testCommon(jo, 400);
- }
-
- @Test
- public void testTooLongName() {
- JSONObject jo = buildFeedRequest();
- jo.put("name", "123456789012345678901234567890");
- testCommon(jo, 400);
- }
-
- @Test
- public void testMissingVersion() {
- JSONObject jo = buildFeedRequest();
- jo.remove("version");
- testCommon(jo, 400);
- }
-
- @Test
- public void testTooLongVersion() {
- JSONObject jo = buildFeedRequest();
- jo.put("version", "123456789012345678901234567890");
- testCommon(jo, 400);
- }
-
- @Test
- public void testTooLongDescription() {
- // normal request
- JSONObject jo = buildFeedRequest();
- jo.put("description", s257);
- testCommon(jo, 400);
- }
-
- @Test
- public void testMissingAuthorization() {
- JSONObject jo = buildFeedRequest();
- jo.remove("authorization");
- testCommon(jo, 400);
- }
-
- @Test
- public void testMissingClassification() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- j2.remove("classification");
- testCommon(jo, 400);
- }
-
- @Test
- public void testTooLongClassification() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- j2.put("classification", s33);
- testCommon(jo, 400);
- }
-
- @Test
- public void testNoEndpointIds() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- j2.put("endpoint_ids", new JSONArray());
- testCommon(jo, 400);
- }
-
- @Test
- public void testBadIpAddress1() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- JSONArray ja = j2.getJSONArray("endpoint_addrs");
- ja.put("ZZZ^&#$%@#&^%$@#&^");
- testCommon(jo, 400);
- }
-
- @Test
- public void testBadIpAddress2() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- JSONArray ja = j2.getJSONArray("endpoint_addrs");
- ja.put("135.207.136.678"); // bad IPv4 addr
- testCommon(jo, 400);
- }
-
- @Test
- public void testBadIpAddress3() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- JSONArray ja = j2.getJSONArray("endpoint_addrs");
- ja.put("2001:1890:1110:d000:1a29::17567"); // bad IPv6 addr
- testCommon(jo, 400);
- }
-
- @Test
- public void testBadNetMask() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- JSONArray ja = j2.getJSONArray("endpoint_addrs");
- ja.put("10.10.10.10/64");
- testCommon(jo, 400);
- }
-
- @Test
- public void testGoodIpAddress1() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- JSONArray ja = j2.getJSONArray("endpoint_addrs");
- ja.put("135.207.136.175"); // good IPv4 addr
- testCommon(jo, 201);
- }
-
- @Test
- public void testGoodIpAddress2() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- JSONArray ja = j2.getJSONArray("endpoint_addrs");
- ja.put("2001:1890:1110:d000:1a29::175"); // good IPv6 addr
- testCommon(jo, 201);
- }
-
- @Test
- public void testGoodNetMask() {
- JSONObject jo = buildFeedRequest();
- JSONObject j2 = jo.getJSONObject("authorization");
- JSONArray ja = j2.getJSONArray("endpoint_addrs");
- ja.put("2001:1890:1110:d000:1a29::175/120");
- testCommon(jo, 201);
- }
-
- private void testCommon(JSONObject jo, int expect) {
- testCommon(jo, expect, FeedServlet.FEED_CONTENT_TYPE, "JUnit");
- }
-
- private void testCommon(JSONObject jo, int expect, String ctype, String bhdr) {
- String url = props.getProperty("test.host") + "/";
- HttpPost httpPost = new HttpPost(url);
- try {
- if (bhdr != null) {
- httpPost.addHeader(FeedServlet.BEHALF_HEADER, bhdr);
- }
- String strJo = jo.toString();
- HttpEntity body = new ByteArrayEntity(strJo.getBytes(), ContentType.create(ctype));
- httpPost.setEntity(body);
-
- HttpResponse response = httpclient.execute(httpPost);
- ckResponse(response, expect);
-
- HttpEntity entity = response.getEntity();
- ctype = entity.getContentType().getValue().trim();
- int code = response.getStatusLine().getStatusCode();
- if (code == HttpServletResponse.SC_CREATED && !ctype.equals(FeedServlet.FEEDFULL_CONTENT_TYPE)) {
- fail("Got wrong content type: " + ctype);
- }
-
- if (code == HttpServletResponse.SC_CREATED) {
- Header[] loc = response.getHeaders("Location");
- if (loc == null) {
- fail("Missing Location header.");
- }
- }
-
- // do something useful with the response body and ensure it is fully consumed
- if (ctype.equals(FeedServlet.FEEDFULL_CONTENT_TYPE)) {
- // ck Location header!
- JSONObject jo2 = null;
- try {
- jo2 = new JSONObject(new JSONTokener(entity.getContent()));
- System.err.println(jo2.toString());
- } catch (Exception e) {
- fail("Bad JSON: " + e.getMessage());
- }
- try {
- jo2.getString("publisher");
- JSONObject jo3 = jo2.getJSONObject("links");
- jo3.getString("self");
- jo3.getString("publish");
- jo3.getString("subscribe");
- jo3.getString("log");
- } catch (JSONException e) {
- fail("required field missing from result: " + e.getMessage());
- }
- } else {
- EntityUtils.consume(entity);
- }
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- httpPost.releaseConnection();
- }
- }
-
- private JSONObject buildFeedRequest() {
- JSONObject jo = new JSONObject();
- jo.put("name", "JunitFeed");
- jo.put("version", "" + System.currentTimeMillis()); // make version unique
- jo.put("description", "Sample feed used by JUnit to test");
-
- JSONObject jo2 = new JSONObject();
- jo2.put("classification", "unrestricted");
-
- JSONObject jo3 = new JSONObject();
- jo3.put("id", "id001");
- jo3.put("password", "re1kwelj");
- JSONObject jo4 = new JSONObject();
- jo4.put("id", "id002");
- jo4.put("password", "o9eqlmbd");
-
- JSONArray ja = new JSONArray();
- ja.put(jo3);
- ja.put(jo4);
- jo2.put("endpoint_ids", ja);
-
- ja = new JSONArray();
- ja.put("10.0.0.1");
- ja.put("192.168.0.1");
- ja.put("135.207.136.128/25");
- jo2.put("endpoint_addrs", ja);
-
- jo.put("authorization", jo2);
- return jo;
- }
-}
-/*
-curl -v -X POST -H 'X-DMAAP-DR-ON-BEHALF-OF: tester' -H 'Content-type: application/vnd.dmaap-dr.feed' \
- --user publisher:tomcat \
- --data "$data" http://127.0.0.1:8080/prov/feed/
-*/
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsPut.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsPut.java
deleted file mode 100644
index 15e7c70a..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestDrFeedsPut.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.util.EntityUtils;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestDrFeedsPut extends IntegrationTestBase {
- @Test
- public void testNotAllowed() {
- String url = props.getProperty("test.host") + "/";
- HttpPut put = new HttpPut(url);
- try {
- put.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
-
- HttpResponse response = httpclient.execute(put);
- ckResponse(response, HttpServletResponse.SC_METHOD_NOT_ALLOWED);
-
- HttpEntity entity = response.getEntity();
- EntityUtils.consume(entity);
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- put.releaseConnection();
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestFeedDelete.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestFeedDelete.java
deleted file mode 100644
index 25e6e43a..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestFeedDelete.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestFeedDelete extends IntegrationTestBase {
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- }
-
- @Before
- public void setUp() throws Exception {
- super.setUp();
- getDBstate();
- }
-
- @Test
- public void testDeleteNormal() {
- // Delete the first non-deleted feed in the DB
- JSONArray ja = db_state.getJSONArray("feeds");
- for (int i = ja.length() - 1; i >= 0; i--) {
- JSONObject feed = ja.getJSONObject(i);
- if (!feed.getBoolean("deleted")) {
- int feedid = feed.getInt("feedid");
- testCommon(HttpServletResponse.SC_NO_CONTENT, "/feed/" + feedid);
- return;
- }
- }
- }
-
- @Test
- public void testDeleteNoFeedId() {
- testCommon(HttpServletResponse.SC_BAD_REQUEST, "/feed/");
- }
-
- @Test
- public void testDeleteNoFeed() {
- testCommon(HttpServletResponse.SC_NOT_FOUND, "/feed/999999");
- }
-
- private void testCommon(int expect, String uri) {
- String url = props.getProperty("test.host") + uri;
- HttpDelete del = new HttpDelete(url);
- try {
- del.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
-
- HttpResponse response = httpclient.execute(del);
- ckResponse(response, expect);
-
- HttpEntity entity = response.getEntity();
- EntityUtils.consume(entity);
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- del.releaseConnection();
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestFeedPut.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestFeedPut.java
deleted file mode 100644
index d77bc98d..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestFeedPut.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.Header;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.entity.ByteArrayEntity;
-import org.apache.http.entity.ContentType;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.json.JSONTokener;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestFeedPut extends IntegrationTestBase {
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- }
-
- @Before
- public void setUp() throws Exception {
- super.setUp();
- getDBstate();
- }
-
- @Test
- public void testPutNoFeedId() {
- JSONObject jo = buildFeedRequest();
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST, "/feed/");
- }
-
- @Test
- public void testPutNoFeed() {
- JSONObject jo = buildFeedRequest();
- testCommon(jo, HttpServletResponse.SC_NOT_FOUND, "/feed/999999");
- }
-
- @Test
- public void testBadContentType() {
- JSONObject jo = buildFeedRequest();
- testCommon(jo, HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE, "bad/bad", "JUnit");
- }
-
- @Test
- public void testChangeName() {
- JSONObject jo = buildFeedRequest();
- jo.put("name", "badname");
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST, FeedServlet.FEED_CONTENT_TYPE, "JUnit");
- }
-
- @Test
- public void testChangeVersion() {
- JSONObject jo = buildFeedRequest();
- jo.put("version", "badvers");
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST, FeedServlet.FEED_CONTENT_TYPE, "JUnit");
- }
-
- @Test
- public void testBadPublisher() {
- JSONObject jo = buildFeedRequest();
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST, FeedServlet.FEED_CONTENT_TYPE, "BadBadBad");
- }
-
- @Test
- public void testChangeDescription() {
- JSONObject jo = buildFeedRequest();
- // change descr
- jo.put("description", "This description HAS BEEN CHANGED!!!");
- testCommon(jo, HttpServletResponse.SC_OK, FeedServlet.FEED_CONTENT_TYPE, "JUnit");
- }
-
- private void testCommon(JSONObject jo, int expect, String uri) {
- testCommon(jo, expect, FeedServlet.FEED_CONTENT_TYPE, "Junit", uri);
- }
-
- private void testCommon(JSONObject jo, int expect, String ctype, String bhdr) {
- JSONArray ja = db_state.getJSONArray("feeds");
- for (int i = 0; i < ja.length(); i++) {
- JSONObject feed0 = ja.getJSONObject(i);
- if (!feed0.getBoolean("deleted") && feed0.getString("publisher").equals(bhdr)) {
- int feedid = feed0.getInt("feedid");
- testCommon(jo, expect, ctype, bhdr, "/feed/" + feedid);
- return;
- }
- }
- }
-
- private void testCommon(JSONObject jo, int expect, String ctype, String bhdr, String uri) {
- String url = props.getProperty("test.host") + uri;
- HttpPut put = new HttpPut(url);
- try {
- if (bhdr != null) {
- put.addHeader(FeedServlet.BEHALF_HEADER, bhdr);
- }
- String strJo = jo.toString();
- HttpEntity body = new ByteArrayEntity(strJo.getBytes(), ContentType.create(ctype));
- put.setEntity(body);
-
- HttpResponse response = httpclient.execute(put);
- ckResponse(response, expect);
-
- HttpEntity entity = response.getEntity();
- ctype = entity.getContentType().getValue().trim();
- int code = response.getStatusLine().getStatusCode();
- if (code == HttpServletResponse.SC_CREATED && !ctype.equals(FeedServlet.FEEDFULL_CONTENT_TYPE)) {
- fail("Got wrong content type: " + ctype);
- }
-
- if (code == HttpServletResponse.SC_CREATED) {
- Header[] loc = response.getHeaders("Location");
- if (loc == null) {
- fail("Missing Location header.");
- }
- }
-
- // do something useful with the response body and ensure it is fully consumed
- if (ctype.equals(FeedServlet.FEEDFULL_CONTENT_TYPE)) {
- // ck Location header!
- JSONObject jo2 = null;
- try {
- jo2 = new JSONObject(new JSONTokener(entity.getContent()));
- System.err.println(jo2.toString());
- } catch (Exception e) {
- fail("Bad JSON: " + e.getMessage());
- }
- try {
- jo2.getString("publisher");
- JSONObject jo3 = jo2.getJSONObject("links");
- jo3.getString("self");
- jo3.getString("publish");
- jo3.getString("subscribe");
- jo3.getString("log");
- } catch (JSONException e) {
- fail("required field missing from result: " + e.getMessage());
- }
- } else {
- EntityUtils.consume(entity);
- }
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- put.releaseConnection();
- }
- }
-
- private JSONObject buildFeedRequest() {
- JSONObject jo = new JSONObject();
- jo.put("name", "feed");
- jo.put("version", "1.0.0");
- jo.put("description", "Sample feed used by JUnit to test");
-
- JSONObject jo2 = new JSONObject();
- jo2.put("classification", "unrestricted");
-
- JSONObject jo3 = new JSONObject();
- jo3.put("id", "id001");
- jo3.put("password", "re1kwelj");
- JSONObject jo4 = new JSONObject();
- jo4.put("id", "id002");
- jo4.put("password", "o9eqlmbd");
-
- JSONArray ja = new JSONArray();
- ja.put(jo3);
- ja.put(jo4);
- jo2.put("endpoint_ids", ja);
-
- ja = new JSONArray();
- ja.put("20.0.0.1");
- ja.put("195.68.12.15");
- ja.put("135.207.136.128/25");
- jo2.put("endpoint_addrs", ja);
-
- jo.put("authorization", jo2);
- return jo;
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestInternalGet.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestInternalGet.java
deleted file mode 100644
index 25397f7f..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestInternalGet.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.json.JSONTokener;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-import org.onap.dmaap.datarouter.provisioning.beans.Parameters;
-
-public class IntegrationTestInternalGet extends IntegrationTestBase {
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- }
-
- @Test
- public void testNormal() {
- String url = props.getProperty("test.host") + "/internal/prov";
- HttpGet httpPost = new HttpGet(url);
- try {
- httpPost.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
-
- HttpResponse response = httpclient.execute(httpPost);
- int code = response.getStatusLine().getStatusCode();
- if (code != 200) {
- fail("Unexpected response, expect " + 200 + " got " + code);
- }
-
- HttpEntity entity = response.getEntity();
- String ctype = entity.getContentType().getValue().trim();
- boolean ok = ctype.equals(FeedServlet.PROVFULL_CONTENT_TYPE1);
- ok |= ctype.equals(FeedServlet.PROVFULL_CONTENT_TYPE2);
- if (!ok) {
- fail("Got wrong content type: " + ctype);
- }
-
- // do something useful with the response body and ensure it is fully consumed
- if (ok) {
- JSONObject jo = null;
- try {
- jo = new JSONObject(new JSONTokener(entity.getContent()));
- } catch (Exception e) {
- fail("Bad JSON: " + e.getMessage());
- }
- try {
- jo.getJSONArray("feeds");
- jo.getJSONArray("subscriptions");
- JSONObject jo2 = jo.getJSONObject("parameters");
- jo2.getJSONArray(Parameters.NODES);
- jo2.getString(Parameters.ACTIVE_POD);
- jo2.getString(Parameters.STANDBY_POD);
- jo2.getInt(Parameters.LOGROLL_INTERVAL);
- jo2.getInt(Parameters.DELIVERY_INIT_RETRY_INTERVAL);
- jo2.getInt(Parameters.DELIVERY_MAX_RETRY_INTERVAL);
- jo2.getInt(Parameters.DELIVERY_RETRY_RATIO);
- jo2.getInt(Parameters.DELIVERY_MAX_AGE);
- } catch (JSONException e) {
- fail("required field missing from result: " + e.getMessage());
- }
- } else {
- EntityUtils.consume(entity);
- }
- } catch (IOException e) {
- e.printStackTrace();
- fail(e.getMessage());
- } finally {
- httpPost.releaseConnection();
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestInternalMisc.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestInternalMisc.java
deleted file mode 100644
index 9c30cd3f..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestInternalMisc.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONArray;
-import org.json.JSONTokener;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestInternalMisc extends IntegrationTestBase {
- @Test
- public void testInternalDrlogs() {
- String url = props.getProperty("test.host") + "/internal/drlogs";
- HttpGet httpPost = new HttpGet(url);
- try {
- httpPost.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
- HttpResponse response = httpclient.execute(httpPost);
- int code = response.getStatusLine().getStatusCode();
- if (code != 200) {
- fail("Unexpected response, expect " + HttpServletResponse.SC_NOT_FOUND + " got " + code);
- }
-
- HttpEntity entity = response.getEntity();
- String ctype = entity.getContentType().getValue().trim();
- boolean ok = ctype.equals("text/plain");
- if (!ok) {
- fail("Got wrong content type: " + ctype);
- }
-
- EntityUtils.consume(entity);
- } catch (IOException e) {
- e.printStackTrace();
- fail(e.getMessage());
- } finally {
- httpPost.releaseConnection();
- }
- }
-
- @Test
- public void testInternalHalt() {
- String url = props.getProperty("test.host") + "/halt";
- HttpGet httpPost = new HttpGet(url);
- try {
- httpPost.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
-
- HttpResponse response = httpclient.execute(httpPost);
- int code = response.getStatusLine().getStatusCode();
- if (code != HttpServletResponse.SC_NOT_FOUND) {
- fail("Unexpected response, expect " + HttpServletResponse.SC_NOT_FOUND + " got " + code);
- }
-
- HttpEntity entity = response.getEntity();
- EntityUtils.consume(entity);
- } catch (IOException e) {
- e.printStackTrace();
- fail(e.getMessage());
- } finally {
- httpPost.releaseConnection();
- }
- }
-
- @SuppressWarnings("unused")
- @Test
- public void testInternalLogs() {
- String url = props.getProperty("test.host") + "/internal/logs";
- HttpGet httpPost = new HttpGet(url);
- try {
- httpPost.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
-
- HttpResponse response = httpclient.execute(httpPost);
- int code = response.getStatusLine().getStatusCode();
- if (code != 200) {
- fail("Unexpected response, expect " + 200 + " got " + code);
- }
-
- HttpEntity entity = response.getEntity();
- String ctype = entity.getContentType().getValue().trim();
- boolean ok = ctype.equals("application/json");
- if (!ok) {
- fail("Got wrong content type: " + ctype);
- }
-
- // do something useful with the response body and ensure it is fully consumed
- if (ok) {
- try {
- new JSONArray(new JSONTokener(entity.getContent()));
- } catch (Exception e) {
- fail("Bad JSON: " + e.getMessage());
- }
- } else {
- EntityUtils.consume(entity);
- }
- } catch (IOException e) {
- e.printStackTrace();
- fail(e.getMessage());
- } finally {
- httpPost.releaseConnection();
- }
- }
-
- @Test
- public void testInternalBadUrl() {
- String url = props.getProperty("test.host") + "/internal/badurl";
- HttpGet httpPost = new HttpGet(url);
- try {
- httpPost.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
-
- HttpResponse response = httpclient.execute(httpPost);
- int code = response.getStatusLine().getStatusCode();
- if (code != HttpServletResponse.SC_NOT_FOUND) {
- fail("Unexpected response, expect " + HttpServletResponse.SC_NOT_FOUND + " got " + code);
- }
-
- HttpEntity entity = response.getEntity();
- EntityUtils.consume(entity);
- } catch (IOException e) {
- e.printStackTrace();
- fail(e.getMessage());
- } finally {
- httpPost.releaseConnection();
- }
- }
-
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestLogGet.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestLogGet.java
deleted file mode 100644
index 0da0f41d..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestLogGet.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONArray;
-import org.json.JSONTokener;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestLogGet extends IntegrationTestBase {
- private JSONArray returnedlist;
- private int feedid = 4;
- private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
-
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- // need to seed the DB here
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- // need to "unseed" the DB
- }
-
- /**
- * This is the setUp method.
- */
- @Before
- public void setUp() throws Exception {
- super.setUp();
- getDBstate();
-// JSONArray ja = db_state.getJSONArray("feeds");
-// for (int i = 0; i < ja.length(); i++) {
-// JSONObject jo = ja.getJSONObject(i);
-// if (!jo.getBoolean("deleted"))
-// feedid = jo.getInt("feedid");
-// }
- }
-
- @Test
- public void testNormal() {
- testCommon(HttpServletResponse.SC_OK);
- }
-
- @Test
- public void testNormalPubOnly() {
- testCommon(HttpServletResponse.SC_OK, "?type=pub");
- }
-
- @Test
- public void testNormalDelOnly() {
- testCommon(HttpServletResponse.SC_OK, "?type=del");
- }
-
- @Test
- public void testNormalExpOnly() {
- testCommon(HttpServletResponse.SC_OK, "?type=exp");
- }
-
- @Test
- public void testNormalXxxOnly() {
- testCommon(HttpServletResponse.SC_BAD_REQUEST, "?type=xxx");
- }
-
- @Test
- public void testNormalStatusSuccess() {
- testCommon(HttpServletResponse.SC_OK, "?statusCode=success");
- }
-
- @Test
- public void testNormalStatusRedirect() {
- testCommon(HttpServletResponse.SC_OK, "?statusCode=redirect");
- }
-
- @Test
- public void testNormalStatusFailure() {
- testCommon(HttpServletResponse.SC_OK, "?statusCode=failure");
- }
-
- @Test
- public void testNormalStatus200() {
- testCommon(HttpServletResponse.SC_OK, "?statusCode=200");
- }
-
- @Test
- public void testNormalStatusXxx() {
- testCommon(HttpServletResponse.SC_BAD_REQUEST, "?statusCode=xxx");
- }
-
- @Test
- public void testNormalExpiryNotRetryable() {
- testCommon(HttpServletResponse.SC_OK, "?expiryReason=notRetryable");
- }
-
- @Test
- public void testNormalExpiryRetriesExhausted() {
- testCommon(HttpServletResponse.SC_OK, "?expiryReason=retriesExhausted");
- }
-
- @Test
- public void testNormalExpiryXxx() {
- testCommon(HttpServletResponse.SC_BAD_REQUEST, "?expiryReason=xxx");
- }
-
- @Test
- public void testNormalPublishId() {
- testCommon(HttpServletResponse.SC_OK, "?publishId=1366985877801.mtdvnj00-drtr.proto.research.att.com");
- }
-
- @Test
- public void testNormalStart() {
- long nowMinus5Days = System.currentTimeMillis() - (5 * 24 * 60 * 60 * 1000L); // 5 days
- testCommon(HttpServletResponse.SC_OK, String.format("?start=%s", sdf.format(nowMinus5Days)));
- }
-
- @Test
- public void testBadStart() {
- testCommon(HttpServletResponse.SC_BAD_REQUEST, "?start=xxx");
- }
-
- @Test
- public void testLongEnd() {
- testCommon(HttpServletResponse.SC_OK, "?end=1364837896220");
- }
-
- @Test
- public void testBadEnd() {
- testCommon(HttpServletResponse.SC_BAD_REQUEST, "?end=2013-04-25T11:01:25Q");
- }
-
- private void testCommon(int expect) {
- testCommon(expect, "");
- }
-
- private void testCommon(int expect, String query) {
- String url = props.getProperty("test.host") + "/feedlog/" + feedid + query;
- HttpGet httpGet = new HttpGet(url);
- try {
- HttpResponse response = httpclient.execute(httpGet);
- ckResponse(response, expect);
-
- HttpEntity entity = response.getEntity();
- String ctype = entity.getContentType().getValue().trim();
- if (expect == HttpServletResponse.SC_OK) {
- if (!ctype.equals(FeedServlet.LOGLIST_CONTENT_TYPE)) {
- fail("Got wrong content type: " + ctype);
- }
- }
-
- // do something useful with the response body and ensure it is fully consumed
- if (ctype.equals(FeedServlet.LOGLIST_CONTENT_TYPE)) {
- try {
- returnedlist = new JSONArray(new JSONTokener(entity.getContent()));
- int returnedListLength = returnedlist.length();
- if (returnedListLength != 0) {
- System.err.println(returnedListLength + " items");
- }
- } catch (Exception e) {
- fail("Bad JSON: " + e.getMessage());
- }
- } else {
- EntityUtils.consume(entity);
- }
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- httpGet.releaseConnection();
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestPublish.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestPublish.java
deleted file mode 100644
index 5c84a670..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestPublish.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.Header;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.RedirectStrategy;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.client.methods.HttpRequestBase;
-import org.apache.http.impl.client.DefaultRedirectStrategy;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-
-public class IntegrationTestPublish extends IntegrationTestBase {
- private String publishUrl;
-
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- }
-
- /**
- * This is the setUp method.
- */
- @Before
- public void setUp() throws Exception {
- super.setUp();
- getDBstate();
- // Get publish URL from first feed
- JSONArray ja = db_state.getJSONArray("feeds");
- for (int i = ja.length() - 1; i >= 0; i--) {
- JSONObject feed = ja.getJSONObject(i);
- if (!feed.getBoolean("deleted")) {
- publishUrl = feed.getJSONObject("links").getString("publish");
- publishUrl += "/" + System.currentTimeMillis();
- return;
- }
- }
- }
-
- @Test
- public void testDelete() {
- HttpDelete httpDelete = new HttpDelete(publishUrl);
- testCommon(httpDelete);
- }
-
- @Test
- public void testGet() {
- HttpGet httpGet = new HttpGet(publishUrl);
- testCommon(httpGet);
- }
-
- @Test
- public void testPut() {
- HttpPut httpPut = new HttpPut(publishUrl);
- testCommon(httpPut);
- }
-
- @Test
- public void testPost() {
- HttpPost httpPost = new HttpPost(publishUrl);
- testCommon(httpPost);
- }
-
- private void testCommon(HttpRequestBase rb) {
- try {
- rb.addHeader(FeedServlet.BEHALF_HEADER, "JUnit");
- RedirectStrategy strategy = new DefaultRedirectStrategy() {
- protected boolean isRedirectable(String method) {
- return false;
- }
- };
- httpclient.setRedirectStrategy(strategy);
- HttpResponse response = httpclient.execute(rb);
- ckResponse(response, HttpServletResponse.SC_MOVED_PERMANENTLY);
-
- // Make sure there is a Location hdr
- Header[] loc = response.getHeaders("Location");
- if (loc == null || loc.length == 0) {
- fail("No location header");
- }
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- rb.releaseConnection();
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestRleBitSet.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestRleBitSet.java
deleted file mode 100644
index 133e7dc1..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestRleBitSet.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.util.Iterator;
-
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.utils.RLEBitSet;
-
-public class IntegrationTestRleBitSet {
- @Test
- public void testBasicConstructor() {
- RLEBitSet bs = new RLEBitSet();
- if (!bs.isEmpty()) {
- fail("bit set not empty");
- }
- }
-
- @Test
- public void testStringConstructor() {
- RLEBitSet bs = new RLEBitSet("1-10");
- if (bs.isEmpty()) {
- fail("bit set is empty");
- }
- if (!bs.toString().equals("1-10")) {
- fail("bad value");
- }
- bs = new RLEBitSet("69,70,71");
- if (bs.isEmpty()) {
- fail("bit set is empty");
- }
- if (!bs.toString().equals("69-71")) {
- fail("bad value");
- }
- bs = new RLEBitSet("555 444 443 442");
- if (!bs.toString().equals("442-444,555")) {
- fail("bad value");
- }
- }
-
- @Test
- public void testLength() {
- RLEBitSet bs = new RLEBitSet();
- if (bs.length() != 0) {
- fail("testLength fail " + bs + " " + bs.length());
- }
- bs = new RLEBitSet("1-10");
- if (bs.length() != 11) {
- fail("testLength fail " + bs + " " + bs.length());
- }
- bs = new RLEBitSet("1-20,100000000-100000005");
- if (bs.length() != 100000006) {
- fail("testLength fail " + bs + " " + bs.length());
- }
- }
-
- @Test
- public void testGet() {
- RLEBitSet bs = new RLEBitSet("1-10");
- if (!bs.get(5)) {
- fail("get");
- }
- if (bs.get(69)) {
- fail("get");
- }
- }
-
- @Test
- public void testSetOneBit() {
- RLEBitSet bs = new RLEBitSet();
- for (int i = 12; i < 200; i++) {
- bs.set(i);
- }
- bs.set(690);
- for (int i = 305; i < 309; i++) {
- bs.set(i);
- }
- bs.set(304);
- if (!bs.toString().equals("12-199,304-308,690")) {
- fail("testSetOneBit fail " + bs);
- }
- }
-
- @Test
- public void testSetString() {
- RLEBitSet bs = new RLEBitSet();
- bs.set("1-100");
- if (!bs.toString().equals("1-100")) {
- fail("testSetString fail " + bs);
- }
- }
-
- @Test
- public void testSetRange() {
- RLEBitSet bs = new RLEBitSet();
- bs.set(50,60);
- if (!bs.toString().equals("50-59")) {
- fail("testSetRange fail " + bs);
- }
- }
-
- @Test
- public void testClearOneBit() {
- RLEBitSet bs = new RLEBitSet("1-10");
- bs.clear(5);
- if (!bs.toString().equals("1-4,6-10")) {
- fail("testClearOneBit fail");
- }
- bs = new RLEBitSet("1-10");
- bs.clear(11);
- if (!bs.toString().equals("1-10")) {
- fail("testClearOneBit fail " + bs);
- }
- }
-
- @Test
- public void testClearRangeLeft() {
- RLEBitSet bs = new RLEBitSet("100-200");
- bs.clear(40,50);
- if (!bs.toString().equals("100-200")) {
- fail("testClearRangeLeft fail " + bs);
- }
- }
-
- @Test
- public void testClearRangeRight() {
- RLEBitSet bs = new RLEBitSet("100-200");
- bs.clear(400,500);
- if (!bs.toString().equals("100-200")) {
- fail("testClearRangeRight fail " + bs);
- }
- }
-
- @Test
- public void testClearRangeMiddle() {
- RLEBitSet bs = new RLEBitSet("100-200");
- bs.clear(120,130);
- if (!bs.toString().equals("100-119,130-200")) {
- fail("testClearRangeRight fail " + bs);
- }
- }
-
- @Test
- public void testClearRangeIntersect() {
- RLEBitSet bs = new RLEBitSet("100-200");
- bs.clear(100,200);
- if (!bs.toString().equals("200")) {
- fail("testClearRangeIntersect fail " + bs);
- }
- }
-
- @Test
- public void testClearOverlapLeft() {
- RLEBitSet bs = new RLEBitSet("100-200");
- bs.clear(50,150);
- if (!bs.toString().equals("150-200")) {
- fail("testClearOverlapLeft fail " + bs);
- }
- }
-
- @Test
- public void testClearOverlapRight() {
- RLEBitSet bs = new RLEBitSet("100-200");
- bs.clear(150,250);
- if (!bs.toString().equals("100-149")) {
- fail("testClearOverlapRight fail " + bs);
- }
- }
-
- @Test
- public void testClearOverlapAll() {
- RLEBitSet bs = new RLEBitSet("100-200");
- bs.clear(50,250);
- if (!bs.toString().equals("")) {
- fail("testClearOverlapAll fail " + bs);
- }
- }
-
- @Test
- public void testAnd() {
- RLEBitSet bs = new RLEBitSet("100-200");
- RLEBitSet b2 = new RLEBitSet("150-400");
- bs.and(b2);
- if (!bs.toString().equals("150-200")) {
- fail("testAnd fail " + bs);
- }
- bs = new RLEBitSet("100-200");
- b2 = new RLEBitSet("1500-4000");
- bs.and(b2);
- if (!bs.isEmpty()) {
- fail("testAnd fail " + bs);
- }
- }
-
- @Test
- public void testAndNot() {
- RLEBitSet bs = new RLEBitSet("100-200");
- RLEBitSet b2 = new RLEBitSet("150-159");
- bs.andNot(b2);
- if (!bs.toString().equals("100-149,160-200")) {
- fail("testAndNot fail " + bs);
- }
- }
-
- @Test
- public void testIsEmpty() {
- RLEBitSet bs = new RLEBitSet("");
- if (!bs.isEmpty()) {
- fail("testIsEmpty fail " + bs);
- }
- bs.set(1);
- if (bs.isEmpty()) {
- fail("testIsEmpty fail " + bs);
- }
- }
-
- @Test
- public void testCardinality() {
- RLEBitSet bs = new RLEBitSet("1-120,10000000-10000005");
- if (bs.cardinality() != 126) {
- fail("testCardinality fail 1");
- }
- }
-
- @Test
- public void testIterator() {
- RLEBitSet rleBitSet = new RLEBitSet("1,5,10-12");
- Iterator<Long[]> rleBitSetRangeIterator = rleBitSet.getRangeIterator();
- if (!rleBitSetRangeIterator.hasNext()) {
- fail("iterator fail 1");
- }
- Long[] ll = rleBitSetRangeIterator.next();
- if (ll == null || ll[0] != 1 || ll[1] != 1) {
- fail("iterator fail 2");
- }
-
- if (!rleBitSetRangeIterator.hasNext()) {
- fail("iterator fail 3");
- }
- ll = rleBitSetRangeIterator.next();
- if (ll == null || ll[0] != 5 || ll[1] != 5) {
- fail("iterator fail 4");
- }
-
- if (!rleBitSetRangeIterator.hasNext()) {
- fail("iterator fail 5");
- }
- ll = rleBitSetRangeIterator.next();
- if (ll == null || ll[0] != 10 || ll[1] != 12) {
- fail("iterator fail 6");
- }
-
- if (rleBitSetRangeIterator.hasNext()) {
- fail("iterator fail 7");
- }
- }
-
- @Test
- public void testClone() {
- RLEBitSet bs1 = new RLEBitSet("1,5,10-12");
- RLEBitSet bs2 = (RLEBitSet) bs1.clone();
- if (!bs1.toString().equals(bs2.toString())) {
- fail("clone");
- }
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestRouteApi.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestRouteApi.java
deleted file mode 100644
index 365ceab2..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestRouteApi.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-public class IntegrationTestRouteApi extends IntegrationTestBase {
-
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestSubscribePost.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestSubscribePost.java
deleted file mode 100644
index dfcdeff4..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestSubscribePost.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-
-package datarouter.provisioning;
-
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.ByteArrayEntity;
-import org.apache.http.entity.ContentType;
-import org.apache.http.util.EntityUtils;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.json.JSONTokener;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.dmaap.datarouter.provisioning.FeedServlet;
-import org.onap.dmaap.datarouter.provisioning.SubscribeServlet;
-
-public class IntegrationTestSubscribePost extends IntegrationTestBase {
- private int feednum = 0;
-
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- }
-
- /**
- * This is the setUp method.
- */
- @Before
- public void setUp() throws Exception {
- super.setUp();
- getDBstate();
- // use the first feed to subscribe to
- JSONArray ja = db_state.getJSONArray("feeds");
- for (int i = 0; i < ja.length(); i++) {
- JSONObject feed0 = ja.getJSONObject(i);
- if (feed0 != null && !feed0.getBoolean("deleted")) {
- feednum = feed0.getInt("feedid");
- return;
- }
- }
- }
-
- @Test
- public void testNormal() {
- JSONObject jo = buildSubRequest();
- testCommon(jo, HttpServletResponse.SC_CREATED);
- }
-
- @Test
- public void testMissingUrl() {
- JSONObject jo = buildSubRequest();
- jo.getJSONObject("delivery").remove("url");
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST);
- }
-
- @Test
- public void testTooLongUrl() {
- JSONObject jo = buildSubRequest();
- jo.getJSONObject("delivery").put("url", "https://" + s257);
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST);
- }
-
- @Test
- public void testMissingUser() {
- JSONObject jo = buildSubRequest();
- jo.getJSONObject("delivery").remove("user");
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST);
- }
-
- @Test
- public void testTooLongUser() {
- JSONObject jo = buildSubRequest();
- jo.getJSONObject("delivery").put("user", s33);
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST);
- }
-
- @Test
- public void testMissingPassword() {
- JSONObject jo = buildSubRequest();
- jo.getJSONObject("delivery").remove("password");
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST);
- }
-
- @Test
- public void testTooLongPassword() {
- JSONObject jo = buildSubRequest();
- jo.getJSONObject("delivery").put("password", s33);
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST);
- }
-
- @Test
- public void testNonBooleanMetadata() {
- JSONObject jo = buildSubRequest();
- jo.put("metadataOnly", s33);
- testCommon(jo, HttpServletResponse.SC_BAD_REQUEST);
- }
-
- private void testCommon(JSONObject jo, int expect) {
- String url = props.getProperty("test.host") + "/subscribe/" + feednum;
- HttpPost httpPost = new HttpPost(url);
- try {
- httpPost.addHeader(SubscribeServlet.BEHALF_HEADER, "JUnit");
- String strJo = jo.toString();
- HttpEntity body = new ByteArrayEntity(strJo.getBytes(),
- ContentType.create(SubscribeServlet.SUB_CONTENT_TYPE));
- httpPost.setEntity(body);
-
- HttpResponse response = httpclient.execute(httpPost);
- ckResponse(response, expect);
-
- HttpEntity entity = response.getEntity();
- String ctype = entity.getContentType().getValue();
- int code = response.getStatusLine().getStatusCode();
- if (code == HttpServletResponse.SC_CREATED && !ctype.equals(SubscribeServlet.SUBFULL_CONTENT_TYPE)) {
- fail("Got wrong content type: " + ctype);
- }
-
- // do something useful with the response body and ensure it is fully consumed
- if (ctype.equals(FeedServlet.SUBFULL_CONTENT_TYPE)) {
- JSONObject jo2 = null;
- try {
- jo2 = new JSONObject(new JSONTokener(entity.getContent()));
- } catch (Exception e) {
- fail("Bad JSON: " + e.getMessage());
- }
- try {
- jo2.getString("subscriber");
- JSONObject jo3 = jo2.getJSONObject("links");
- jo3.getString("self");
- jo3.getString("feed");
- jo3.getString("log");
- } catch (JSONException e) {
- fail("required field missing from result: " + e.getMessage());
- }
- } else {
- EntityUtils.consume(entity);
- }
- } catch (IOException e) {
- fail(e.getMessage());
- } finally {
- httpPost.releaseConnection();
- }
- }
-
- private JSONObject buildSubRequest() {
- JSONObject jo2 = new JSONObject();
- jo2.put("url", "https://www.att.com/");
- jo2.put("user", "dmr");
- jo2.put("password", "passw0rd");
- jo2.put("use100", true);
-
- JSONObject jo = new JSONObject();
- jo.put("delivery", jo2);
- jo.put("metadataOnly", Boolean.FALSE);
- return jo;
- }
-}
diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/package.html b/datarouter-prov/src/test/java/datarouter/provisioning/package.html
deleted file mode 100644
index d0383b8d..00000000
--- a/datarouter-prov/src/test/java/datarouter/provisioning/package.html
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START==================================================
- * * org.onap.dmaap
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * *
- ******************************************************************************/
-<html>
-<body>
-<p>
-This package provides JUnit tests for the provisioning server.
-</p>
-</body>
-</html>
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/");
+ }
+
+}
diff --git a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.cred.props b/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.cred.props
deleted file mode 100644
index bf3feda8..00000000
--- a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.cred.props
+++ /dev/null
@@ -1,17 +0,0 @@
-############################################################
-# Properties Generated by AT&T Certificate Manager
-# by root
-# on 2022-03-22T12:34:23.012+0000
-# @copyright 2019, AT&T
-############################################################
-Challenge=enc:v6yuDc_Lu1OgeFEthckOsa7R0XW6h0iZqUQXnw4CpstwzjmN0x9VOsf27um5fC5z
-cadi_alias=dmaap-dr-prov@dmaap-dr.onap.org
-cadi_key_password=enc:CBXkw5IMQ8IeOhERa_oK4XcS1BsKy3T9BiZgAOIBqI46Nvy0USwgXCyOkTgVlJn7
-cadi_keyfile=src/test/resources/aaf/org.onap.dmaap-dr.keyfile
-cadi_keystore=src/test/resources/aaf/org.onap.dmaap-dr.p12
-cadi_keystore_password=enc:Qd78mq7KSyK4G-gmnA0YVrB4jpMLgMX_4jDmwkdkKpD-MmonHNXlDA0TzRd3oxWe
-cadi_keystore_password_jks=enc:GuyybAMtPX21LbCx_AXGnO7nz3NlPenZESuLVgrw-_cK55re75K4YOLYVzQswUYU
-cadi_keystore_password_p12=enc:Qd78mq7KSyK4G-gmnA0YVrB4jpMLgMX_4jDmwkdkKpD-MmonHNXlDA0TzRd3oxWe
-cadi_truststore=src/test/resources/aaf/org.onap.dmaap-dr.trust.jks
-cadi_truststore_password=enc:y10bIyzTHei-rxWnWgHUUFUD_9TfOBdxmIn6vEf0zsyZtWmeP8ZjFE1LoPn7Ri4g
-cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
diff --git a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.keyfile b/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.keyfile
deleted file mode 100644
index 86092892..00000000
--- a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.keyfile
+++ /dev/null
@@ -1,27 +0,0 @@
-gf-I4kLSg98uxwCXpklt-W2Qfa0mFgvXDoQk_qsLs4uuLI9FmWkrdlgdqzEgISL1sf6SAhoXFXO4
-BSm8fSPPrjaFEQ-uZcho1bY63lG710ZLh7vf0Bc7WPieRXesloH07CRXXjUdTkXXU8qTP6Ufru16
-mbGODzcZ-Ygm2GLVbkLk7953CJYIvuYT0M3ggrDr51eOalpgwXA1uO2DCTmY_fyqFNpZbLEtcYAx
-EEBkbaT0KhKwSfXfPINjpfCVMNBr3eK2m75RFJzTmA4Nq_WFgQQBUJkYu6EaWR8xwKEnX3brIFN-
-uY8Xk-Wxh8hhqNQWSxaSa_w6BfbP5CwUpIk9Ex1v_gCa63NIy4WzoRxOHKuCQAS26vLJFxTTNOlP
-d_DVC0gmvL-q8VnedNVSsRw1zuDOtOzKg3iUbTjopba3YryelxwL2xUJzkxv8RiOVvTCdZ34lPP0
-vQCaGJYg52OKOCMaIs4e6bqfCFMT4nlbad--mPeZGS3X5pJ0xSAMRa8L2_ksHbTOvcjOlCvmWNDK
-puP22sdegP-mV6Ygm30Gyn7TnUodDA3bzIiA70zrkrlt8pBMhKmCbmWvGfjItoRnfGwtlsm1OU73
-Jst8pQ_mvCK486UoH4Lui1kNBTqAJIrzYT_m-MrL6w9lx7Lu-ZG0HqdDVO4zB06WTyCXT-I2r-XS
-F9ddoQ3GOUMA4kIckEeEVYfZiVaoPeizNwynSLHZDA3Xztc-kz7HEqdUCypM5pM32qGN-z4Gzbh0
-K4GO7_cGyctMGNY5za3iANK3BBBx9d3G3XKuCH2EDF9aj_kFarMaJjTHwn9-OAeD2GXtdYQqarod
-4Yw11CD8JjyF6PdYstTh9t5_iK3pZjFaLMBPlLFN_tDu_5zsVagJjM7nMjfn8iWH5o3rj7WAIqBC
-NoxZhIRUVpEmDKkhsnq9i9gdjoiKjrNwEsswX2vGsXEAf1vTXH2YsgraTjEhlW0cIb4PBLd4YoSE
-AW3MXhwu5rYFgGooHyB99OKZOX6-5Y44fA0TE0ypn8HZ5oVrERCHVHNXsiXg1pRjTHjoIYUFoSQQ
-lT8eVUo5MUxQ0SVKUi03wA7EduWrwvuD_KyLeNnvECj6IDuK7qiqH86UV7AyQhwjSZPj4N3KIlvD
-VJNLmt6s8b6SLZpO23P-ZceFEIIYG7E1IGmo2s5VkWTNTkvqD7blxoOsfBIxb-SjttnMtbKCcXPj
-aKMC1oqr5xLsvtg9XDKKXt4kELElRBiKtrud8t7qqYMfC-q6lIddmG8x_196qsYiErKd9mLyDT2H
-DG9wmz3dDds_bUnXA7_-LsriDI4t_fAqAKnvR8tLi9DjhU1g9yjlGuKn4yd3y8aK-UFFfBi1AKxA
-WoxSt2Omw_sl9Jc6bzoZ2_NHPZz7IaDhSu1imAAcAms4SIr3g-MnBffVpxarrXYsoaxurMRMoqLx
-r0DyV1Y9IZSwo-xsWk42CxrvEF31AmFWewI0ykA8bZ-zpWux3z7BfbKDqxglg3Lp5uIfVFHamds3
-ya-KMBCtaSgiJ9fB7Q183Lt0tMxrOLe3hln55I4SRgHT5blh1LEznIigIfhFEOo514JEdctkVrDS
-bDSbCO-yZE_0BcznTsjoyImwObeVRbDDu0feM9uGs4fL7zwVCbzEurGU2js-0o0rcyDiv30tsL5S
-LaxA-xz7x5HO4JAd7BeaeF4-v0-IeLKPH4HzYk0g1PKskZaZHMWBWSPaJWin68ahh9Eh44xSjsCW
-TUcoddf4-5HZS_RWlrLvbnfbEBAm7Ikbno1zLJz7_H3tmLKv2axkGEu-YWIAffb7xMzG0T9m6S3B
-Iz1jWxtJ41gTE5kGFmaezDeUGPrioaqOq0bCq6DStQMc_5kcKAIg6GffOX75ZvagC2E6E_B58AGU
-iVDzz_yi4Xcssf2jN-MIiHes0HsMQILrLAu1PLZh9qOIGOnVgLdwr0o5CGsg0h7Bxxl6jFQubwAZ
-rc2foRg7arAcRHYasoC34f9pH0hfBzHfTGg5S7bWU6mDaldpWS8Na0EoCoFoZATkdzG77w6c \ No newline at end of file
diff --git a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.location.props b/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.location.props
deleted file mode 100644
index eef8aac6..00000000
--- a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.location.props
+++ /dev/null
@@ -1,8 +0,0 @@
-############################################################
-# Properties Generated by AT&T Certificate Manager
-# by root
-# on 2022-03-22T12:34:21.359+0000
-# @copyright 2019, AT&T
-############################################################
-cadi_latitude=38.0
-cadi_longitude=-72.0
diff --git a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.p12 b/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.p12
deleted file mode 100644
index 69948c25..00000000
--- a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.p12
+++ /dev/null
Binary files differ
diff --git a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.props b/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.props
deleted file mode 100644
index 985939b6..00000000
--- a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.props
+++ /dev/null
@@ -1,24 +0,0 @@
-############################################################
-# Properties Generated by AT&T Certificate Manager
-# by root
-# on 2022-03-22T12:34:21.357+0000
-# @copyright 2019, AT&T
-############################################################
-aaf_env=DEV
-aaf_id=dmaap-dr-prov@dmaap-dr.onap.org
-aaf_locate_url=https://aaf-locate.onap:8095
-aaf_locator_app_ns=org.osaaf.aaf
-aaf_locator_container=oom
-aaf_locator_container_ns=onap
-aaf_locator_fqdn=dmaap-dr-prov
-aaf_locator_public_fqdn=aaf.osaaf.org
-aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.introspect:2.1/introspect
-aaf_oauth2_token_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.token:2.1/token
-aaf_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.service:2.1
-aaf_url_cm=https://AAF_LOCATE_URL/%CNS.%AAF_NS.cm:2.1
-aaf_url_fs=https://AAF_LOCATE_URL/%CNS.%AAF_NS.fs:2.1
-aaf_url_gui=https://AAF_LOCATE_URL/%CNS.%AAF_NS.gui:2.1
-aaf_url_hello=https://aaf-locate.onap:8095/locate/onap.org.osaaf.aaf.hello:2.1
-aaf_url_oauth=https://AAF_LOCATE_URL/%CNS.%AAF_NS.oauth:2.1
-cadi_prop_files=src/test/resources/aaf/org.onap.dmaap-dr.location.props:src/test/resources/aaf/org.onap.dmaap-dr.cred.props
-cadi_protocols=TLSv1.1,TLSv1.2
diff --git a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.trust.jks b/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.trust.jks
deleted file mode 100644
index 3666b965..00000000
--- a/datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.trust.jks
+++ /dev/null
Binary files differ
diff --git a/datarouter-prov/src/test/resources/certs/org.onap.dmaap-dr-prov.p12 b/datarouter-prov/src/test/resources/certs/org.onap.dmaap-dr-prov.p12
new file mode 100755
index 00000000..1393fb05
--- /dev/null
+++ b/datarouter-prov/src/test/resources/certs/org.onap.dmaap-dr-prov.p12
Binary files differ
diff --git a/datarouter-prov/src/test/resources/certs/truststore.jks b/datarouter-prov/src/test/resources/certs/truststore.jks
new file mode 100644
index 00000000..91547c60
--- /dev/null
+++ b/datarouter-prov/src/test/resources/certs/truststore.jks
Binary files differ
diff --git a/datarouter-prov/src/test/resources/create.sql b/datarouter-prov/src/test/resources/create.sql
index 06150abc..0fbd1099 100755
--- a/datarouter-prov/src/test/resources/create.sql
+++ b/datarouter-prov/src/test/resources/create.sql
@@ -14,8 +14,7 @@ CREATE TABLE FEEDS (
DELETED BOOLEAN DEFAULT FALSE,
LAST_MOD TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
SUSPENDED BOOLEAN DEFAULT FALSE,
- CREATED_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- AAF_INSTANCE VARCHAR(256)
+ CREATED_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE FEED_ENDPOINT_IDS (
@@ -46,9 +45,7 @@ CREATE TABLE SUBSCRIPTIONS (
SUSPENDED BOOLEAN DEFAULT FALSE,
PRIVILEGED_SUBSCRIBER BOOLEAN DEFAULT FALSE,
CREATED_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- DECOMPRESS BOOLEAN DEFAULT FALSE,
- AAF_INSTANCE VARCHAR(256)
-
+ DECOMPRESS BOOLEAN DEFAULT FALSE
);
CREATE TABLE PARAMETERS (
@@ -152,17 +149,17 @@ INSERT INTO PARAMETERS VALUES
INSERT INTO GROUPS(GROUPID, AUTHID, NAME, DESCRIPTION, CLASSIFICATION, MEMBERS)
VALUES (1, 'Basic dXNlcjE6cGFzc3dvcmQx', 'Group1', 'First Group for testing', 'Class1', 'Member1');
-INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, FOLLOW_REDIRECTS, DELIVERY_USER, DELIVERY_PASSWORD, DELIVERY_USE100, METADATA_ONLY, SUBSCRIBER, SUSPENDED, GROUPID, PRIVILEGED_SUBSCRIBER, AAF_INSTANCE, DECOMPRESS)
-VALUES (1, 1, 'https://172.100.0.5:8080', 0, 'user1', 'password1', true, false, 'user1', false, 1, false, 'legacy', false);
+INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, FOLLOW_REDIRECTS, DELIVERY_USER, DELIVERY_PASSWORD, DELIVERY_USE100, METADATA_ONLY, SUBSCRIBER, SUSPENDED, GROUPID, PRIVILEGED_SUBSCRIBER, DECOMPRESS)
+VALUES (1, 1, 'https://172.100.0.5:8080', 0, 'user1', 'password1', true, false, 'user1', false, 1, false, false);
-INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, FOLLOW_REDIRECTS, DELIVERY_USER, DELIVERY_PASSWORD, DELIVERY_USE100, METADATA_ONLY, SUBSCRIBER, SUSPENDED, GROUPID, AAF_INSTANCE)
-VALUES (2, 1, 'https://172.100.0.5:8080', 0, 'user2', 'password2', true, true, 'subsc2', false, 1, '*');
+INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, FOLLOW_REDIRECTS, DELIVERY_USER, DELIVERY_PASSWORD, DELIVERY_USE100, METADATA_ONLY, SUBSCRIBER, SUSPENDED, GROUPID)
+VALUES (2, 1, 'https://172.100.0.5:8080', 0, 'user2', 'password2', true, true, 'subsc2', false, 1);
-INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, FOLLOW_REDIRECTS, DELIVERY_USER, DELIVERY_PASSWORD, DELIVERY_USE100, METADATA_ONLY, SUBSCRIBER, SUSPENDED, GROUPID, AAF_INSTANCE)
-VALUES (3, 1, 'https://172.100.0.5:8080', 0, 'user3', 'password3', true, true, 'subsc3', false, 1, '*');
+INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, FOLLOW_REDIRECTS, DELIVERY_USER, DELIVERY_PASSWORD, DELIVERY_USE100, METADATA_ONLY, SUBSCRIBER, SUSPENDED, GROUPID)
+VALUES (3, 1, 'https://172.100.0.5:8080', 0, 'user3', 'password3', true, true, 'subsc3', false, 1);
-INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, DELIVERY_USER, DELIVERY_PASSWORD, SUBSCRIBER, SELF_LINK, LOG_LINK, AAF_INSTANCE)
-VALUES (23, 1, 'http://delivery_url', 'user1', 'somepassword', 'sub123', 'selflink', 'loglink', 'legacy');
+INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, DELIVERY_USER, DELIVERY_PASSWORD, SUBSCRIBER, SELF_LINK, LOG_LINK)
+VALUES (23, 1, 'http://delivery_url', 'user1', 'somepassword', 'sub123', 'selflink', 'loglink');
INSERT INTO FEED_ENDPOINT_IDS(FEEDID, USERID, PASSWORD)
VALUES (1, 'USER', 'PASSWORD');
@@ -173,11 +170,11 @@ VALUES (1, '172.0.0.1');
INSERT INTO FEEDS(FEEDID, GROUPID, NAME, VERSION, DESCRIPTION, BUSINESS_DESCRIPTION, AUTH_CLASS, PUBLISHER, SELF_LINK, PUBLISH_LINK, SUBSCRIBE_LINK, LOG_LINK)
VALUES (1, 1,'Feed1','v0.1', 'First Feed for testing', 'First Feed for testing', 'auth_class', 'pub','self_link','publish_link','subscribe_link','log_link');
-INSERT INTO FEEDS(FEEDID, GROUPID, NAME, VERSION, DESCRIPTION, BUSINESS_DESCRIPTION, AUTH_CLASS, PUBLISHER, SELF_LINK, PUBLISH_LINK, SUBSCRIBE_LINK, LOG_LINK, AAF_INSTANCE)
-VALUES (2, 1,'AafFeed','v0.1', 'AAF Feed for testing', 'AAF Feed for testing', 'auth_class', 'pub','self_link','publish_link','subscribe_link','log_link','*');
+INSERT INTO FEEDS(FEEDID, GROUPID, NAME, VERSION, DESCRIPTION, BUSINESS_DESCRIPTION, AUTH_CLASS, PUBLISHER, SELF_LINK, PUBLISH_LINK, SUBSCRIBE_LINK, LOG_LINK)
+VALUES (2, 1,'Feed22','v0.1', '2nd Feed for testing', 'Feed for testing', 'auth_class', 'pub','self_link','publish_link','subscribe_link','log_link');
-INSERT INTO FEEDS(FEEDID, GROUPID, NAME, VERSION, DESCRIPTION, BUSINESS_DESCRIPTION, AUTH_CLASS, PUBLISHER, SELF_LINK, PUBLISH_LINK, SUBSCRIBE_LINK, LOG_LINK, AAF_INSTANCE)
-VALUES (3, 1,'DeleteableAafFeed','v0.1', 'AAF Feed3 for testing', 'AAF Feed3 for testing', 'auth_class', 'pub','self_link','publish_link','subscribe_link','log_link','*');
+INSERT INTO FEEDS(FEEDID, GROUPID, NAME, VERSION, DESCRIPTION, BUSINESS_DESCRIPTION, AUTH_CLASS, PUBLISHER, SELF_LINK, PUBLISH_LINK, SUBSCRIBE_LINK, LOG_LINK)
+VALUES (3, 1,'DeleteableFeed','v0.1', 'Feed3 for testing', 'Feed3 for testing', 'auth_class', 'pub','self_link','publish_link','subscribe_link','log_link');
insert into INGRESS_ROUTES(SEQUENCE, FEEDID , USERID, SUBNET, NODESET)
VALUES (1,1,'user','172.100.0.0/25',2);
diff --git a/datarouter-prov/src/test/resources/h2Database.properties b/datarouter-prov/src/test/resources/h2Database.properties
index 95968716..1aa631db 100755
--- a/datarouter-prov/src/test/resources/h2Database.properties
+++ b/datarouter-prov/src/test/resources/h2Database.properties
@@ -25,12 +25,18 @@
org.onap.dmaap.datarouter.db.driver = org.h2.Driver
org.onap.dmaap.datarouter.db.url = jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
org.onap.dmaap.datarouter.provserver.isaddressauthenabled = true
-org.onap.dmaap.datarouter.provserver.cadi.enabled = true
org.onap.dmaap.datarouter.provserver.https.relaxation = false
org.onap.dmaap.datarouter.provserver.accesslog.dir = unit-test-logs
org.onap.dmaap.datarouter.provserver.spooldir = src/test/resources
org.onap.dmaap.datarouter.provserver.dbscripts = src/test/resources
org.onap.dmaap.datarouter.provserver.localhost = 127.0.0.1
org.onap.dmaap.datarouter.provserver.tlsenabled = true
+org.onap.dmaap.datarouter.provserver.keystoretype = PKCS12
+org.onap.dmaap.datarouter.provserver.keystorepath = src/test/resources/certs/org.onap.dmaap-dr-prov.p12
+org.onap.dmaap.datarouter.provserver.keystorepassword = secret
+org.onap.dmaap.datarouter.provserver.keymanagerpassword = secret
+org.onap.dmaap.datarouter.provserver.truststoretype = jks
+org.onap.dmaap.datarouter.provserver.truststorepath = src/test/resources/certs/truststore.jks
+org.onap.dmaap.datarouter.provserver.truststorepassword = secret
org.onap.dmaap.datarouter.nodeserver.https.port = 8443
org.onap.dmaap.datarouter.nodeserver.http.port = 8080
diff --git a/datarouter-prov/src/test/resources/h2DatabaseTlsDisabled.properties b/datarouter-prov/src/test/resources/h2DatabaseTlsDisabled.properties
deleted file mode 100644
index b7f5aa9d..00000000
--- a/datarouter-prov/src/test/resources/h2DatabaseTlsDisabled.properties
+++ /dev/null
@@ -1,36 +0,0 @@
-#-------------------------------------------------------------------------------
-# ============LICENSE_START==================================================
-# * org.onap.dmaap
-# * ===========================================================================
-# * Copyright ? 2017 AT&T Intellectual Property. All rights reserved.
-# * ===========================================================================
-# * Licensed under the Apache License, Version 2.0 (the "License");
-# * you may not use this file except in compliance with the License.
-# * You may obtain a copy of the License at
-# *
-# * http://www.apache.org/licenses/LICENSE-2.0
-# *
-# * Unless required by applicable law or agreed to in writing, software
-# * distributed under the License is distributed on an "AS IS" BASIS,
-# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# * See the License for the specific language governing permissions and
-# * limitations under the License.
-# * ============LICENSE_END====================================================
-# *
-# * ECOMP is a trademark and service mark of AT&T Intellectual Property.
-# *
-#-------------------------------------------------------------------------------
-
-# Database access
-org.onap.dmaap.datarouter.db.driver = org.h2.Driver
-org.onap.dmaap.datarouter.db.url = jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
-org.onap.dmaap.datarouter.provserver.isaddressauthenabled = true
-org.onap.dmaap.datarouter.provserver.cadi.enabled = false
-org.onap.dmaap.datarouter.provserver.https.relaxation = true
-org.onap.dmaap.datarouter.provserver.accesslog.dir = unit-test-logs
-org.onap.dmaap.datarouter.provserver.spooldir = src/test/resources
-org.onap.dmaap.datarouter.provserver.dbscripts = src/test/resources
-org.onap.dmaap.datarouter.provserver.localhost = 127.0.0.1
-org.onap.dmaap.datarouter.provserver.tlsenabled = false
-org.onap.dmaap.datarouter.nodeserver.https.port = 8443
-org.onap.dmaap.datarouter.nodeserver.http.port = 8080
diff --git a/datarouter-prov/src/test/resources/integration_test.properties b/datarouter-prov/src/test/resources/integration_test.properties
deleted file mode 100644
index 9ac1850a..00000000
--- a/datarouter-prov/src/test/resources/integration_test.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-test.keystore=aaf_certs/org.onap.dmaap-dr.jks
-test.kspassword=Qgw77oaQcdP*F8Pwa[&.,.Ab
-test.truststore=aaf_certs/org.onap.dmaap-dr.trust.jks
-test.tspassword=9M?)?:KAj1z6gpLhNrVUG@0T
-test.host=https://dmaap-dr-prov:8443 \ No newline at end of file
diff --git a/datarouter-prov/src/test/resources/prov_data.json b/datarouter-prov/src/test/resources/prov_data.json
index 80ff6fab..be5e6e80 100644
--- a/datarouter-prov/src/test/resources/prov_data.json
+++ b/datarouter-prov/src/test/resources/prov_data.json
@@ -22,7 +22,6 @@
"feedid": 1,
"name": "Default PM Feed",
"business_description": "Default Feed",
- "aaf_instance": "legacy",
"publisher": "dradmin",
"links": {
"subscribe": "http://dmaap-dr-prov/subscribe/1",
@@ -60,7 +59,6 @@
"feedid": 1,
"follow_redirect": false,
"decompress": true,
- "aaf_instance": "legacy",
"links": {
"feed": "http://dmaap-dr-prov/feed/1",
"log": "http://dmaap-dr-prov/sublog/1",
diff --git a/datarouter-prov/src/test/resources/sql_init_01.sql b/datarouter-prov/src/test/resources/sql_init_01.sql
index 1ac74a03..3a8c901a 100755
--- a/datarouter-prov/src/test/resources/sql_init_01.sql
+++ b/datarouter-prov/src/test/resources/sql_init_01.sql
@@ -14,8 +14,7 @@ CREATE TABLE FEEDS (
DELETED BOOLEAN DEFAULT FALSE,
LAST_MOD TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
SUSPENDED BOOLEAN DEFAULT FALSE,
- CREATED_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- AAF_INSTANCE VARCHAR(256)
+ CREATED_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE FEED_ENDPOINT_IDS (
@@ -46,9 +45,7 @@ CREATE TABLE SUBSCRIPTIONS (
SUSPENDED BOOLEAN DEFAULT FALSE,
PRIVILEGED_SUBSCRIBER BOOLEAN DEFAULT FALSE,
CREATED_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- DECOMPRESS BOOLEAN DEFAULT FALSE,
- AAF_INSTANCE VARCHAR(256)
-
+ DECOMPRESS BOOLEAN DEFAULT FALSE
);
CREATE TABLE PARAMETERS (