4444import java .util .List ;
4545import java .util .Map ;
4646
47+ import static org .mockito .Mockito .spy ;
48+ import static org .mockito .Mockito .when ;
49+
4750/**
4851 * @author Ben Marten
4952 */
@@ -90,19 +93,17 @@ public void testRemoveIrrelevantBackgroundStartRequests() throws NoSuchMethodExc
9093 Method removeIrrelevantBackgroundStartRequests =
9194 Request .class .getDeclaredMethod ("removeIrrelevantBackgroundStartRequests" , List .class );
9295 removeIrrelevantBackgroundStartRequests .setAccessible (true );
93- Method getUnsentRequests = Request .class .getDeclaredMethod ("getUnsentRequests" );
94- getUnsentRequests .setAccessible (true );
9596
9697 // Invoke method with specific test data.
9798 // Expectation: No request returned.
98- List unsentRequests = ( List ) getUnsentRequests . invoke ( Request . class );
99+ List unsentRequests = request . getUnsentRequests ( );
99100 assertNotNull (unsentRequests );
100101 assertEquals (0 , unsentRequests .size ());
101102
102103 // Regular start request.
103104 // Expectation: One request returned.
104105 request .sendEventually ();
105- unsentRequests = ( List ) getUnsentRequests . invoke ( Request . class );
106+ unsentRequests = request . getUnsentRequests ( );
106107 assertNotNull (unsentRequests );
107108 assertEquals (1 , unsentRequests .size ());
108109 Request .deleteSentRequests (unsentRequests .size ());
@@ -117,7 +118,7 @@ public void testRemoveIrrelevantBackgroundStartRequests() throws NoSuchMethodExc
117118 put (Constants .Params .BACKGROUND , Boolean .toString (false ));
118119 put ("fg" , "2" );
119120 }}).sendEventually ();
120- unsentRequests = ( List ) getUnsentRequests . invoke ( Request . class );
121+ unsentRequests = request . getUnsentRequests ( );
121122 assertNotNull (unsentRequests );
122123 assertEquals (2 , unsentRequests .size ());
123124 Request .deleteSentRequests (unsentRequests .size ());
@@ -132,7 +133,7 @@ public void testRemoveIrrelevantBackgroundStartRequests() throws NoSuchMethodExc
132133 put (Constants .Params .BACKGROUND , Boolean .toString (false ));
133134 put ("fg" , "1" );
134135 }}).sendEventually ();
135- unsentRequests = ( List ) getUnsentRequests . invoke ( Request . class );
136+ unsentRequests = request . getUnsentRequests ( );
136137 List unsentRequestsData =
137138 (List ) removeIrrelevantBackgroundStartRequests .invoke (Request .class , unsentRequests );
138139 assertNotNull (unsentRequestsData );
@@ -154,7 +155,7 @@ public void testRemoveIrrelevantBackgroundStartRequests() throws NoSuchMethodExc
154155 put (Constants .Params .BACKGROUND , Boolean .toString (false ));
155156 put ("fg" , "1" );
156157 }}).sendEventually ();
157- unsentRequests = ( List ) getUnsentRequests . invoke ( Request . class );
158+ unsentRequests = request . getUnsentRequests ( );
158159
159160 assertNotNull (unsentRequests );
160161 unsentRequestsData =
@@ -177,7 +178,7 @@ public void testRemoveIrrelevantBackgroundStartRequests() throws NoSuchMethodExc
177178 put (Constants .Params .BACKGROUND , Boolean .toString (true ));
178179 put ("bg" , "2" );
179180 }}).sendEventually ();
180- unsentRequests = ( List ) getUnsentRequests . invoke ( Request . class );
181+ unsentRequests = request . getUnsentRequests ( );
181182 assertNotNull (unsentRequests );
182183 unsentRequestsData =
183184 (List ) removeIrrelevantBackgroundStartRequests .invoke (Request .class , unsentRequests );
@@ -199,7 +200,7 @@ public void testRemoveIrrelevantBackgroundStartRequests() throws NoSuchMethodExc
199200 put (Constants .Params .BACKGROUND , Boolean .toString (true ));
200201 put ("bg" , "2" );
201202 }}).sendEventually ();
202- unsentRequests = ( List ) getUnsentRequests . invoke ( Request . class );
203+ unsentRequests = request . getUnsentRequests ( );
203204 unsentRequestsData =
204205 (List ) removeIrrelevantBackgroundStartRequests .invoke (Request .class , unsentRequests );
205206 assertNotNull (unsentRequestsData );
@@ -208,6 +209,19 @@ public void testRemoveIrrelevantBackgroundStartRequests() throws NoSuchMethodExc
208209 LeanplumEventDataManagerTest .setDatabaseToNull ();
209210 }
210211
212+ @ Test
213+ public void testJsonEncodeUnsentRequests () {
214+ List <Map <String , Object >> requests = mockRequests (2 , 2 );
215+
216+ Request realRequest = new Request ("POST" , Constants .Methods .START , null );
217+ Request request = spy (realRequest );
218+ when (request .getUnsentRequests ()).thenReturn (requests );
219+
220+ Request .RequestsWithEncoding requestsWithEncoding = request .getRequestsWithEncodedStringStoredRequests ();
221+
222+ assertEquals ("{\" data\" :[{\" 0\" :\" 0\" },{\" 0\" :\" 1\" },{\" 1\" :\" 0\" },{\" 1\" :\" 1\" }]}" , requestsWithEncoding .jsonEncodedString );
223+ }
224+
211225 @ Test
212226 public void testGetRequestsWithEncodedStringStoredRequests () {
213227 List <Map <String , Object >> requests = mockRequests (2 , 2 );
0 commit comments