aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/apigateway/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/apigateway/test/TestQueryCallback.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/apigateway/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/apigateway/test/TestQueryCallback.java')
-rw-r--r--sdnr/wt/apigateway/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/apigateway/test/TestQueryCallback.java98
1 files changed, 98 insertions, 0 deletions
diff --git a/sdnr/wt/apigateway/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/apigateway/test/TestQueryCallback.java b/sdnr/wt/apigateway/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/apigateway/test/TestQueryCallback.java
new file mode 100644
index 000000000..78341dfad
--- /dev/null
+++ b/sdnr/wt/apigateway/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/apigateway/test/TestQueryCallback.java
@@ -0,0 +1,98 @@
+package org.onap.ccsdk.features.sdnr.wt.apigateway.test;
+
+import static org.junit.Assert.*;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.apigateway.EsServlet.IRequestCallback;
+import org.onap.ccsdk.features.sdnr.wt.apigateway.MyProperties;
+import org.onap.ccsdk.features.sdnr.wt.apigateway.test.helper.HelpEsServlet;
+import org.onap.ccsdk.features.sdnr.wt.apigateway.test.helper.HelpServletBase;
+
+public class TestQueryCallback extends HelpServletBase{
+
+ private static final int PORT = 40011;
+
+ public TestQueryCallback() {
+ super("/database",PORT);
+ }
+
+ final String LR = "\n";
+
+
+ private boolean hasCallback=false;
+
+ @Test
+ public void test() throws ServletException, IOException {
+
+ String tmpFilename = "tmp1.cfg";
+ File tmpFile = new File(tmpFilename);
+ if (tmpFile.exists())
+ tmpFile.delete();
+ MyProperties properties = MyProperties.Instantiate(tmpFile,true);
+ String query = "{\"query\":{\"match_all\":{}}}";
+ String tmpconfigcontent2 = "aai=off" + LR + "aaiHeaders=[]" + LR + "database=http://" + HOST + ":" + PORT + LR
+ + "insecure=1" + LR + "cors=1";
+ HelpEsServlet servlet = new HelpEsServlet();
+ this.setServlet(servlet);
+ HelpEsServlet.registerRequestCallback("/mwtn/mediator-server", new IRequestCallback() {
+
+ @Override
+ public void onRequest(String uri, String method) {
+ hasCallback=true;
+
+ }
+ });
+ properties.load(new ByteArrayInputStream(tmpconfigcontent2.getBytes()));
+ testrequest("/database/mwtn/mediator-server/_search",HTTPMETHOD_POST, query, HelpEsServlet.RESPONSE_POST, true);
+ int wait=10;
+ while(wait-->0) {
+ if(hasCallback) {
+ break;
+ }
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ Thread.interrupted();
+ }
+ }
+ assertTrue("no request callback received",hasCallback);
+ hasCallback=false;
+ testrequest("/database/mwtn/mediatr-server/_search",HTTPMETHOD_POST, query, HelpEsServlet.RESPONSE_POST, true);
+ wait=5;
+ while(wait-->0) {
+ if(hasCallback) {
+ break;
+ }
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ Thread.interrupted();
+ }
+ }
+ assertFalse("received request callback",hasCallback);
+
+
+
+ if (tmpFile.exists())
+ tmpFile.delete();
+
+
+ }
+ @Before
+ public void init() throws IOException{
+ HelpServletBase.initEsTestWebserver(PORT,"/database");
+ }
+ @After
+ public void deinit() {
+ HelpServletBase.stopTestWebserver();
+ }
+
+}