1 package org.onap.ccsdk.features.sdnr.wt.apigateway.test;
3 import static org.junit.Assert.*;
4 import static org.mockito.Mockito.mock;
5 import static org.junit.Assert.assertTrue;
6 import static org.mockito.Mockito.when;
8 import java.util.HashMap;
11 import org.junit.Test;
12 import org.onap.ccsdk.features.sdnr.wt.apigateway.database.DatabaseEntryProvider;
13 import org.onap.ccsdk.features.sdnr.wt.apigateway.database.DatabaseHttpClient;
14 import org.onap.ccsdk.features.sdnr.wt.apigateway.database.MediatorServerInfo;
15 import org.onap.ccsdk.features.sdnr.wt.apigateway.database.http.BaseHTTPResponse;
17 public class TestDatabaseHttpClient {
19 private static final String ID_1="AWwscPepjf5-TrAFEdUD";
20 private static final String HOSTNAME_1="http://192.168.178.89:7070";
21 private static final String NAME_1="internal mediatorserver";
22 private static final String ID_2="AWwscSCWjf5-TrAFEdUE";
23 private static final String HOSTNAME_2="http://192.168.178.89:7071";
24 private static final String NAME_2="internal mediatorserver2";
25 private static final String ID_3="AWwscSCWjf5-TrAFEdsE";
26 private static final String HOSTNAME_3="http://192.168.178.88:7371";
27 private static final String NAME_3="test mediatorserver2";
29 private static final String RESPONSE_VALID="{\n" +
31 "\"timed_out\": false,\n" +
34 "\"successful\": 5,\n" +
39 "\"max_score\": 1,\n" +
42 "\"_index\": \"mwtn_v1\",\n" +
43 "\"_type\": \"mediator-server\",\n" +
44 "\"_id\": \"AWwscPepjf5-TrAFEdUD\",\n" +
47 "\"name\": \"internal mediatorserver\",\n" +
48 "\"url\": \"http://192.168.178.89:7070\"\n" +
53 "\"_index\": \"mwtn_v1\",\n" +
54 "\"_type\": \"mediator-server\",\n" +
55 "\"_id\": \"AWwscSCWjf5-TrAFEdUE\",\n" +
58 "\"name\": \"internal mediatorserver2\",\n" +
59 "\"url\": \"http://192.168.178.89:7071\"\n" +
66 private class PublicDatabaseHttpClient extends DatabaseHttpClient{
68 public PublicDatabaseHttpClient(String base, boolean trustAllCerts) {
69 super(base, trustAllCerts);
72 public BaseHTTPResponse sendRequest(String uri, String method, String body, Map<String, String> headers) {
73 return new BaseHTTPResponse(200, RESPONSE_VALID);
76 public class PublicDatabaseEntryProvider extends DatabaseEntryProvider {
78 protected PublicDatabaseEntryProvider() {
79 super(new PublicDatabaseHttpClient("http://localhost/",false), 60);
86 final PublicDatabaseHttpClient client = new PublicDatabaseHttpClient("http://localhost/",false);
87 Map<String, MediatorServerInfo> entries = client.requestEntries();
88 assertEquals("result size is not correct",2,entries.size());
89 assertEquals("hostname 1 is not correct",HOSTNAME_1,entries.get(ID_1).getHost());
90 assertEquals("name 1 is not correct",NAME_1,entries.get(ID_1).getName());
91 assertEquals("hostname 2 is not correct",HOSTNAME_2,entries.get(ID_2).getHost());
92 assertEquals("name 2 is not correct",NAME_2,entries.get(ID_2).getName());
96 final PublicDatabaseEntryProvider provider = new PublicDatabaseEntryProvider();
97 boolean reloaded = provider.triggerReloadSync();
98 assertTrue("data were not reloaded",reloaded);
101 } catch (InterruptedException e) {
102 Thread.interrupted();
105 System.out.println(provider.printEntries());
106 assertEquals("provider has not loaded data",HOSTNAME_1,provider.getHostUrl(ID_1));
107 assertEquals("provider has not loaded data",HOSTNAME_2,provider.getHostUrl(ID_2));
108 Map<String, MediatorServerInfo> entries2 = new HashMap<String,MediatorServerInfo>();
109 entries2.put(ID_3, new MediatorServerInfo(NAME_3, HOSTNAME_3));
110 provider.setEntries(entries2);
111 assertEquals("provider has not loaded data",HOSTNAME_3,provider.getHostUrl(ID_3));
114 } catch (Exception e) {