Skip to content

Commit f607f78

Browse files
committed
Added unit tests for RolesService
1 parent 0e20db3 commit f607f78

File tree

2 files changed

+124
-1
lines changed

2 files changed

+124
-1
lines changed

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/authority/roles/BatchRolesRequestAdapter.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ public BatchRolesRequestAdapter param(RolesParameter rolesParam, String value) {
5959
}
6060

6161
public OperationResult<RolesListWrapper> get() {
62-
JerseyRequest<RolesListWrapper> request = buildRequest(sessionStorage, RolesListWrapper.class, uri.toArray(new String[uri.size()]), new DefaultErrorHandler());
62+
JerseyRequest<RolesListWrapper> request = buildRequest(sessionStorage,
63+
RolesListWrapper.class,
64+
uri.toArray(new String[uri.size()]),
65+
new DefaultErrorHandler());
6366
request.addParams(params);
6467
return request.get();
6568
}
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
package com.jaspersoft.jasperserver.jaxrs.client.apiadapters.authority.roles;
2+
3+
import com.jaspersoft.jasperserver.dto.authority.RolesListWrapper;
4+
import com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest;
5+
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
6+
import com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler;
7+
import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult;
8+
import javax.ws.rs.core.MultivaluedHashMap;
9+
import org.mockito.Mock;
10+
import org.powermock.core.classloader.annotations.PrepareForTest;
11+
import org.powermock.modules.testng.PowerMockTestCase;
12+
import org.powermock.reflect.Whitebox;
13+
import org.testng.Assert;
14+
import org.testng.annotations.AfterMethod;
15+
import org.testng.annotations.BeforeMethod;
16+
import org.testng.annotations.Test;
17+
18+
import static com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest.buildRequest;
19+
import static org.mockito.Matchers.any;
20+
import static org.mockito.Matchers.eq;
21+
import static org.mockito.Mockito.doReturn;
22+
import static org.mockito.Mockito.spy;
23+
import static org.mockito.Mockito.times;
24+
import static org.mockito.Mockito.verify;
25+
import static org.mockito.Mockito.when;
26+
import static org.mockito.MockitoAnnotations.initMocks;
27+
import static org.mockito.internal.util.reflection.Whitebox.getInternalState;
28+
import static org.powermock.api.mockito.PowerMockito.mockStatic;
29+
import static org.testng.Assert.assertEquals;
30+
import static org.testng.AssertJUnit.assertSame;
31+
32+
/**
33+
* Unit tests for {@link BatchRolesRequestAdapter}
34+
*/
35+
@SuppressWarnings("unchecked")
36+
@PrepareForTest({BatchRolesRequestAdapter.class, JerseyRequest.class})
37+
public class BatchRolesRequestAdapterTest extends PowerMockTestCase {
38+
public static final String SERVICE_URI = "roles";
39+
@Mock
40+
private SessionStorage sessionStorageMock;
41+
@Mock
42+
private JerseyRequest<RolesListWrapper> requestMock;
43+
@Mock
44+
private OperationResult<RolesListWrapper> operationResultMock;
45+
46+
@BeforeMethod
47+
public void before() {
48+
initMocks(this);
49+
}
50+
51+
@Test
52+
public void should_pass_proper_session_storage_to_parent_class_and_set_own_fields() {
53+
54+
// When
55+
BatchRolesRequestAdapter adapter = spy(new BatchRolesRequestAdapter(sessionStorageMock, null));
56+
57+
// Then
58+
Assert.assertNotNull(adapter);
59+
assertEquals(sessionStorageMock, getInternalState(adapter, "sessionStorage"));
60+
}
61+
62+
@Test
63+
public void should_add_parameter_to_map() throws Exception {
64+
65+
// Given
66+
BatchRolesRequestAdapter adapter = new BatchRolesRequestAdapter(sessionStorageMock, null);
67+
68+
// When
69+
BatchRolesRequestAdapter retrieved = adapter.param(RolesParameter.HAS_ALL_USERS, "true");
70+
MultivaluedHashMap<String, String> params = Whitebox.getInternalState(adapter, "params");
71+
72+
// Then
73+
assertSame(retrieved, adapter);
74+
Assert.assertTrue(params.size() == 1);
75+
Assert.assertEquals(params.getFirst(RolesParameter.HAS_ALL_USERS.getParamName()), "true");
76+
}
77+
78+
@Test
79+
public void should_get_role() {
80+
81+
mockStatic(JerseyRequest.class);
82+
when(buildRequest(eq(sessionStorageMock),
83+
eq(RolesListWrapper.class),
84+
eq(new String[]{SERVICE_URI}),
85+
any(DefaultErrorHandler.class))).thenReturn(requestMock);
86+
doReturn(operationResultMock).when(requestMock).get();
87+
BatchRolesRequestAdapter adapterSpy = spy(new BatchRolesRequestAdapter(sessionStorageMock, null));
88+
89+
OperationResult<RolesListWrapper> retrievedResult = adapterSpy.get();
90+
91+
assertSame(retrievedResult, operationResultMock);
92+
verify(requestMock, times(1)).get();
93+
verify(requestMock, times(1)).addParams(any(MultivaluedHashMap.class));
94+
}
95+
96+
@Test
97+
public void should_get_resource_with_params_for_organization() {
98+
BatchRolesRequestAdapter adapterSpy = spy(new BatchRolesRequestAdapter(sessionStorageMock, "myOrg"));
99+
mockStatic(JerseyRequest.class);
100+
when(buildRequest(eq(sessionStorageMock),
101+
eq(RolesListWrapper.class),
102+
eq(new String[]{"organizations", "myOrg", SERVICE_URI}),
103+
any(DefaultErrorHandler.class))).thenReturn(requestMock);
104+
doReturn(adapterSpy).when(adapterSpy).param(RolesParameter.HAS_ALL_USERS, "true");
105+
doReturn(operationResultMock).when(requestMock).get();
106+
107+
OperationResult<RolesListWrapper> retrievedResult = adapterSpy.get();
108+
109+
assertSame(retrievedResult, operationResultMock);
110+
verify(requestMock, times(1)).get();
111+
verify(requestMock, times(1)).addParams(any(MultivaluedHashMap.class));
112+
}
113+
114+
@AfterMethod
115+
public void after() {
116+
sessionStorageMock = null;
117+
requestMock = null;
118+
operationResultMock = null;
119+
}
120+
}

0 commit comments

Comments
 (0)