Skip to content

Commit e6afdb8

Browse files
committed
Fix testAfterLastInAppTimeIsDisplayedOncePerSession flakyness
* Sometimes OneSignalPackagePrivateHelper.getShowingInAppMessageId() can throw an NPE when running. We want to catch it so the Awaitility will retry instead of test just failing on the first attempt.
1 parent ab998e5 commit e6afdb8

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,12 @@ public void testAfterLastInAppTimeIsDisplayedOncePerSession() throws Exception {
420420
.pollInterval(new Duration(10, TimeUnit.MILLISECONDS))
421421
.untilAsserted(() -> {
422422
assertEquals(1, OneSignalPackagePrivateHelper.getInAppMessageDisplayQueue().size());
423-
assertEquals(message1.messageId, OneSignalPackagePrivateHelper.getShowingInAppMessageId());
423+
try {
424+
assertEquals(message1.messageId, OneSignalPackagePrivateHelper.getShowingInAppMessageId());
425+
} catch (NullPointerException e) {
426+
// Awaitility won't retry if something is thrown, but will if an assert fails.
427+
fail("Should not throw");
428+
}
424429
});
425430

426431
OneSignalPackagePrivateHelper.dismissCurrentMessage();

0 commit comments

Comments
 (0)