Divide the MSB source codes into two repos
[msb/apigateway.git] / apiroute / apiroute-service / src / test / java / org / onap / msb / apiroute / wrapper / consulextend / util / HttpTest.java
1 package org.onap.msb.apiroute.wrapper.consulextend.util;
2
3 import java.io.InputStream;
4 import java.math.BigInteger;
5 import java.util.List;
6 import java.util.Map;
7
8 import org.apache.http.HttpEntity;
9 import org.apache.http.ProtocolVersion;
10 import org.apache.http.StatusLine;
11 import org.apache.http.entity.BasicHttpEntity;
12 import org.apache.http.message.BasicHttpResponse;
13 import org.apache.http.message.BasicStatusLine;
14 import org.junit.Before;
15 import org.junit.Test;
16 import org.onap.msb.apiroute.wrapper.consulextend.util.Http;
17 import org.slf4j.Logger;
18 import org.slf4j.LoggerFactory;
19
20 import com.fasterxml.jackson.core.type.TypeReference;
21 import com.orbitz.consul.option.ConsistencyMode;
22 import com.orbitz.consul.option.ImmutableCatalogOptions;
23 import com.orbitz.consul.option.ImmutableQueryOptions;
24 import com.orbitz.consul.option.QueryOptions;
25
26 public class HttpTest {
27         private static final Logger LOGGER = LoggerFactory
28                         .getLogger(HttpTest.class);
29
30         @Before
31         public void init() {
32
33         }
34
35         @Test
36         public void testoptionsFrom() {
37                 ImmutableCatalogOptions catalogs = ImmutableCatalogOptions.builder()
38                                 .build();
39                 catalogs = catalogs.withDatacenter("datacenter").withTag("tag");
40
41                 BigInteger index = new BigInteger("1");
42                 ImmutableQueryOptions querys = QueryOptions.blockSeconds(10, index)
43                                 .build();
44                 querys = querys.withConsistencyMode(ConsistencyMode.STALE)
45                                 .withDatacenter("datacenter").withNear("near")
46                                 .withToken("taoken");
47                 String url = Http.optionsFrom(catalogs, querys);
48                 LOGGER.info(url);
49         }
50
51         @Test
52         public void testconsulResponse() {
53                 
54                 TypeReference<Map<String, List<String>>> TYPE_SERVICES_MAP = new TypeReference<Map<String, List<String>>>() {};
55                 
56                 ProtocolVersion version = new ProtocolVersion("HTTP",1,1);
57                 StatusLine status= new BasicStatusLine(version,200,"ok");
58                 BasicHttpResponse response = new BasicHttpResponse(status);
59                 
60                 response.setHeader("X-Consul-Index", "1");
61                 response.setHeader("X-Consul-Lastcontact", "1");
62                 response.setHeader("X-Consul-Knownleader", "true");
63                 
64                 BasicHttpEntity entity = new BasicHttpEntity();
65                 InputStream content = HttpTest.class.getResourceAsStream("serviceslist.json");
66                 entity.setContent(content);
67                 response.setEntity(entity);
68                 
69                 Http.consulResponse(TYPE_SERVICES_MAP, response);
70                 
71                 TypeReference<String> TYPE_SERVICES_MAP_STRING = new TypeReference<String>() {};
72                 InputStream content1 = HttpTest.class.getResourceAsStream("serviceslist.json");
73                 entity.setContent(content1);
74                 
75                 Http.consulResponse(TYPE_SERVICES_MAP_STRING, response);
76
77                 TypeReference<HttpEntity> TYPE_SERVICES_MAP_ENTITY = new TypeReference<HttpEntity>() {};
78                 Http.consulResponse(TYPE_SERVICES_MAP_ENTITY, response);
79         }
80 }