Skip to content

Commit abf4fbb

Browse files
emawbynan-li
authored andcommitted
making messageId protected instead of public. Adding a getter
* using get and setMessageId in unit tests
1 parent af0251e commit abf4fbb

File tree

6 files changed

+48
-38
lines changed

6 files changed

+48
-38
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/OSInAppMessage.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,15 @@ public class OSInAppMessage {
3535
* The unique identifier for this in-app message
3636
*/
3737
@NonNull
38-
public String messageId;
38+
protected String messageId;
3939

40-
OSInAppMessage(String messageId) {
40+
OSInAppMessage(@NonNull String messageId) {
4141
this.messageId = messageId;
4242
}
43+
44+
@NonNull
45+
public String getMessageId() {
46+
return messageId;
47+
}
48+
4349
}

OneSignalSDK/unittest/src/test/java/com/onesignal/OneSignalPackagePrivateHelper.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,10 @@ public OSTestInAppMessageInternal(@NonNull String messageId, int displaysQuantit
362362
super(inAppMessage.toJSONObject());
363363
}
364364

365+
public void setMessageId(String messageId) {
366+
this.messageId = messageId;
367+
}
368+
365369
@Override
366370
protected ArrayList<ArrayList<OSTrigger>> parseTriggerJson(JSONArray triggersJson) throws JSONException {
367371
ArrayList<ArrayList<OSTrigger>> parsedTriggers = new ArrayList<>();

OneSignalSDK/unittest/src/test/java/com/test/onesignal/DatabaseRunner.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ public void shouldUpgradeDbFromV6ToV7() throws JSONException {
317317
inAppMessage.setDisplayedInSession(true);
318318

319319
ContentValues values = new ContentValues();
320-
values.put(InAppMessageTable.COLUMN_NAME_MESSAGE_ID, inAppMessage.messageId);
320+
values.put(InAppMessageTable.COLUMN_NAME_MESSAGE_ID, inAppMessage.getMessageId());
321321
values.put(InAppMessageTable.COLUMN_NAME_DISPLAY_QUANTITY, inAppMessage.getRedisplayStats().getDisplayQuantity());
322322
values.put(InAppMessageTable.COLUMN_NAME_LAST_DISPLAY, inAppMessage.getRedisplayStats().getLastDisplayTime());
323323
values.put(InAppMessageTable.COLUMN_CLICK_IDS, inAppMessage.getClickedClickIds().toString());

OneSignalSDK/unittest/src/test/java/com/test/onesignal/InAppMessageIntegrationTests.java

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ public void testAfterLastInAppTimeIsDisplayedOncePerSession() throws Exception {
425425
.untilAsserted(() -> {
426426
assertEquals(1, OneSignalPackagePrivateHelper.getInAppMessageDisplayQueue().size());
427427
try {
428-
assertEquals(message1.messageId, OneSignalPackagePrivateHelper.getShowingInAppMessageId());
428+
assertEquals(message1.getMessageId(), OneSignalPackagePrivateHelper.getShowingInAppMessageId());
429429
} catch (NullPointerException e) {
430430
// Awaitility won't retry if something is thrown, but will if an assert fails.
431431
fail("Should not throw");
@@ -441,7 +441,7 @@ public void testAfterLastInAppTimeIsDisplayedOncePerSession() throws Exception {
441441
.untilAsserted(() -> {
442442
assertEquals(1, OneSignalPackagePrivateHelper.getInAppMessageDisplayQueue().size());
443443
try {
444-
assertEquals(message2.messageId, OneSignalPackagePrivateHelper.getShowingInAppMessageId());
444+
assertEquals(message2.getMessageId(), OneSignalPackagePrivateHelper.getShowingInAppMessageId());
445445
} catch (NullPointerException e) {
446446
// Awaitility won't retry if something is thrown, but will if an assert fails.
447447
fail("Should not throw");
@@ -663,7 +663,7 @@ public void testInAppMessageOnlyReceivesClickIdOnce() throws Exception {
663663

664664
// 3. Ensure click is sent
665665
ShadowOneSignalRestClient.Request iamImpressionRequest = ShadowOneSignalRestClient.requests.get(2);
666-
assertEquals("in_app_messages/" + message.messageId + "/click", iamImpressionRequest.url);
666+
assertEquals("in_app_messages/" + message.getMessageId() + "/click", iamImpressionRequest.url);
667667
assertEquals(3, ShadowOneSignalRestClient.requests.size());
668668

669669
// 4. Call IAM clicked again, ensure a 2nd network call is not made.
@@ -758,7 +758,7 @@ public void testInAppMessageClickActionOutcomeV2() throws Exception {
758758
OneSignalPackagePrivateHelper.onMessageActionOccurredOnMessage(message, action);
759759

760760
// 3. Ensure outcome is sent
761-
assertMeasureOnV2AtIndex(3, "outcome_name", new JSONArray().put(message.messageId), new JSONArray(), null, null);
761+
assertMeasureOnV2AtIndex(3, "outcome_name", new JSONArray().put(message.getMessageId()), new JSONArray(), null, null);
762762
}
763763

764764
@Test
@@ -840,7 +840,7 @@ public void inAppMessageClicked(OSInAppMessageAction result) {
840840
OneSignal.sendOutcome("test");
841841
try {
842842
// Ensure outcome is sent
843-
assertMeasureOnV2AtIndex(4, "test", new JSONArray().put(message.messageId), new JSONArray(), null, null);
843+
assertMeasureOnV2AtIndex(4, "test", new JSONArray().put(message.getMessageId()), new JSONArray(), null, null);
844844
} catch (JSONException e) {
845845
e.printStackTrace();
846846
}
@@ -920,7 +920,7 @@ public void inAppMessageClicked(OSInAppMessageAction result) {
920920
OneSignal.sendOutcome("test1");
921921
try {
922922
// Ensure outcome is sent but with INDIRECT influence from IAM
923-
assertMeasureOnV2AtIndex(5, "test1", null, null, new JSONArray().put(message.messageId), new JSONArray());
923+
assertMeasureOnV2AtIndex(5, "test1", null, null, new JSONArray().put(message.getMessageId()), new JSONArray());
924924
} catch (JSONException e) {
925925
e.printStackTrace();
926926
}
@@ -1007,7 +1007,7 @@ public void testInAppMessageClickActionDisabledOutcomes() throws Exception {
10071007
OneSignalPackagePrivateHelper.onMessageActionOccurredOnMessage(message, action);
10081008
// Requests: Param request + Players Request + Click request
10091009
assertEquals(3, ShadowOneSignalRestClient.requests.size());
1010-
assertEquals("in_app_messages/" + message.messageId + "/click", ShadowOneSignalRestClient.requests.get(2).url);
1010+
assertEquals("in_app_messages/" + message.getMessageId() + "/click", ShadowOneSignalRestClient.requests.get(2).url);
10111011
}
10121012

10131013
@Test
@@ -1220,7 +1220,7 @@ public void testInAppMessageOnlyReceivesOneClick_onColdRestart() throws Exceptio
12201220
assertEquals(4, ShadowOneSignalRestClient.requests.size());
12211221

12221222
// Now verify the most recent request was not a click request
1223-
boolean isIamClickUrl = mostRecentRequest.url.equals("in_app_messages/" + message.messageId + "/click");
1223+
boolean isIamClickUrl = mostRecentRequest.url.equals("in_app_messages/" + message.getMessageId() + "/click");
12241224
assertFalse(isIamClickUrl);
12251225
}
12261226

@@ -1241,7 +1241,7 @@ public void testInAppMessageOnlyReceivesOneImpression() throws Exception {
12411241
OneSignalPackagePrivateHelper.onMessageWasShown(message);
12421242

12431243
ShadowOneSignalRestClient.Request iamImpressionRequest = ShadowOneSignalRestClient.requests.get(2);
1244-
assertEquals("in_app_messages/" + message.messageId + "/impression", iamImpressionRequest.url);
1244+
assertEquals("in_app_messages/" + message.getMessageId() + "/impression", iamImpressionRequest.url);
12451245
assertEquals(3, ShadowOneSignalRestClient.requests.size());
12461246

12471247
// Call message shown again and make sure no other requests were made, so the impression tracking exists locally
@@ -1286,7 +1286,7 @@ public void testInAppMessageOnlyReceivesOneImpression_onColdRestart() throws Exc
12861286
assertEquals(4, ShadowOneSignalRestClient.requests.size());
12871287

12881288
// Now verify the most recent request was not a impression request
1289-
boolean isImpressionUrl = mostRecentRequest.url.equals("in_app_messages/" + message.messageId + "/impression");
1289+
boolean isImpressionUrl = mostRecentRequest.url.equals("in_app_messages/" + message.getMessageId() + "/impression");
12901290
assertFalse(isImpressionUrl);
12911291
}
12921292

@@ -1309,7 +1309,7 @@ public void testInAppMessageDisplayMultipleTimes() throws Exception {
13091309
// Check impression request
13101310
int requestSize = ShadowOneSignalRestClient.requests.size();
13111311
ShadowOneSignalRestClient.Request iamImpressionRequest = ShadowOneSignalRestClient.requests.get(requestSize - 1);
1312-
assertEquals("in_app_messages/" + message.messageId + "/impression", iamImpressionRequest.url);
1312+
assertEquals("in_app_messages/" + message.getMessageId() + "/impression", iamImpressionRequest.url);
13131313

13141314
// Dismiss IAM will make display quantity increase and last display time to change
13151315
OneSignalPackagePrivateHelper.dismissCurrentMessage();
@@ -1329,7 +1329,7 @@ public void testInAppMessageDisplayMultipleTimes() throws Exception {
13291329
// Check impression request is sent again
13301330
int requestSizeAfterRedisplay = ShadowOneSignalRestClient.requests.size();
13311331
ShadowOneSignalRestClient.Request iamImpressionRequestAfterRedisplay = ShadowOneSignalRestClient.requests.get(requestSizeAfterRedisplay - 1);
1332-
assertEquals("in_app_messages/" + message.messageId + "/impression", iamImpressionRequestAfterRedisplay.url);
1332+
assertEquals("in_app_messages/" + message.getMessageId() + "/impression", iamImpressionRequestAfterRedisplay.url);
13331333

13341334
OneSignalPackagePrivateHelper.dismissCurrentMessage();
13351335
// Check IAMs was removed from queue
@@ -1433,7 +1433,7 @@ public void testInAppMessageDisplayMultipleTimes_NoTriggers() throws Exception {
14331433
TestOneSignalPrefs.saveStringSet(
14341434
TestOneSignalPrefs.PREFS_ONESIGNAL,
14351435
TestOneSignalPrefs.PREFS_OS_DISMISSED_IAMS,
1436-
new HashSet<>(Collections.singletonList(message.messageId))
1436+
new HashSet<>(Collections.singletonList(message.getMessageId()))
14371437
);
14381438

14391439
// Check IAM was saved correctly
@@ -1600,7 +1600,7 @@ public void testInAppMessageDisplayMultipleTimes_onColdRestart() throws Exceptio
16001600
// Check impression request
16011601
int requestSize = ShadowOneSignalRestClient.requests.size();
16021602
ShadowOneSignalRestClient.Request iamImpressionRequest = ShadowOneSignalRestClient.requests.get(requestSize - 1);
1603-
assertEquals("in_app_messages/" + message.messageId + "/impression", iamImpressionRequest.url);
1603+
assertEquals("in_app_messages/" + message.getMessageId() + "/impression", iamImpressionRequest.url);
16041604

16051605
// Dismiss IAM will make display quantity increase and last display time to change
16061606
OneSignalPackagePrivateHelper.dismissCurrentMessage();
@@ -1634,7 +1634,7 @@ public void testInAppMessageDisplayMultipleTimes_onColdRestart() throws Exceptio
16341634
// Check impression request is sent again
16351635
int requestSizeAfterRedisplay = ShadowOneSignalRestClient.requests.size();
16361636
ShadowOneSignalRestClient.Request iamImpressionRequestAfterRedisplay = ShadowOneSignalRestClient.requests.get(requestSizeAfterRedisplay - 1);
1637-
assertEquals("in_app_messages/" + message.messageId + "/impression", iamImpressionRequestAfterRedisplay.url);
1637+
assertEquals("in_app_messages/" + message.getMessageId() + "/impression", iamImpressionRequestAfterRedisplay.url);
16381638

16391639
OneSignalPackagePrivateHelper.dismissCurrentMessage();
16401640
// Check if data after dismiss is set correctly
@@ -1662,7 +1662,7 @@ public void testInAppMessageMultipleRedisplayReceivesClickId() throws Exception
16621662

16631663
// Ensure click is sent
16641664
ShadowOneSignalRestClient.Request firstIAMClickRequest = ShadowOneSignalRestClient.requests.get(2);
1665-
assertEquals("in_app_messages/" + message.messageId + "/click", firstIAMClickRequest.url);
1665+
assertEquals("in_app_messages/" + message.getMessageId() + "/click", firstIAMClickRequest.url);
16661666
assertEquals(3, ShadowOneSignalRestClient.requests.size());
16671667

16681668
// Call IAM clicked again, ensure a 2nd network call isn't made.
@@ -1688,7 +1688,7 @@ public void testInAppMessageMultipleRedisplayReceivesClickId() throws Exception
16881688

16891689
// Call IAM clicked again, ensure a 2nd network call is made.
16901690
ShadowOneSignalRestClient.Request secondIAMClickRequest = ShadowOneSignalRestClient.requests.get(3);
1691-
assertEquals("in_app_messages/" + message.messageId + "/click", secondIAMClickRequest.url);
1691+
assertEquals("in_app_messages/" + message.getMessageId() + "/click", secondIAMClickRequest.url);
16921692
assertEquals(4, ShadowOneSignalRestClient.requests.size());
16931693

16941694
// Verify clickId was persisted locally
@@ -1707,7 +1707,7 @@ public void testInAppMessageMultipleRedisplayReceivesClickId() throws Exception
17071707
OneSignalPackagePrivateHelper.onMessageActionOccurredOnMessage(message, action);
17081708

17091709
// Call IAM clicked again, ensure a 3nd network call isn't made.
1710-
assertEquals("in_app_messages/" + message.messageId + "/click", secondIAMClickRequest.url);
1710+
assertEquals("in_app_messages/" + message.getMessageId() + "/click", secondIAMClickRequest.url);
17111711
assertEquals(4, ShadowOneSignalRestClient.requests.size());
17121712
}
17131713

@@ -1732,8 +1732,8 @@ public void testCachedIAMSharedPreferenceAndSQL_cleanedAfterSixMonths() throws E
17321732

17331733
// 2. Cache IAMs as dismissed, impressioned, and clicked
17341734
Set<String> messageIds = new HashSet<String>() {{
1735-
add(iam1.messageId);
1736-
add(iam2.messageId);
1735+
add(iam1.getMessageId());
1736+
add(iam2.getMessageId());
17371737
}};
17381738
TestOneSignalPrefs.saveStringSet(
17391739
TestOneSignalPrefs.PREFS_ONESIGNAL,
@@ -1764,14 +1764,14 @@ public void testCachedIAMSharedPreferenceAndSQL_cleanedAfterSixMonths() throws E
17641764
TestOneSignalPrefs.PREFS_OS_DISMISSED_IAMS,
17651765
null);
17661766
assertEquals(1, testDismissedMessages.size());
1767-
assertTrue(testDismissedMessages.contains(iam1.messageId));
1767+
assertTrue(testDismissedMessages.contains(iam1.getMessageId()));
17681768

17691769
Set<String> testImpressionedMessages = TestOneSignalPrefs.getStringSet(
17701770
TestOneSignalPrefs.PREFS_ONESIGNAL,
17711771
TestOneSignalPrefs.PREFS_OS_IMPRESSIONED_IAMS,
17721772
null);
17731773
assertEquals(1, testImpressionedMessages.size());
1774-
assertTrue(testImpressionedMessages.contains(iam1.messageId));
1774+
assertTrue(testImpressionedMessages.contains(iam1.getMessageId()));
17751775

17761776
Set<String> testClickedClickIds = TestOneSignalPrefs.getStringSet(
17771777
TestOneSignalPrefs.PREFS_ONESIGNAL,
@@ -1783,7 +1783,7 @@ public void testCachedIAMSharedPreferenceAndSQL_cleanedAfterSixMonths() throws E
17831783
// 5. Make sure only IAM left is the IAM younger than 6 months
17841784
List<OSTestInAppMessageInternal> savedInAppMessagesAfterInit = TestHelpers.getAllInAppMessages(dbHelper);
17851785
assertEquals(1, savedInAppMessagesAfterInit.size());
1786-
assertEquals(iam1.messageId, savedInAppMessagesAfterInit.get(0).messageId);
1786+
assertEquals(iam1.getMessageId(), savedInAppMessagesAfterInit.get(0).getMessageId());
17871787
}
17881788

17891789
@Test
@@ -1793,13 +1793,13 @@ public void testInAppMessageRedisplayCacheCleaning() throws Exception {
17931793
final OSTestInAppMessageInternal inAppMessage = InAppMessagingHelpers.buildTestMessageWithSingleTriggerAndRedisplay(
17941794
OSTriggerKind.CUSTOM, "test_saved", OneSignalPackagePrivateHelper.OSTestTrigger.OSTriggerOperator.EQUAL_TO.toString(), 2, LIMIT, DELAY);
17951795

1796-
String firstID = inAppMessage.messageId + "_test";
1797-
inAppMessage.messageId = firstID;
1796+
String firstID = inAppMessage.getMessageId() + "_test";
1797+
inAppMessage.setMessageId(firstID);
17981798
inAppMessage.getRedisplayStats().setLastDisplayTime(currentTimeInSeconds - SIX_MONTHS_TIME_SECONDS + 1);
17991799
TestHelpers.saveIAM(inAppMessage, dbHelper);
18001800

18011801
inAppMessage.getRedisplayStats().setLastDisplayTime(currentTimeInSeconds - SIX_MONTHS_TIME_SECONDS - 1);
1802-
inAppMessage.messageId += "1";
1802+
inAppMessage.setMessageId(inAppMessage.getMessageId() + "1");
18031803
TestHelpers.saveIAM(inAppMessage, dbHelper);
18041804

18051805
List<OSTestInAppMessageInternal> savedInAppMessages = TestHelpers.getAllInAppMessages(dbHelper);
@@ -1823,7 +1823,7 @@ public void testInAppMessageRedisplayCacheCleaning() throws Exception {
18231823
List<OSTestInAppMessageInternal> savedInAppMessagesAfterInit = TestHelpers.getAllInAppMessages(dbHelper);
18241824
// Message with old display time should be removed
18251825
assertEquals(1, savedInAppMessagesAfterInit.size());
1826-
assertEquals(firstID, savedInAppMessagesAfterInit.get(0).messageId);
1826+
assertEquals(firstID, savedInAppMessagesAfterInit.get(0).getMessageId());
18271827
}
18281828

18291829
@Test
@@ -1899,12 +1899,12 @@ public void testLiquidIAMDisplayWaitsForGetTags() throws Exception {
18991899
// Runnable for webView is run from background thread to main thread
19001900
threadAndTaskWait();
19011901
ShadowOneSignalRestClient.Request lastRequest = ShadowOneSignalRestClient.requests.get(ShadowOneSignalRestClient.requests.size() - 1);
1902-
while (!lastRequest.url.equals("in_app_messages/" + message.messageId + "/impression")) {
1902+
while (!lastRequest.url.equals("in_app_messages/" + message.getMessageId() + "/impression")) {
19031903
// Check impression request by waiting until animationEnd
19041904
threadAndTaskWait();
19051905
lastRequest = ShadowOneSignalRestClient.requests.get(ShadowOneSignalRestClient.requests.size() - 1);
19061906
}
1907-
assertEquals("in_app_messages/" + message.messageId + "/impression", lastRequest.url);
1907+
assertEquals("in_app_messages/" + message.getMessageId() + "/impression", lastRequest.url);
19081908
}
19091909

19101910
private void setMockRegistrationResponseWithMessages(ArrayList<OSTestInAppMessageInternal> messages) throws JSONException {

OneSignalSDK/unittest/src/test/java/com/test/onesignal/InAppMessagingUnitTests.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ private static boolean comparativeOperatorTest(OSTriggerOperator operator, Objec
152152

153153
@Test
154154
public void testBuiltMessage() {
155-
UUID.fromString(message.messageId); // Throws if invalid
155+
UUID.fromString(message.getMessageId()); // Throws if invalid
156156
assertNotNull(message.variants);
157157
}
158158

@@ -594,7 +594,7 @@ public void inAppMessageClicked(OSInAppMessageAction result) {
594594

595595
// Ensure we make REST call to OneSignal to report click.
596596
ShadowOneSignalRestClient.Request iamClickRequest = ShadowOneSignalRestClient.requests.get(2);
597-
assertEquals("in_app_messages/" + message.messageId + "/click", iamClickRequest.url);
597+
assertEquals("in_app_messages/" + message.getMessageId() + "/click", iamClickRequest.url);
598598
assertEquals(InAppMessagingHelpers.ONESIGNAL_APP_ID, iamClickRequest.payload.get("app_id"));
599599
assertEquals(1, iamClickRequest.payload.get("device_type"));
600600
assertEquals(message.variants.get("android").get("en"), iamClickRequest.payload.get("variant_id"));
@@ -614,7 +614,7 @@ public void testOnMessageWasShown() throws Exception {
614614

615615
ShadowOneSignalRestClient.Request iamImpressionRequest = ShadowOneSignalRestClient.requests.get(2);
616616

617-
assertEquals("in_app_messages/" + message.messageId + "/impression", iamImpressionRequest.url);
617+
assertEquals("in_app_messages/" + message.getMessageId() + "/impression", iamImpressionRequest.url);
618618
assertEquals(InAppMessagingHelpers.ONESIGNAL_APP_ID, iamImpressionRequest.payload.get("app_id"));
619619
assertEquals(ShadowOneSignalRestClient.pushUserId, iamImpressionRequest.payload.get("player_id"));
620620
assertEquals(1, iamImpressionRequest.payload.get("device_type"));
@@ -629,7 +629,7 @@ public void testOnPageChanged() throws Exception {
629629

630630
ShadowOneSignalRestClient.Request iamPageImpressionRequest = ShadowOneSignalRestClient.requests.get(2);
631631

632-
assertEquals("in_app_messages/" + message.messageId + "/pageImpression", iamPageImpressionRequest.url);
632+
assertEquals("in_app_messages/" + message.getMessageId() + "/pageImpression", iamPageImpressionRequest.url);
633633
assertEquals(InAppMessagingHelpers.ONESIGNAL_APP_ID, iamPageImpressionRequest.payload.get("app_id"));
634634
assertEquals(ShadowOneSignalRestClient.pushUserId, iamPageImpressionRequest.payload.get("player_id"));
635635
assertEquals(1, iamPageImpressionRequest.payload.get("device_type"));
@@ -684,6 +684,6 @@ public void onDidDismissInAppMessage(OSInAppMessage message) {
684684
assertEquals(4,iamLifecycleCounter);
685685

686686
assertNotNull(lastMessage);
687-
assertEquals(lastMessage.messageId, message.messageId);
687+
assertEquals(lastMessage.getMessageId(), message.getMessageId());
688688
}
689689
}

0 commit comments

Comments
 (0)