Skip to content

Commit 76939a7

Browse files
committed
Merge pull request #25 from indigo-dc/devel
Merge Devel
2 parents 1953d4c + 1621125 commit 76939a7

File tree

6 files changed

+79
-16
lines changed

6 files changed

+79
-16
lines changed

SUMMARY.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Summary
2+
3+
* [Manual im-java-api](README.md)

pom.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>es.upv.i3m.grycap</groupId>
55
<artifactId>im-java-api</artifactId>
6-
<version>0.4.3</version>
6+
<version>0.4.4</version>
77
<name>IM Java API</name>
88
<description>Java client for the REST API of the IM</description>
99

@@ -19,6 +19,7 @@
1919
<java.version>7</java.version>
2020
<maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version>
2121
<maven-checkstyle-plugin.version>2.17</maven-checkstyle-plugin.version>
22+
<mockserver-netty.version>3.10.4</mockserver-netty.version>
2223
</properties>
2324

2425
<dependencies>
@@ -64,6 +65,13 @@
6465
<version>${junit.version}</version>
6566
<scope>test</scope>
6667
</dependency>
68+
<!-- mockserver -->
69+
<dependency>
70+
<groupId>org.mock-server</groupId>
71+
<artifactId>mockserver-netty</artifactId>
72+
<version>${mockserver-netty.version}</version>
73+
<scope>test</scope>
74+
</dependency>
6775
</dependencies>
6876

6977
<profiles>

src/main/java/es/upv/i3m/grycap/im/lang/ImMessages.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,7 @@ public final class ImMessages {
6060
"REST call with empty body content";
6161

6262
private ImMessages() {
63+
// It is not allowed to instantiate this class
64+
throw new UnsupportedOperationException();
6365
}
6466
}

src/main/java/es/upv/i3m/grycap/im/rest/client/ssl/SslClient.java

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,8 @@
2828

2929
public class SslClient implements RestClient {
3030

31-
private SSLContext ctx;
32-
private HostnameVerifier verifier;
33-
34-
public SslClient() {
35-
this.ctx = SslConfigurator.newInstance(true).createSSLContext();
36-
}
37-
38-
public SslClient(final SSLContext ctx) {
39-
this.ctx = ctx;
40-
}
31+
private final SSLContext ctx;
32+
private final HostnameVerifier verifier;
4133

4234
public SslClient(final SSLContext ctx, final HostnameVerifier verifier) {
4335
this.ctx = ctx;
@@ -51,14 +43,16 @@ public SslClient(final SSLContext ctx, final HostnameVerifier verifier) {
5143
*/
5244
@Override
5345
public Client createClient() {
54-
if (ctx == null) {
46+
SSLContext context = ctx;
47+
if (context == null) {
5548
// Generate generic SSL context
56-
ctx = SslConfigurator.newInstance(true).createSSLContext();
49+
context = SslConfigurator.newInstance(true).createSSLContext();
5750
}
5851
return verifier == null
59-
? ClientBuilder.newBuilder().sslContext(ctx)
52+
? ClientBuilder.newBuilder().sslContext(context)
6053
.register(ImResponsesReader.class).build()
61-
: ClientBuilder.newBuilder().sslContext(ctx).hostnameVerifier(verifier)
62-
.register(ImResponsesReader.class).build();
54+
: ClientBuilder.newBuilder().sslContext(context)
55+
.hostnameVerifier(verifier).register(ImResponsesReader.class)
56+
.build();
6357
}
6458
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package es.upv.i3m.grycap.im.lang;
2+
3+
import org.junit.Assert;
4+
import org.junit.Test;
5+
6+
public class ImMessagesTest {
7+
8+
@Test
9+
public void testMessages() {
10+
Assert.assertEquals("REST call with empty body content",
11+
ImMessages.INFO_EMPTY_BODY_CONTENT);
12+
}
13+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package es.upv.i3m.grycap.im.rest.client.ssl;
2+
3+
import es.upv.i3m.grycap.im.exceptions.ImClientException;
4+
5+
import org.junit.After;
6+
import org.junit.Before;
7+
import org.junit.Test;
8+
import org.mockserver.integration.ClientAndServer;
9+
10+
import javax.ws.rs.ProcessingException;
11+
import javax.ws.rs.client.Client;
12+
import javax.ws.rs.core.MediaType;
13+
14+
public class SslClientTest {
15+
16+
private ClientAndServer mockServer;
17+
private final String target = "https://127.0.0.1:1080";
18+
19+
@Before
20+
public void startServer() {
21+
mockServer = ClientAndServer.startClientAndServer(1080);
22+
}
23+
24+
@After
25+
public void stopServer() {
26+
mockServer.stop();
27+
}
28+
29+
@Test(expected = ProcessingException.class)
30+
public void testSslClient() throws ImClientException {
31+
SslClient sslClient = new SslClient(null, null);
32+
Client client = sslClient.createClient();
33+
client.target(target).path("").request(MediaType.TEXT_PLAIN).get();
34+
}
35+
36+
@Test
37+
public void testSslTrustAllClients() throws ImClientException {
38+
SslTrustAllClient sslClient = new SslTrustAllClient();
39+
Client client = sslClient.createClient();
40+
client.target(target).path("").request(MediaType.TEXT_PLAIN).get();
41+
}
42+
43+
}

0 commit comments

Comments
 (0)