aboutsummaryrefslogtreecommitdiffstats
path: root/datarouter-prov/src/test/java/datarouter/provisioning
diff options
context:
space:
mode:
Diffstat (limited to 'datarouter-prov/src/test/java/datarouter/provisioning')
-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
18 files changed, 0 insertions, 2497 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>