Skip to content

Commit 9b1a616

Browse files
Merge pull request #129 from TanyaEf/master
Fixed bug #126(null entity in Resource Service)
2 parents 4fae10c + cdbd6c9 commit 9b1a616

File tree

5 files changed

+36
-20
lines changed

5 files changed

+36
-20
lines changed

src/integration-test/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/resources/ResourcesServiceIT.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.jaspersoft.jasperserver.jaxrs.client.apiadapters.resources;
22

3+
import com.jaspersoft.jasperserver.dto.resources.ClientResource;
34
import com.jaspersoft.jasperserver.jaxrs.client.RestClientTestUtil;
45
import java.io.ByteArrayInputStream;
5-
import java.util.concurrent.TimeUnit;
66
import javax.ws.rs.core.Response;
77
import org.testng.Assert;
88
import org.testng.annotations.AfterClass;
@@ -23,10 +23,7 @@ public void before() {
2323

2424

2525
@Test
26-
public void shouldDeleteAFolder() throws InterruptedException {
27-
28-
// Given
29-
TimeUnit.SECONDS.sleep(1);
26+
public void should_delete_folder() throws InterruptedException {
3027

3128
// When
3229
Response resp = session.resourcesService()
@@ -41,6 +38,18 @@ public void shouldDeleteAFolder() throws InterruptedException {
4138
Assert.assertNotNull(is);
4239
}
4340

41+
@Test
42+
public void should_return_resource_details() throws InterruptedException {
43+
44+
// When
45+
ClientResource clientResource = session.resourcesService()
46+
.resource("/organizations/organization_1/Domains/supermartDomain")
47+
.details()
48+
.getEntity();
49+
50+
Assert.assertNotNull(clientResource);
51+
}
52+
4453
@AfterClass
4554
public void after() {
4655
session.logout();

src/integration-test/java/com/jaspersoft/jasperserver/jaxrs/client/core/JasperserverRestClientIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import com.jaspersoft.jasperserver.jaxrs.client.core.enums.AuthenticationType;
66
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.JSClientWebException;
77
import org.testng.annotations.AfterMethod;
8-
import org.testng.annotations.BeforeClass;
8+
import org.testng.annotations.BeforeMethod;
99
import org.testng.annotations.Test;
1010

1111
import static org.testng.AssertJUnit.assertNotNull;
@@ -15,7 +15,7 @@
1515
*/
1616
public class JasperserverRestClientIT extends RestClientTestUtil {
1717

18-
@BeforeClass
18+
@BeforeMethod
1919
public void before() {
2020
initClient();
2121
}

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/core/JerseyRequest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
2828
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResultFactory;
2929
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResultFactoryImpl;
30-
import com.jaspersoft.jasperserver.jaxrs.client.providers.CustomRepresentationTypeProvider;
3130
import java.util.List;
3231
import java.util.Map;
3332
import javax.ws.rs.client.Entity;
@@ -37,7 +36,6 @@
3736
import javax.ws.rs.core.MultivaluedHashMap;
3837
import javax.ws.rs.core.MultivaluedMap;
3938
import javax.ws.rs.core.Response;
40-
import org.glassfish.jersey.media.multipart.internal.MultiPartWriter;
4139

4240
import static com.jaspersoft.jasperserver.jaxrs.client.core.enums.MimeType.JSON;
4341
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
@@ -81,10 +79,9 @@ private void init(SessionStorage sessionStorage) {
8179
contentType = configuration.getContentMimeType() == JSON ? APPLICATION_JSON : APPLICATION_XML;
8280
acceptType = configuration.getAcceptMimeType() == JSON ? APPLICATION_JSON : APPLICATION_XML;
8381
headers = new MultivaluedHashMap<String, String>();
82+
8483
usersWebTarget = sessionStorage.getRootTarget()
85-
.path("/rest_v2")
86-
.register(CustomRepresentationTypeProvider.class)
87-
.register(MultiPartWriter.class);
84+
.path("/rest_v2");
8885
}
8986

9087
public static <T> JerseyRequest<T> buildRequest(SessionStorage sessionStorage, Class<T> responseClass, String[] path) {

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/core/SessionStorage.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@
2525
import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
2626
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
2727

28+
import com.jaspersoft.jasperserver.jaxrs.client.providers.CustomRepresentationTypeProvider;
2829
import org.glassfish.jersey.client.ClientProperties;
2930
import org.glassfish.jersey.filter.LoggingFilter;
3031
import org.glassfish.jersey.jackson.JacksonFeature;
32+
import org.glassfish.jersey.media.multipart.internal.MultiPartWriter;
3133
import org.slf4j.bridge.SLF4JBridgeHandler;
3234

3335

@@ -96,10 +98,13 @@ private void init() {
9698

9799
JacksonJsonProvider provider = new JacksonJaxbJsonProvider()
98100
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
99-
101+
JacksonJsonProvider customRepresentationTypeProvider = new CustomRepresentationTypeProvider()
102+
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
100103
rootTarget = client.target(configuration.getJasperReportsServerUrl());
101-
rootTarget.register(JacksonFeature.class);
102-
rootTarget.register(provider);
104+
rootTarget.register(JacksonFeature.class)
105+
.register(provider)
106+
.register(customRepresentationTypeProvider)
107+
.register(MultiPartWriter.class);
103108
if (configuration.getLogHttp()) {
104109
rootTarget.register(initLoggingFilter());
105110
}

src/test/java/com/jaspersoft/jasperserver/jaxrs/client/core/SessionStorageTest.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.jaspersoft.jasperserver.jaxrs.client.core;
22

3-
import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
3+
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
44
import java.security.SecureRandom;
55
import java.security.cert.CertificateException;
66
import java.security.cert.X509Certificate;
@@ -14,6 +14,7 @@
1414
import javax.ws.rs.core.Response;
1515
import org.glassfish.jersey.filter.LoggingFilter;
1616
import org.glassfish.jersey.jackson.JacksonFeature;
17+
import org.glassfish.jersey.media.multipart.internal.MultiPartWriter;
1718
import org.mockito.Mock;
1819
import org.mockito.internal.util.reflection.Whitebox;
1920
import org.powermock.api.mockito.PowerMockito;
@@ -103,7 +104,8 @@ public void should_invoke_init_method_with_default_configuration() throws Except
103104
doReturn(null).when(configurationMock).getReadTimeout();
104105
doReturn(targetMock).when(clientMock).target(anyString());
105106
doReturn(targetMock).when(targetMock).register(JacksonFeature.class);
106-
doReturn(targetMock).when(targetMock).register(any(JacksonJaxbJsonProvider.class));
107+
doReturn(targetMock).when(targetMock).register(MultiPartWriter.class);
108+
doReturn(targetMock).when(targetMock).register(any(JacksonJsonProvider.class));
107109
doReturn(false).when(configurationMock).getLogHttp();
108110
//when
109111
SessionStorage sessionStorage = new SessionStorage(configurationMock, credentialsMock);
@@ -116,7 +118,8 @@ public void should_invoke_init_method_with_default_configuration() throws Except
116118
verify(configurationMock).getReadTimeout();
117119
verify(clientMock).target("http://54.83.98.156/jasperserver-pro");
118120
verify(targetMock).register(JacksonFeature.class);
119-
verify(targetMock).register(isA(JacksonJaxbJsonProvider.class));
121+
verify(targetMock, times(2)).register(isA(JacksonJsonProvider.class));
122+
verify(targetMock).register(MultiPartWriter.class);
120123
verify(configurationMock).getLogHttp();
121124
verify(targetMock, never()).register(LoggingFilter.class);
122125
}
@@ -134,7 +137,8 @@ public void should_invoke_init_method_with_custom_configuration() throws Excepti
134137
doReturn(clientMock).when(clientMock).property("jersey.config.client.readTimeout", 200);
135138
doReturn(targetMock).when(clientMock).target(anyString());
136139
doReturn(targetMock).when(targetMock).register(JacksonFeature.class);
137-
doReturn(targetMock).when(targetMock).register(any(JacksonJaxbJsonProvider.class));
140+
doReturn(targetMock).when(targetMock).register(MultiPartWriter.class);
141+
doReturn(targetMock).when(targetMock).register(any(JacksonJsonProvider.class));
138142
doReturn(true).when(configurationMock).getLogHttp();
139143
doReturn(targetMock).when(targetMock).register(any(LoggingFilter.class));
140144
//when
@@ -150,7 +154,8 @@ public void should_invoke_init_method_with_custom_configuration() throws Excepti
150154
verify(clientMock).property("jersey.config.client.readTimeout", 200);
151155
verify(clientMock).target("http://54.83.98.156/jasperserver-pro");
152156
verify(targetMock).register(JacksonFeature.class);
153-
verify(targetMock).register(isA(JacksonJaxbJsonProvider.class));
157+
verify(targetMock, times(2)).register(isA(JacksonJsonProvider.class));
158+
verify(targetMock).register(MultiPartWriter.class);
154159
verify(configurationMock).getLogHttp();
155160
verify(targetMock).register(isA(LoggingFilter.class));
156161
}

0 commit comments

Comments
 (0)