78341dfadbefae98c5f239fa12fc51244a683bbc
[ccsdk/features.git] /
1 package org.onap.ccsdk.features.sdnr.wt.apigateway.test;
2
3 import static org.junit.Assert.*;
4
5 import java.io.ByteArrayInputStream;
6 import java.io.File;
7 import java.io.IOException;
8
9 import javax.servlet.ServletException;
10
11 import org.junit.After;
12 import org.junit.Before;
13 import org.junit.Test;
14 import org.onap.ccsdk.features.sdnr.wt.apigateway.EsServlet.IRequestCallback;
15 import org.onap.ccsdk.features.sdnr.wt.apigateway.MyProperties;
16 import org.onap.ccsdk.features.sdnr.wt.apigateway.test.helper.HelpEsServlet;
17 import org.onap.ccsdk.features.sdnr.wt.apigateway.test.helper.HelpServletBase;
18
19 public class TestQueryCallback extends HelpServletBase{
20
21         private static final int PORT = 40011;
22         
23         public TestQueryCallback() {
24                 super("/database",PORT);
25         }
26
27         final String LR = "\n";
28
29         
30         private boolean hasCallback=false;
31         
32         @Test
33         public void test() throws ServletException, IOException {
34
35                 String tmpFilename = "tmp1.cfg";
36                 File tmpFile = new File(tmpFilename);
37                 if (tmpFile.exists())
38                         tmpFile.delete();
39                 MyProperties properties = MyProperties.Instantiate(tmpFile,true);
40                 String query = "{\"query\":{\"match_all\":{}}}";
41                 String tmpconfigcontent2 = "aai=off" + LR + "aaiHeaders=[]" + LR + "database=http://" + HOST + ":" + PORT + LR
42                                 + "insecure=1" + LR + "cors=1";
43                 HelpEsServlet servlet = new HelpEsServlet();
44                 this.setServlet(servlet);
45                 HelpEsServlet.registerRequestCallback("/mwtn/mediator-server", new IRequestCallback() {
46                         
47                         @Override
48                         public void onRequest(String uri, String method) {
49                                 hasCallback=true;
50                                 
51                         }
52                 });
53                 properties.load(new ByteArrayInputStream(tmpconfigcontent2.getBytes()));
54                 testrequest("/database/mwtn/mediator-server/_search",HTTPMETHOD_POST, query, HelpEsServlet.RESPONSE_POST, true);
55                 int wait=10;
56                 while(wait-->0) {
57                         if(hasCallback) {
58                                 break;
59                         }
60                         try {
61                                 Thread.sleep(1000);
62                         } catch (InterruptedException e) {
63                                 Thread.interrupted();
64                         }                       
65                 }
66                 assertTrue("no request callback received",hasCallback);
67                 hasCallback=false;
68                 testrequest("/database/mwtn/mediatr-server/_search",HTTPMETHOD_POST, query, HelpEsServlet.RESPONSE_POST, true);
69                 wait=5;
70                 while(wait-->0) {
71                         if(hasCallback) {
72                                 break;
73                         }
74                         try {
75                                 Thread.sleep(1000);
76                         } catch (InterruptedException e) {
77                                 Thread.interrupted();
78                         }                       
79                 }
80                 assertFalse("received request callback",hasCallback);
81                 
82                  
83                 
84                 if (tmpFile.exists())
85                         tmpFile.delete();
86                 
87                 
88         }
89         @Before
90         public void init() throws IOException{  
91                 HelpServletBase.initEsTestWebserver(PORT,"/database");
92         }
93         @After
94         public void deinit() {
95                 HelpServletBase.stopTestWebserver();
96         }
97
98 }