DMAAP-MR - Merge MR repos
[dmaap/messagerouter/messageservice.git] / src / test / java / org / onap / dmaap / mr / test / dmaap / DMaapPubSubTest.java
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 (file)
index 0000000..ca659f5
--- /dev/null
@@ -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;
+       }*/
+}