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