Skip to content

Commit bf706ae

Browse files
committed
add json encode test
1 parent 3790bcc commit bf706ae

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

AndroidSDKCore/src/main/java/com/leanplum/internal/Request.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -705,7 +705,7 @@ private static List<Map<String, Object>> removeIrrelevantBackgroundStartRequests
705705
return relevantRequests;
706706
}
707707

708-
private static String jsonEncodeUnsentRequests(List<Map<String, Object>> requestData) {
708+
protected static String jsonEncodeUnsentRequests(List<Map<String, Object>> requestData) {
709709
Map<String, Object> data = new HashMap<>();
710710
data.put(Constants.Params.DATA, requestData);
711711
return JsonConverter.toJson(data);

AndroidSDKTests/src/test/java/com/leanplum/internal/RequestTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939

4040
import java.lang.reflect.InvocationTargetException;
4141
import java.lang.reflect.Method;
42+
import java.util.ArrayList;
4243
import java.util.HashMap;
4344
import java.util.List;
4445
import java.util.Map;
@@ -206,4 +207,27 @@ public void testRemoveIrrelevantBackgroundStartRequests() throws NoSuchMethodExc
206207
Request.deleteSentRequests(unsentRequests.size());
207208
LeanplumEventDataManagerTest.setDatabaseToNull();
208209
}
210+
211+
@Test
212+
public void testGetRequestsWithEncodedStringStoredRequests() {
213+
List<Map<String, Object>> requests = mockRequests(2, 2);
214+
String json = Request.jsonEncodeUnsentRequests(requests);
215+
String expectedJson = "{\"data\":[{\"0\":\"0\"},{\"0\":\"1\"},{\"1\":\"0\"},{\"1\":\"1\"}]}";
216+
assertEquals(json, expectedJson);
217+
}
218+
219+
private List<Map<String, Object>> mockRequests(int listSize, int requestSize) {
220+
List<Map<String, Object>> requests = new ArrayList<>();
221+
222+
for (int i=0; i < listSize; i++) {
223+
224+
for (int j=0; j < requestSize; j++) {
225+
Map<String, Object> request = new HashMap<String, Object>();
226+
request.put(Integer.toString(i), Integer.toString(j));
227+
requests.add(request);
228+
}
229+
}
230+
return requests;
231+
}
232+
209233
}

0 commit comments

Comments
 (0)