gbp-ise-adapter proposal
[groupbasedpolicy.git] / groupbasedpolicy-ise-adapter / src / test / java / org / opendaylight / groupbasedpolicy / gbp_ise_adapter / impl / util / RestClientFactoryTest.java
1 package org.opendaylight.groupbasedpolicy.gbp_ise_adapter.impl.util;
2
3 import com.sun.jersey.api.client.Client;
4 import com.sun.jersey.client.urlconnection.HTTPSProperties;
5 import org.junit.Assert;
6 import org.junit.Test;
7 import org.junit.runner.RunWith;
8 import org.mockito.Mock;
9 import org.mockito.runners.MockitoJUnitRunner;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.ise.harvest.config.ConnectionConfig;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.gbp.ise.adapter.model.rev160630.gbp.ise.adapter.ise.harvest.config.ConnectionConfigBuilder;
12
13 import javax.net.ssl.SSLSession;
14 import java.util.Map;
15
16 /**
17  * Purpose: cover {@link RestClientFactory}
18  */
19 @RunWith(MockitoJUnitRunner.class)
20 public class RestClientFactoryTest {
21
22     @Mock
23     private SSLSession sslSession;
24
25     @Test
26     public void testCreateIseClient() throws Exception {
27         ConnectionConfig connectionConfig = new ConnectionConfigBuilder()
28                 .setConnectionTimeout(1)
29                 .setReadTimeout(2)
30                 .build();
31
32         final Client iseClient = RestClientFactory.createIseClient(connectionConfig);
33         final Map<String, Object> properties = iseClient.getProperties();
34         Assert.assertEquals(3, properties.size());
35         Assert.assertEquals(1, properties.get("com.sun.jersey.client.property.connectTimeout"));
36         Assert.assertEquals(2, properties.get("com.sun.jersey.client.property.readTimeout"));
37
38         Assert.assertTrue(properties.get(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES) instanceof HTTPSProperties);
39         final HTTPSProperties httpsProperties = (HTTPSProperties) properties.get(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES);
40         Assert.assertTrue(httpsProperties.getHostnameVerifier().verify("xxx", sslSession));
41     }
42 }