summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/dmaap/mr/test/dmaap/DMaapPubSubTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/onap/dmaap/mr/test/dmaap/DMaapPubSubTest.java')
-rw-r--r--src/test/java/org/onap/dmaap/mr/test/dmaap/DMaapPubSubTest.java121
1 files changed, 121 insertions, 0 deletions
diff --git a/src/test/java/org/onap/dmaap/mr/test/dmaap/DMaapPubSubTest.java b/src/test/java/org/onap/dmaap/mr/test/dmaap/DMaapPubSubTest.java
new file mode 100644
index 0000000..ca659f5
--- /dev/null
+++ b/src/test/java/org/onap/dmaap/mr/test/dmaap/DMaapPubSubTest.java
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * ============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 org.onap.dmaap.mr.test.dmaap;
+
+public class DMaapPubSubTest {
+/* private static final Logger LOGGER = Logger.getLogger(DMaapTopicTest.class);
+ Client client = ClientBuilder.newClient();
+ String url = LoadPropertyFile.getPropertyFileData().getProperty("url");
+ WebTarget target = client.target(url);
+ String topicapikey;
+ String topicsecretKey;
+ String serverCalculatedSignature;
+ String date = LoadPropertyFile.getPropertyFileData().getProperty("date");
+ // changes by islam
+ String topic_name = LoadPropertyFile.getPropertyFileData().getProperty("topicName");
+ DmaapApiKeyTest keyInstance = new DmaapApiKeyTest();
+
+
+ public void testProduceMessage() {
+ LOGGER.info("test case publish message");
+ // DMaapTopicTest topicCreation = new DMaapTopicTest();
+ DmaapApiKeyTest keyInstance = new DmaapApiKeyTest();
+ // creating topic
+ createTopic(topic_name);
+
+ target = client.target(url);
+ target = target.path("/events/");
+ target = target.path(topic_name);
+ Response response2 = target.request().header("X-CambriaAuth", topicapikey + ":" + serverCalculatedSignature)
+ .header("X-CambriaDate", date).post(Entity.json("{message:producing first message}"));
+ keyInstance.assertStatus(response2);
+ LOGGER.info("successfully published message");
+ }
+
+ public void testConsumeMessage() {
+ LOGGER.info("test case subscribing message");
+ createTopic(topic_name);
+ target = client.target(url);
+ target = target.path("/events/");
+ target = target.path(topic_name);
+ target = target.path("consumGrp");
+ target = target.path(topicapikey);
+ Response response = target.request().get();
+ keyInstance.assertStatus(response);
+ LOGGER.info("successfully consumed messages");
+ InputStream is = (InputStream) response.getEntity();
+ Scanner s = new Scanner(is);
+ s.useDelimiter("\\A");
+ String data = s.next();
+ s.close();
+ LOGGER.info("Consumed Message data: " + data);
+ }
+
+ public void createTopic(String name) {
+ if (!topicExist(name)) {
+ TopicBean topicbean = new TopicBean();
+ topicbean.setDescription("creating topic");
+ topicbean.setPartitionCount(1);
+ topicbean.setReplicationCount(1);
+ topicbean.setTopicName(name);
+ topicbean.setTransactionEnabled(true);
+ target = client.target(url);
+ target = target.path("/topics/create");
+ JSONObject jsonObj = keyInstance.returnKey(new ApiKeyBean("ai039a@att.com", "topic creation"));
+ topicapikey = (String) jsonObj.get("key");
+ topicsecretKey = (String) jsonObj.get("secret");
+ serverCalculatedSignature = sha1HmacSigner.sign(date, topicsecretKey);
+ Response response = target.request().header("X-CambriaAuth", topicapikey + ":" + serverCalculatedSignature)
+ .header("X-CambriaDate", date).post(Entity.json(topicbean));
+ keyInstance.assertStatus(response);
+ }
+ }
+
+ public boolean topicExist(String topicName) {
+ target = target.path("/topics/" + topicName);
+ InputStream is, issecret;
+ Response response = target.request().get();
+ if (response.getStatus() == HttpStatus.SC_OK) {
+ is = (InputStream) response.getEntity();
+ Scanner s = new Scanner(is);
+ s.useDelimiter("\\A");
+ JSONObject dataObj = new JSONObject(s.next());
+ s.close();
+ // get owner of a topic
+ topicapikey = (String) dataObj.get("owner");
+ target = client.target(url);
+ target = target.path("/apiKeys/");
+ target = target.path(topicapikey);
+ Response response2 = target.request().get();
+ issecret = (InputStream) response2.getEntity();
+ Scanner st = new Scanner(issecret);
+ st.useDelimiter("\\A");
+ JSONObject dataObj1 = new JSONObject(st.next());
+ st.close();
+ // get secret key of this topic//
+ topicsecretKey = (String) dataObj1.get("secret");
+ serverCalculatedSignature = sha1HmacSigner.sign(date, topicsecretKey);
+ return true;
+ } else
+ return false;
+ }*/
+}