Skip to content

Commit f054a75

Browse files
authored
Merge pull request #107 from Iterable/feature/MOB-441-pass-packageName-to-inApp-getMessages
[MOB-441] Pass packageName to inApp/getMessages
2 parents 6a3a900 + 3f67730 commit f054a75

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

iterableapi/src/main/java/com/iterable/iterableapi/IterableApi.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -970,6 +970,7 @@ public void getInAppMessages(int count, IterableHelper.IterableActionHandler onC
970970
requestJSON.put(IterableConstants.ITERABLE_IN_APP_COUNT, count);
971971
requestJSON.put(IterableConstants.KEY_PLATFORM, IterableConstants.ITBL_PLATFORM_ANDROID);
972972
requestJSON.put(IterableConstants.ITBL_KEY_SDK_VERSION, IterableConstants.ITBL_KEY_SDK_VERSION_NUMBER);
973+
requestJSON.put(IterableConstants.KEY_PACKAGE_NAME, _applicationContext.getPackageName());
973974

974975
sendGetRequest(IterableConstants.ENDPOINT_GET_INAPP_MESSAGES, requestJSON, onCallback);
975976
}

iterableapi/src/main/java/com/iterable/iterableapi/IterableConstants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public final class IterableConstants {
2727
public static final String KEY_EVENT_NAME = "eventName";
2828
public static final String KEY_ITEMS = "items";
2929
public static final String KEY_NEW_EMAIL = "newEmail";
30+
public static final String KEY_PACKAGE_NAME = "packageName";
3031
public static final String KEY_PLATFORM = "platform";
3132
public static final String KEY_PREFER_USER_ID = "preferUserId";
3233
public static final String KEY_RECIPIENT_EMAIL = "recipientEmail";

iterableapi/src/test/java/com/iterable/iterableapi/IterableApiTest.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.util.UUID;
1717
import java.util.concurrent.TimeUnit;
1818

19+
import okhttp3.HttpUrl;
1920
import okhttp3.mockwebserver.MockResponse;
2021
import okhttp3.mockwebserver.MockWebServer;
2122
import okhttp3.mockwebserver.RecordedRequest;
@@ -25,6 +26,7 @@
2526
import static junit.framework.Assert.assertNull;
2627
import static junit.framework.Assert.assertTrue;
2728
import static org.mockito.ArgumentMatchers.any;
29+
import static org.mockito.ArgumentMatchers.eq;
2830
import static org.mockito.Mockito.doReturn;
2931
import static org.mockito.Mockito.mock;
3032
import static org.mockito.Mockito.never;
@@ -310,4 +312,28 @@ public void testUpdateUserWithUserId() throws Exception {
310312
assertEquals("value", requestJson.getJSONObject(IterableConstants.KEY_DATA_FIELDS).getString("key"));
311313
}
312314

315+
@Test
316+
public void testGetInAppMessages() throws Exception {
317+
server.enqueue(new MockResponse().setResponseCode(200).setBody("{}"));
318+
319+
IterableHelper.IterableActionHandler handlerMock = mock(IterableHelper.IterableActionHandler.class);
320+
321+
IterableApi.initialize(RuntimeEnvironment.application, "apiKey", new IterableConfig.Builder().setAutoPushRegistration(false).build());
322+
IterableApi.getInstance().setEmail("test@email.com");
323+
IterableApi.getInstance().getInAppMessages(10, handlerMock);
324+
Thread.sleep(1000); // Since the network request is queued from a background thread, we need to wait
325+
Robolectric.flushBackgroundThreadScheduler();
326+
327+
verify(handlerMock).execute(eq("{}"));
328+
329+
RecordedRequest getInAppMessagesRequest = server.takeRequest(1, TimeUnit.SECONDS);
330+
assertNotNull(getInAppMessagesRequest);
331+
Uri uri = Uri.parse(getInAppMessagesRequest.getRequestUrl().toString());
332+
assertEquals("/" + IterableConstants.ENDPOINT_GET_INAPP_MESSAGES, uri.getPath());
333+
assertEquals("10", uri.getQueryParameter(IterableConstants.ITERABLE_IN_APP_COUNT));
334+
assertEquals(IterableConstants.ITBL_PLATFORM_ANDROID, uri.getQueryParameter(IterableConstants.KEY_PLATFORM));
335+
assertEquals(IterableConstants.ITBL_KEY_SDK_VERSION_NUMBER, uri.getQueryParameter(IterableConstants.ITBL_KEY_SDK_VERSION));
336+
assertEquals(RuntimeEnvironment.application.getPackageName(), uri.getQueryParameter(IterableConstants.KEY_PACKAGE_NAME));
337+
}
338+
313339
}

0 commit comments

Comments
 (0)