Skip to content

Commit 789d1a1

Browse files
author
TanyaEf
committed
Joined SessionStorage unit tests
1 parent 1ac43fc commit 789d1a1

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

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

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

3+
import java.util.HashMap;
4+
import javax.ws.rs.client.Entity;
5+
import javax.ws.rs.core.Cookie;
6+
import javax.ws.rs.core.NewCookie;
37
import org.mockito.Mock;
8+
import org.mockito.Mockito;
49
import org.mockito.internal.util.reflection.Whitebox;
510
import org.powermock.api.mockito.PowerMockito;
611
import org.powermock.core.classloader.annotations.PrepareForTest;
@@ -21,6 +26,9 @@
2126
import java.security.cert.CertificateException;
2227
import java.security.cert.X509Certificate;
2328

29+
import static org.mockito.Matchers.any;
30+
import static org.mockito.Matchers.anyString;
31+
import static org.mockito.Matchers.eq;
2432
import static org.mockito.Mockito.doReturn;
2533
import static org.mockito.Mockito.reset;
2634
import static org.mockito.MockitoAnnotations.initMocks;
@@ -49,6 +57,12 @@ public class SessionStorageTest extends PowerMockTestCase {
4957
private Invocation.Builder invocationBuilderMock;
5058
@Mock
5159
private Response responseMock;
60+
@Mock
61+
public Response.StatusType statusTypeMock;
62+
63+
@Mock
64+
public SSLContext sslContextMock;
65+
5266

5367
@BeforeMethod
5468
public void before() {
@@ -67,6 +81,58 @@ public void should_create_new_instance_session_storage() throws Exception {
6781
assertNotNull(sessionStorage);
6882
}
6983

84+
@Test(enabled = true)
85+
public void should_init_ssl() {
86+
87+
/** - mock for static method **/
88+
PowerMockito.mockStatic(ClientBuilder.class);
89+
Mockito.when(ClientBuilder.newBuilder()).thenReturn(builderMock);
90+
91+
/** - mocks for {@link SessionStorage#init()} method (no SSL) **/
92+
Mockito.doReturn("https://54.83.98.156/jasperserver-pro").when(configurationMock).getJasperReportsServerUrl();
93+
Mockito.doReturn(10000).when(configurationMock).getConnectionTimeout();
94+
Mockito.doReturn(8000).when(configurationMock).getReadTimeout();
95+
Mockito.doReturn(clientMock).when(builderMock).build();
96+
Mockito.doReturn(targetMock).when(clientMock).target("http://54.83.98.156/jasperserver-pro");
97+
98+
/** - mocks for {@link SessionStorage#getSecurityAttributes()} method (no SSL) **/
99+
Mockito.doReturn("Alex").when(credentialsMock).getUsername();
100+
Mockito.doReturn("oh, yeah!").when(credentialsMock).getPassword();
101+
102+
PowerMockito.mockStatic(EncryptionUtils.class);
103+
PowerMockito.when(EncryptionUtils.parseEncryptionParams(responseMock)).thenReturn(null);
104+
PowerMockito.when(EncryptionUtils.encryptPassword("oh, yeah!", "n_", "e_")).thenReturn("encryptPassword");
105+
106+
Mockito.doReturn(targetMock).when(targetMock).path(anyString());
107+
Mockito.doReturn(invocationBuilderMock).when(targetMock).request();
108+
Mockito.doReturn(responseMock).when(invocationBuilderMock).get();
109+
Mockito.doReturn(new HashMap<String, NewCookie>() {{
110+
put("JSESSIONID", new NewCookie(new Cookie("JSESSIONID", "AC0C233ED7E9BE5DD0D4A286E6C8BBAE")));
111+
}}).when(responseMock).getCookies();
112+
113+
/** - mocks for {@link SessionStorage#login()} method **/
114+
Mockito.doReturn(targetMock).when(targetMock).path(anyString());
115+
Mockito.doReturn(targetMock).when(targetMock).property(anyString(), eq(Boolean.FALSE));
116+
Mockito.doReturn(invocationBuilderMock).when(targetMock).request();
117+
Mockito.doReturn(invocationBuilderMock).when(invocationBuilderMock)
118+
.cookie("JSESSIONID", "AC0C233ED7E9BE5DD0D4A286E6C8BBAE");
119+
Mockito.doReturn(responseMock).when(invocationBuilderMock).post(any(Entity.class));
120+
121+
/** - mocks for {@link SessionStorage#parseSessionId()} method **/
122+
Mockito.doReturn("JSESSIONID=AC0C233ED7E9BE5DD0D4A286E6C8BBAE;")
123+
.when(responseMock)
124+
.getHeaderString("Set-Cookie");
125+
Mockito.doReturn(302).when(responseMock).getStatus();
126+
127+
128+
try {
129+
new SessionStorage(configurationMock, credentialsMock);
130+
} catch (Exception e) {
131+
//Mockito.verify(logMock, times(1)).error(anyString(), any(NoSuchAlgorithmException.class));
132+
assertNotNull(e);
133+
}
134+
}
135+
70136
@Test(expectedExceptions = RuntimeException.class)
71137
public void should_throw_an_exception_when_unable_to_init_SSL_context() throws Exception {
72138

0 commit comments

Comments
 (0)