Skip to content

SDK-496 Fix inAppConsume behavior and add JSON-only message signal - #1087

Merged
sumeruchat merged 16 commits into
masterfrom
fix/SDK-496-inapp-consume-inbox-notification
Jul 30, 2026
Merged

SDK-496 Fix inAppConsume behavior and add JSON-only message signal#1087
sumeruchat merged 16 commits into
masterfrom
fix/SDK-496-inapp-consume-inbox-notification

SDK-496 Harden mixed auth queue test ordering

ed110af
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / Unit Test Results succeeded Jul 29, 2026 in 0s

Tests: 804/804 passed (100.0%) Skipped: 13

Test Results Summary:
• Total Tests: 817
• Passed: 804
• Failed: 0
• Skipped: 13
• Success Rate: 100.0%

Xcode Test Results

Test

TotalPassedFailedSkippedExpected FailuresDuration
8178040130388.00s

Test Environment

DeviceiPhone 16 Pro
OS Version18.6
Architecturearm64

Test Details

unit-tests

APNSTypeCheckerTests

testDev()0.01s
testNoValue()0.00s
testValidProduction()0.00s

ActionRunnerTests

testAllowHttpWhenAllowedProtocolsIsSet()0.00s
testBadDataInIterableAction()0.00s
testCustomAction()0.00s
testCustomActionOverride()0.00s
testDoNotOpenHttpByDefault()1.00s
testOpenHttpsByDefault()0.00s
testUrlHandlingOverride()0.00s
testUrlOpenAction()0.00s

AuthTests

testAsyncAuthTokenRetrieval()0.12s
testAuthFailureReasonDebugDescriptions()0.00s
testAuthTokenCallbackOnSetEmail()0.17s
testAuthTokenCallbackOnSetUserId()0.12s
testAuthTokenChangeWithSameEmail()0.15s
testAuthTokenChangeWithSameUserId()0.16s
testAuthTokenDeletedOnLogout()0.11s
testAuthTokenNotRequestingForAlreadyExistingEmail()1.11s
testAuthTokenRefreshOnInit()0.41s
testAuthTokenRefreshQueued()1.06s
testAuthTokenRefreshRetryOnlyOnce()6.33s
testAuthTokenRefreshSkippedIfUserLoggedOutAfterReschedule()2.01s
testAuthTokenRetrievalFailureReset()1.36s
testDecodeExpirationDate()0.00s
testDisableDeviceWithHandlersNotInitializedFails()0.00s
testEmailPersistence()0.23s
testEmailWithTokenPersistence()0.37s
testLoggedOutAuthTokenRequest()1.13s
testLogoutUser()0.13s
testLogoutUserParameterlessOverloadStillLogsOut()0.11s
testLogoutUserWithHandlersAutoPushOffSucceedsSynchronouslyWithoutNetwork()0.11s
testLogoutUserWithHandlersAutoPushOnDisableDeviceFails()0.56s
testLogoutUserWithHandlersAutoPushOnDisableDeviceSucceeds()0.20s
testLogoutUserWithHandlersAutoPushOnNoTokenFailsButStillClearsLocalState()0.25s
testLogoutUserWithHandlersNotInitializedFails()0.70s
testLogout_resolvesPendingFulfills_viaExhaustion()0.25s
testNewEmailAndThenChangeToken()0.81s
testNewUserIdAndThenChangeToken()0.33s
testPriorAuthFailedRetryPrevention()0.08s
testPriorAuthFailedRetrySuccess()0.16s
testPushRegistrationAfterAuthTokenRetrieval()0.27s
testRefreshTimerQueueRejection()0.11s
testRequestNewAuthToken_enqueuesCallbacks_whenPendingAuth()0.25s
testRetryJwtFailureQueuesRequestsUntilNewJwtTokenIsReceived()0.49s
testScheduleRefreshTimer_callsExhaustion_whenMaxRetriesReached()0.08s
testScheduleRefreshTimer_callsExhaustion_whenNoUserIdentity()0.09s
testScheduleRefreshTimer_callsOnRetryExhausted_whenRetriesPaused()1.00s
testScheduleRefreshTimer_notifiesAllQueuedCallers_onExhaustion()0.03s
testScheduleRefreshTimer_resolvesExhaustion_whenPausedMidInterval()0.20s
testSendRequest_resolvesFulfillViaExhaustion_on401WhenRetriesExhausted()0.05s
testUpdateEmailAndThenChangeToken()0.42s
testUpdateEmailWithTokenParam()0.23s
testUserIdPersistence()0.21s
testUserIdWithTokenPersistence()0.14s
testUserLoginAndLogout()0.13s

AutoRegistrationTests

testAutomaticPushRegistrationOnInit()0.19s
testCallDisableAndEnable()0.15s
testDoNotCallDisableAndEnableWhenSameValue()1.23s
testDoNotCallDisableOrEnableWhenAutoPushIsOff()1.12s

ClassExtensionsTests

testArrayIsAscending()0.00s
testArrayIsDescending()0.00s
testHexConversion()0.00s
testUIColorInit()0.00s

CombinationComplexCriteria

testComplexCriteria1Failed()0.00s
testComplexCriteria1Success()0.00s
testComplexCriteria2Failed()0.00s
testComplexCriteria2Success()0.00s
testComplexCriteria3Fail()0.00s
testComplexCriteria3Success()0.00s
testComplexCriteria3Success2()0.00s

CombinationLogicEventTypeCriteria

testCompareDataPurchaseAndFailed()0.00s
testCompareDataPurchaseAndSuccess()0.00s
testCompareDataPurchaseCustomEventAndFailed()0.00s
testCompareDataPurchaseCustomEventAndSuccess()0.00s
testCompareDataPurchaseCustomEventNotFailed()0.00s
testCompareDataPurchaseCustomEventNotSuccess()0.00s
testCompareDataPurchaseCustomEventOrFailed()0.00s
testCompareDataPurchaseCustomEventOrSuccess()0.00s
testCompareDataPurchaseNotFailed()0.00s
testCompareDataPurchaseNotSuccess()0.00s
testCompareDataPurchaseOrFailed()0.00s
testCompareDataPurchaseOrSuccess()0.00s
testCompareDataUpdateCartAndFailed()0.00s
testCompareDataUpdateCartAndSuccess()0.00s
testCompareDataUpdateCartNotFailed()0.00s
testCompareDataUpdateCartNotSuccess()0.00s
testCompareDataUpdateCartOrFailed()0.00s
testCompareDataUpdateCartOrSuccess()0.00s
testCompareDataUserAndFailed()0.01s
testCompareDataUserAndSuccess()0.00s
testCompareDataUserNotFailed()0.00s
testCompareDataUserNotSuccess()0.00s
testCompareDataUserOrFailed()0.01s
testCompareDataUserOrSuccess()0.00s

CommerceItemTests

testToDictionaryWithAllFields()0.00s
testToDictionaryWithRequiredFields()0.00s

ComparatorDataTypeWithArrayInput

testMockDataMileStoneYearDoesNotEqualFailure()0.00s
testMockDataMileStoneYearDoesNotEqualSuccess()0.00s
testMockDataMileStoneYearEqualFailure()0.00s
testMockDataMileStoneYearEqualSuccess()0.00s
testMockDataMileStoneYearGreaterThanFailure()0.00s
testMockDataMileStoneYearGreaterThanOrEqualToFailure()0.00s
testMockDataMileStoneYearGreaterThanOrEqualToSuccess()0.00s
testMockDataMileStoneYearGreaterThanSuccess()0.00s
testMockDataMileStoneYearLessThanFailure()0.00s
testMockDataMileStoneYearLessThanOrEqualFailure()0.00s
testMockDataMileStoneYearLessThanOrEqualToSuccess()0.00s
testMockDataMileStoneYearLessThanSuccess()0.00s
testMockDataMockDataForArrayContainsFailure()0.00s
testMockDataMockDataForArrayContainsSuccess()0.00s
testMockDataMockDataForArrayMatchRegexFailure()0.00s
testMockDataMockDataForArrayMatchRegexSuccess()0.00s
testMockDataMockDataForArrayStartWithFailure()0.00s
testMockDataMockDataForArrayStartWithSuccess()0.00s
testMockDataStringArrayDoesNotEqualFailure()0.00s
testMockDataStringArrayDoesNotEqualSuccess()0.00s

ComparatorTypeDoesNotEqualMatchTest

testCompareDataFailedForBool()0.00s
testCompareDataFailedForDouble()0.00s
testCompareDataFailedForLong()0.00s
testCompareDataFailedForString()0.00s
testCompareDataSuccessForBool()0.00s
testCompareDataSuccessForDouble()0.00s
testCompareDataSuccessForLong()0.00s
testCompareDataSuccessForString()0.00s

ConsentTrackingTests

testConsentNoRetryOnSuccess()0.23s
testConsentNotSentWhenAnonActivationDisabled()2.30s
testConsentNotSentWhenAnonUserExists()2.12s
testConsentNotSentWhenNoConsentTimestamp()2.13s
testConsentNotSentWhenNoTracking()2.16s
testConsentRequestIncludesDeviceInfo()0.11s
testConsentRetryFailsAfterTwoAttempts()0.47s
testConsentRetryOnFailure()0.28s
testConsentSentAfterCriteriaMatch()0.11s
testConsentSentOnEmailSetForReplayScenario()0.16s
testConsentSentOnUserIdSetForReplayScenario()0.15s
testConsentTimestampSentInMilliseconds()0.13s
testConsentTrackingErrorHandling()0.12s
testSendPendingConsentSkippedInLoginFlowWhenReplayDisabled()2.27s
testSendPendingConsentSkippedWhenReplayDisabled()2.33s
testSendPendingConsentWhenReplayEnabled()0.26s

CustomEventUserUpdateTestCaseTests

testCompareDataWithCustomEventCriteriaFailed1()0.00s
testCompareDataWithCustomEventCriteriaFailed2()0.00s
testCompareDataWithCustomEventCriteriaFailed3()0.00s
testCompareDataWithCustomEventCriteriaFailed4()0.00s
testCompareDataWithCustomEventCriteriaSuccessCase()0.00s
testMultiLevelNestedFailed1()0.00s
testMultiLevelNestedFailed2()0.00s
testMultiLevelNestedFailed3()0.00s
testMultiLevelNestedFailed4()0.00s
testMultiLevelNestedSuccessCase()0.00s

DataTypeComparatorSearchQueryCriteria

testCompareDataContainFailure()0.00s
testCompareDataDoesNotEqualFailed()0.00s
testCompareDataDoesNotEqualSuccess()0.00s
testCompareDataEqualFailed()0.00s
testCompareDataEqualSuccess()0.00s
testCompareDataGreaterThanFailed()0.02s
testCompareDataGreaterThanOrEqualFailed()0.00s
testCompareDataGreaterThanOrEqualSuccess()0.00s
testCompareDataGreaterThanSuccess()0.00s
testCompareDataIsSetFailure()0.17s
testCompareDataIsSetySuccess()0.00s
testCompareDataLessThanFailed()0.00s
testCompareDataLessThanOrEqualFailed()0.00s
testCompareDataLessThanOrEqualSuccess()0.14s
testCompareDataLessThanSuccess()0.00s
testCompareDataMatchesRegexFailure()0.00s
testCompareDataMatchesRegexSuccess()0.00s
testCompareDataStartWithFailure()0.00s

DeepLinkTests

testHandleUniversalLinkAttributionInfo()0.76s
testHandleUniversalLinkRewrite()0.12s
testIsIterableDeepLinkHandlesNonBMPCharactersWithoutDeepLinkPath()0.00s
testIsIterableDeepLinkMatchesWithNonBMPCharactersBeforePath()0.00s
testIsIterableDeepLinkReturnsFalseForEmptyString()0.00s
testIsIterableDeepLinkReturnsFalseForNonIterableLink()0.00s
testIsIterableDeepLinkReturnsFalseForNonRewriteLink()0.00s
testIsIterableDeepLinkReturnsTrueForValidDeepLink()0.00s
testNoURLRedirect()0.00s
testTrackUniversalDeepLinkNoRewrite()0.00s
testTrackUniversalDeepLinkRewrite()0.00s

EmbeddedManagerTests

testGetMessagesForPlacement()0.02s
testGetMessagesWhenEmpty()0.00s
testManagerCorrectlyAddsAndRemovesListeners()0.02s
testManagerInitializationAndDeinitialization()0.00s
testManagerNotifiesMultipleDelegates()0.01s
testManagerReset()0.00s
testManagerSingleDelegateUpdated()0.00s
testManagerSyncsOnForeground()0.00s
testSyncMessagesFailedDueToInvalidAPIKey()0.01s
testSyncMessagesSuccessful()0.00s
testSyncMessagesWithPlacementIdsDoesNotClearOtherPlacements()0.01s
testUpdateMessagesIsCalled()0.00s

EmbeddedMessagingProcessorTests

testMessageIdsToTrackDelivery()0.00s
testMessageListProcessing()0.00s
testMessageListRemovedMessages()0.00s

InAppFilePersistenceTests

testColorAndShouldAnimatePersistence()0.04s
testCorruptedData()0.01s
testFilePersistence()0.00s
testFilePersisterInitial()0.00s
testPersistBetweenSessions()0.22s
testShouldAnimateWithoutBGColorPersistence()0.00s

InAppHelperTests

testGetInAppMessagesRetriesAfterJWT401()0.03s
testGetInAppMessagesWithErrorGetsConsumed()0.01s
testGetInAppMessagesWithNoError()0.00s
testParseURL()0.00s

InAppMessageProcessorTests

testDoNotCountNewReadMessageAsDelivered()0.00s
testMessagesObtainedShouldOverwriteForReadState()0.00s
testServerReadStateDoesNotClearLocalConsumeState()0.00s

InAppNavigationTests

testAllowHttpWhenAllowedProtocolsIsSet()0.14s
testDoNotOpenHttpByDefault()1.12s
testOpenHttpsByDefault()0.14s

InAppParsingTests

testBackgroundColor1()0.00s
testBackgroundColor2()0.00s
testBackgroundColor3()0.00s
testBackgroundColor4()0.00s
testBackgroundColor5()0.00s
testBackgroundColor6()0.00s
testCallbackUrlParsingAppleWebdataScheme1()0.00s
testCallbackUrlParsingAppleWebdataScheme2()0.00s
testCallbackUrlParsingCustomActionScheme()0.00s
testCallbackUrlParsingRegularScheme()0.00s
testCustomPayloadParsing()0.00s
testDoNotShowMultipleTimes()0.01s
testGetPaddingBottom()0.00s
testGetPaddingCenter()0.00s
testGetPaddingFull()0.00s
testGetPaddingInvalid()0.00s
testGetPaddingTop()0.00s
testInAppPayloadParsing()0.00s
testInAppPayloadParsingWithPreprocessing()0.00s
testInAppPayloadWithKnownTrigger()0.00s
testInAppPayloadWithNoTrigger()0.00s
testInAppPayloadWithUnKnownTrigger()0.00s
testNotificationPaddingBottom()0.00s
testNotificationPaddingCenter()0.00s
testNotificationPaddingDefault()0.00s
testNotificationPaddingFull()0.00s
testNotificationPaddingTop()0.00s
testParseShouldAnimate1()0.00s
testParseShouldAnimate2()0.00s
testParseShouldAnimate3()0.00s
testParseShouldAnimate4()0.03s
testParseShouldAnimate5()0.00s
testParseShouldAnimate6()0.00s
testParseShouldAnimate7()0.00s
testTrackInAppClickWithClickedUrl()0.15s
testTrackInAppClose()0.13s
testTrackInAppCloseWithNoSource()0.11s
testTrackInAppDelivery()0.11s
testTrackInAppOpen()0.12s

InAppPersistenceTests

testDefaultTriggerDict()0.00s
testInboxMetadataDecodingEncoding()0.02s
testJsonOnlyMessageCustomPayloadPriority()0.00s
testJsonOnlyMessagePersistence()0.01s
testPersistentReadStateFromServerPayload()0.11s
testUIEdgeInsetsKeysDecodingEncoding()0.00s

InAppPresenterTests

testInAppPresenterDelegateExistence()0.01s
testInAppPresenterIsPresentingOnInit()0.03s
testInAppPresenterShowMethod()1.18s

InAppPriorityTests

testDisplayingCriticalPriorityLevel()0.47s
testDisplayingPriorityLevelsInOrder()3.69s
testGetMessagesWithOutOfOrderPriorityLevels()0.11s
testInAppMessagePriorityPersistence()0.11s
testMessageWithNoPriorityTreatedAsDefaultLevel()0.11s

InAppTests

testAutoDisplayOff()0.11s
testAutoDisplayResumed()0.12s
testAutoShowInAppMultipleOverride()1.11s
testAutoShowInAppMultipleWithOrdering()2.34s
testAutoShowInAppOpenUrlByDefault()0.15s
testAutoShowInAppSingle()0.13s
testAutoShowInAppSingleOverride()1.11s
testAutoShowInAppUrlDelegateOverride()1.11s
testDeleteInServerDeletesInClient()0.13s
testDoNoProcessNonImmediateTriggerTypes()1.11s
testDontShowNewlyArrivedMessageWithinRetryInterval()2.33s
testEmptyInAppManager()0.00s
testExpiration()0.13s
testInAppDelivery()0.14s
testInAppDoNotShowInBackground()1.12s
testInAppRemoveMessagePayload1()0.12s
testInAppRemoveMessagePayload2()0.11s
testInAppRemoveMessagePayload3()0.12s
testInAppShowWhenMovesToForeground()1.14s
testInboxChangedIsCalledWhenInAppIsRemovedInServer()0.11s
testInboxChangedIsNotCalledWhenNonInboxMessageIsRemovedInServer()1.16s
testJsonOnlyInAppMessage()0.15s
testJsonOnlyInAppMessageDelegateCallbacks()3.11s
testJsonOnlyInAppMessageParsing()0.11s
testJsonOnlyInAppMessageWithoutCustomPayload()0.12s
testJsonOnlyMessageCannotBeSavedToInbox()0.12s
testJsonOnlyMessageIgnoresContentPayload()0.11s
testJsonOnlyMessageWithEmptyPayload()0.11s
testMoveToForegroundSyncInterval()2.12s
testOnNewNotCalledMultipleTimes()0.11s
testParseSilentPushNotificationParsing()0.00s
testParseSilentPushNotificationParsing2()0.01s
testRemoveIsCalled()0.00s
testRemoveMessages()0.24s
testShowBackgroundSyncedMessageOnForegroundWithinCooldown()0.12s
testShowInAppWithConsume()0.11s
testShowInAppWithCustomAction()0.11s
testShowInAppWithCustomAction1()0.11s
testShowInAppWithCustomActionBackwardCompatibility()0.11s
testShowInAppWithIterableCustomActionDelete()1.13s
testShowInAppWithIterableCustomActionDismiss()0.11s
testShowInAppWithNoConsume()0.11s
testSyncIsCalled()0.11s
testSyncIsCalledOnLogin()0.12s

InboxImpressionTrackerTests

testRowInfoHashableEquatable()0.00s
testToIterableInboxImpression()0.00s
testUpdateVisibleRows()1.62s

InboxMessageViewModelTests

testEquatable()0.00s
testHasValidImageUrl()0.00s
testHasher()0.00s
testModel()0.00s

InboxSessionManagerTests

testSessionInfoStartAndEnd()0.00s
testSessionIsTracking()0.00s
testUpdateRowTracking()1.01s

InboxTests

testInboxAndInAppCallbacksTogether()0.11s
testInboxChangedCalledOnInitialization()0.12s
testInboxLogoutClearMessageQueue()1.13s
testInboxNewMessagesCallback()0.11s
testInboxOrdering()0.11s
testReceiveReadMessage()0.11s
testRemove()0.11s
testRemoveNonInboxMessageDoesNotPostInboxChanged()1.12s
testSetRead()0.11s
testSetReadNonInboxMessageDoesNotPostInboxChanged()1.11s
testShowInboxMessage()0.19s
testShowNowAndInboxMessage()0.17s

InboxViewControllerViewModelTests

testAscendingSorting()0.02s
testCustomFiltering()0.00s
testDescendingSorting()0.00s
testImageLoadingForExistingImage()1.14s
testImageLoadingForNonExistingImage()5.11s
testNoSortingIsDescending()0.00s
testRowDiff()0.13s
testSampleFilter()0.01s
testSampleSectionMapper()0.00s
testWithNoFiltering()0.00s

IsOneOfInNotOneOfCriteareaTest

testCompareIsNotOneOfFailed()0.00s
testCompareIsNotOneOfSuccess()0.00s
testCompareIsOneOfFailed()0.00s
testCompareIsOneOfSuccess()0.00s
testCompareMockDataCrashTest()0.00s

IterableAPIResponseTests

testAuthInHeader()0.13s
testHeadersInGetRequest()0.10s
testHeadersInPostRequest()0.11s
testNetworkTimeoutResponse()0.21s
testNoNetworkResponse()0.11s
testNon200ResponseCode()0.11s
testResponseCode200()0.11s
testResponseCode200WithInvalidJson()0.12s
testResponseCode200WithNoData()0.11s
testResponseCode400WithMessage()0.12s
testResponseCode400WithoutMessage()0.11s
testResponseCode401()0.11s
testResponseCode500()6.15s
testSendRequestWithRetry()6.14s
testTrackConsentError()0.11s
testTrackConsentNetworkError()0.11s
testTrackConsentRequestFormat()0.10s
testTrackConsentSuccess()0.12s
testTrackConsentWithOnlyTimestamp()0.11s

IterableAPITests

testDisableDeviceForAllUsers()0.12s
testDisableDeviceForAllUsersAsyncSuccess()0.12s
testDisableDeviceForAllUsersWithoutCallback()0.12s
testDisableDeviceForCurrentUser()0.14s
testDisableDeviceForCurrentUserAsyncFailureThrowsSendRequestError()0.11s
testDisableDeviceForCurrentUserAsyncNotInitializedThrowsSendRequestError()0.00s
testDisableDeviceForCurrentUserAsyncSuccess()0.23s
testDisableDeviceForCurrentUserWithoutCallback()0.14s
testDisableDeviceNotRegistered()0.11s
testEmailPersistence()0.18s
testGetInAppMessagesFunction()0.18s
testInAppConsumeNonInboxMessageDoesNotPostInboxChanged()1.14s
testInAppConsumeRemovesInboxMessageBeforeNotifying()0.12s
testInAppConsumeWithSourceRemovesInboxMessageBeforeNotifying()0.17s
testInitialize()0.13s
testInitializeCheckEndpoint()0.12s
testInitializeWithConfig()0.11s
testInitializeWithDefaultDataRegion()0.11s
testInitializeWithEUDataRegion()0.11s
testInitializeWithLaunchOptionsAndCustomAction()0.11s
testInitializeWithLaunchOptionsAndUrl()0.12s
testInitializeWithNewEndpoint()0.12s
testIterableAPIUpdateSubscriptions()0.11s
testIterableAPIUpdateSubscriptionsNotInitializedDoesNotCrash()0.00s
testPurchaseWithoutSuccessAndFailure()0.12s
testRegisterToken()0.12s
testRegisterTokenNilAppName()0.11s
testRegisterTokenNilEmailAndUserId()0.11s
testSetEmailWithCallbackFailure()0.12s
testSetEmailWithCallbackSuccess()0.12s
testSetUserIdWithCallbackFailure()0.12s
testSetUserIdWithCallbackSuccess()0.11s
testSetVisitorUsageTrackedClearsConsentTimestamp()0.11s
testSetVisitorUsageTrackedMultipleCalls()0.11s
testSetVisitorUsageTrackedStoresConsentTimestamp()0.11s
testSetVisitorUsageTrackedStoresTimestampInMilliseconds()0.11s
testTrackEventBadNetwork()6.26s
testTrackEventWithEmail()0.12s
testTrackEventWithEmail2()0.11s
testTrackEventWithNoEmailOrUser()0.10s
testTrackPurchaseNoUserIdOrEmail()0.11s
testTrackPurchaseWithEmail()0.11s
testTrackPurchaseWithUserId()0.12s
testTrackPurchaseWithUserId2()0.15s
testTrackPushOpen()0.14s
testTrackPushOpenWithCallback()0.13s
testTrackPushOpenWithCampaignIdEtc()0.12s
testTrackPushOpenWithCampaignIdEtcWithCallback()0.11s
testTrackPushOpenWithDataFields()0.11s
testUpdateCart()0.11s
testUpdateEmailWithEmail()0.13s
testUpdateEmailWithUserId()0.12s
testUpdateSubscriptions()0.11s
testUpdateUserWithEmail()0.11s
testUpdateUserWithUserId()0.12s
testUpgradeJWTToken()0.13s
testUserIdPersistence()0.12s

IterableApiCriteriaFetchTests

testCriteriaFetchFailureInvokesUnknownUserHandler()6.17s
testCriteriaFetchNotCalledWhenDisabled()15.12s
testCriteriaFetchSuccessInvokesUnknownUserHandlerAfterPersistingCriteria()0.11s
testCriteriaFetchSuccessInvokesUnknownUserHandlerOnEveryFetch()0.11s
testForegroundCriteriaFetchWhenConditionsMet()5.21s
testForegroundCriteriaFetchWithCooldown()20.23s

IterableDataRegionObjCTests

testIterableDataRegionIsAccessibleFromObjectiveC0.00s
testJsonOnlyApiSurfaceIsAccessibleFromObjectiveC0.00s
testLegacyInAppDelegateConformanceRemainsValid0.00s

IterableHtmlMessageViewControllerTests

testBottomAnimation()0.00s
testCenterAnimation()0.00s
testCenterAnimationDetail_withBgColor_noAnimate_usesClear()0.01s
testCenterAnimationDetail_withBgColor_shouldAnimate_usesClear()0.00s
testCreateDismisserDismissesModalInApp()0.01s
testDidFailLogsRenderFailure()0.14s
testDidFailProvisionalNavigationLogsRenderFailure()0.01s
testFullAnimation()0.00s
testFullAnimationDetail_noBgColor_shouldAnimate_usesClear()0.00s
testFullAnimationDetail_withBgColor_noAnimate_usesActualBgColor()0.01s
testFullAnimationDetail_withBgColor_shouldAnimate_usesActualBgColor()0.00s
testRenderFailureDismissDoesNotTrackInAppClose()0.35s
testTopAnimation()0.00s
testTopAnimationDetail_withBgColor_shouldAnimate_usesClear()0.00s
testTrackInAppClick()0.08s
testTrackInAppClose()0.01s
testTrackInAppOpen()0.01s
testViewportFitCover_alreadyPresent_caseInsensitive()0.00s
testViewportFitCover_alreadyPresent_returnsUnchanged()0.00s
testViewportFitCover_contentFirstViewportMeta_prependsToContent()0.00s
testViewportFitCover_doesNotDoubleInject()0.00s
testViewportFitCover_emptyString_prependsMetaTag()0.00s
testViewportFitCover_nameFirstViewportMeta_appendsToContent()0.00s
testViewportFitCover_noHeadTag_prependsMetaTag()0.00s
testViewportFitCover_noViewportMeta_hasHead_insertsBeforeHeadClose()0.08s
testViewportFitCover_nonViewportMetaContentFirst_doesNotModify()0.00s
testViewportFitCover_preservesExistingViewportAttributes()0.00s
testWebContentProcessTerminationDismissesNonModalInApp()0.27s
testWebViewBottomPositioning()0.00s
testWebViewBottomPositioningWithSafeAreaInsets()0.00s
testWebViewCenterPositioning()0.00s
testWebViewFinishLoadingFlagBehavior()0.05s
testWebViewFullPositioning()0.00s
testWebViewFullPositioningWithSafeAreaInsetsReturnsParentPosition()0.00s
testWebViewPositioningWithLandscapeLeftSafeAreaInset()0.00s
testWebViewPositioningWithLandscapeRightSafeAreaInset()0.00s
testWebViewPositioningWithPortraitSafeAreaInsets()0.00s
testWebViewTopPositioning()0.00s
testWebViewTopPositioningWithSafeAreaInsets()0.00s

IterableInboxViewControllerTests

testInitializers()0.02s

IterableRequestTests

testGetRequestSerialization()0.00s
testGetRequestSerializationWithNilArgs()0.00s
testPostRequestSerialization()0.00s
testPostRequestSerializationWithNilBody()0.00s

IterableRequestUtilTests

testDictToJsonData()0.00s
testGetRequest()0.00s
testGetRequestWithPlusSignInEmail()0.00s
testPostRequest()0.00s

IterableUtilTests

testDifferentGeneralSeparator()0.00s
testDifferentPairSeparator()0.00s
testEmptyDescribe()0.00s
testSingleElementDescribe()0.00s

JsonOnlyMessageAvailabilityTests

testAcknowledgedJsonIdDoesNotSuppressSameIdHtmlMessage()0.23s
testAcknowledgedJsonTypeRoundTripDoesNotBlockLaterHtml()0.12s
testAcknowledgedMessageIdCanBeReadmittedWithNewPayload()0.23s
testAvailabilityPersistsBeforeOrderedMainThreadSignals()0.13s
testBackgroundFetchSurvivesRecreationAndDeliversOnForeground()0.21s
testCapacityDiscardedUnacknowledgedMessageIsNotReadmitted()0.02s
testConcurrentIdentitySwitchDuringAvailabilityDelegateStopsLaterDeliverySteps()1.11s
testConcurrentIdentitySwitchDuringNotificationStopsLaterDeliverySteps()1.12s
testConcurrentIdentitySwitchDuringOnNewStopsLaterDeliverySteps()1.12s
testConcurrentMessageGettersWaitForResetStateCommit()0.21s
testConsumeFailureKeepsUnhandledRecord()0.12s
testDuplicateMessageIdKeepsFirstPayloadUntilAcknowledged()0.00s
testDuplicateMessageIdProducesOneUnhandledRecord()0.13s
testExpiredJsonOnlyMessageDoesNotBlockRemainingBatch()0.13s
testForegroundReplayContinuesUntilAcknowledged()1.12s
testIdentitySwitchBeforeMainDeliveryDoesNotLeakMessage()1.13s
testIdentitySwitchClearsUnhandledMessages()0.11s
testIdentitySwitchDuringFetchCommitDoesNotPersistStaleState()0.21s
testIdentitySwitchInAvailabilityDelegateStopsLaterDeliverySteps()1.11s
testIdentitySwitchInDisplayDelegateStopsOnNew()1.12s
testIdentitySwitchInNotificationStopsConsume()1.12s
testIdentitySwitchInOnNewStopsLaterDeliverySteps()1.14s
testIdentitySwitchInOnNewStopsRecursiveDisplayCheck()1.11s
testIdentitySwitchWhileFetchIsInFlightDiscardsResponse()1.11s
testIneligibleMessagesDoNotFireAvailability()1.14s
testJsonOnlyAvailabilityIgnoresAutoDisplayPause()0.13s
testJsonOnlyAvailabilityIgnoresPopupCooldown()0.15s
testMessageExpiredBeforeForegroundReplayIsNotSignaled()1.13s
testPayloadFingerprintIsStableForNestedKeyOrderAndBooleanType()0.00s
testPerMessageDeliveryAndIndependentAcknowledgement()0.12s
testPublicAPIsBeforeInitializationAndLegacySwiftConformance()0.00s
testQueuedHtmlProcessingSkipsStaleIdentity()1.16s
testRetentionDiscardedUnacknowledgedMessageIsNotReadmitted()1.11s
testSlowHtmlCallbackDoesNotBlockReset()0.11s
testStartReadsApplicationStateOnMainThread()0.11s
testStoreDropsAlreadyExpiredMessage()0.00s
testStoreEnforcesCapacityAndRetention()0.01s
testTombstonedJsonTypeRoundTripDoesNotBlockLaterHtml()0.11s

KeychainWrapperTests

testDelete()0.02s
testIsolatedAndLegacyKeychainDontCollide()0.01s
testIsolatedServiceNameWithBundleId()0.00s
testIsolatedServiceNameWithCustomBaseName()0.00s
testKeychainIsolationBetweenDifferentServiceNames()0.00s
testLegacyServiceName()0.00s
testRemoveAll()0.00s
testRewrite()0.01s
testSave()0.00s

LocalStorageTests

testAttributionInfo()0.01s
testAuthDataInKeychain()0.01s
testAuthToken()0.01s
testDDLChecked()0.00s
testDeviceId()0.00s
testOfflineMode()0.00s
testSdkVersion()0.00s
testUserIdAndEmail()0.00s
testVisitorConsentTimestamp()0.00s

LoggingTests

testDefaultLogDelegateDoesNotFormatFilteredLogLevel()0.00s
testLogging()0.11s
testNoneLogDelegateDoesNotFormatMessages()0.00s

NestedFieldSupportForArrayData

testNestedFieldArrayEventValueFail()0.00s
testNestedFieldArrayUserValueFail()0.00s
testNestedFieldArrayValueEventSuccess()0.00s
testNestedFieldArrayValueUserSuccess()0.00s
testNestedFieldFailed()0.00s
testNestedFieldSuccess()0.00s

NetworkMonitorLifecycleTests

testNetworkMonitorDeallocatesAfterStartAndStop()0.00s
testPathUpdateHandlerDoesNotInvokeStatusUpdatedCallbackAfterStop()0.00s
testStartTwiceReleasesFirstPathMonitor()0.00s

NotificationMetadataTests

testDeserializedFromIterableJson()0.00s
testInvalidPayloads()0.00s
testMalformedStringItblPayload()0.00s
testValidGhostPayload()0.00s
testValidProofPayload()0.00s
testValidProofPayloadNoCampaignId()0.00s
testValidRealPayload()0.00s
testValidStringItblPayload()0.00s
testValidTestPayload()0.00s

NotificationObserverTests

testNotificationStateChangeUpdatesStorage()0.22s

NotificationResponseTests

testActionButtonDismiss()0.00s
testCustomActionFromStringItbl()0.00s
testLegacyDeepLinkPayload()0.00s
testSaveAttributionInfo()0.11s
testTrackOpenPushFromStringItbl()0.00s
testTrackOpenPushWithCustomAction()0.00s

OrderedDictionaryTests

testNonExistentKey()0.00s
testOrderedDictCount()0.00s
testOrderedDictDescription()0.00s
testOrderedDictLiteralInit()0.00s
testOrderedDictSubscript()0.00s
testRemoveValue()0.00s

PendingConcurrencyTests

testConcurrentOnErrorAndReject()0.00s
testConcurrentOnSuccessAndResolve()0.00s
testFlatMapCrossQueueResolution()0.00s
testLateRegisterAfterResolveFiresOnce()0.00s
testLateRegisterAfterResolveStaysRegisteredForFutureResolves()0.00s
testOnCompletionAtomicityUnderRace()0.00s
testReentrantRegistrationFromCallback()0.00s
testRepeatedRejectNotifiesRegisteredCallbacks()0.00s
testRepeatedResolveNotifiesRegisteredCallbacks()0.00s
testResolveAfterRejectNotifiesMatchingBranches()0.01s
testStress1000Iterations()0.00s

PendingTests

testFlatMap()1.00s
testFlatMapFailure1()1.00s
testFlatMapFailure2()1.00s
testFutureInitWithFailure()1.00s
testFutureInitWithSuccess()1.00s
testMap()1.00s
testMapFailure()1.00s
testMultiValues()0.00s
testWaitUntilFinished()0.41s

RegistrationTests

testRegisterTokenWithAutoPlatformAndNoIntegrationNameChooseProduction()0.13s
testRegisterTokenWithAutoPlatformAndNoIntegrationNameChooseSandbox()0.13s
testRegisterTokenWithAutoPlatformChooseProduction()0.11s
testRegisterTokenWithAutoPlatformChooseSandbox()0.11s
testRegisterTokenWithProductionPlatform()0.11s
testRegisterTokenWithSandboxPlatform()0.11s

RequestCreatorTests

testCreateTrackConsentRequestMinimal()0.00s
testCreateTrackConsentRequestWithBothEmailAndUserId()0.00s
testCreateTrackConsentRequestWithEmail()0.00s
testCreateTrackConsentRequestWithUserId()0.00s
testFaultyTrackInboxSessionRequest()0.00s
testGetEmbeddedMessagesRequest()0.00s
testGetEmbeddedMessagesRequestFailure()0.00s
testGetEmbeddedMessagesRequestWithPlacementIds()0.00s
testGetInAppMessagesRequest()0.00s
testGetInAppMessagesRequestFailure()0.00s
testProcessorTypeOfflineInHeader()0.00s
testRegisterTokenRequestPrefersUserId()0.00s
testTrackEventRequest()0.00s
testTrackInAppClickRequest()0.00s
testTrackInAppCloseRequest()0.00s
testTrackInAppConsumeRequest()0.02s
testTrackInAppDeliveryRequest()0.00s
testTrackInAppOpenRequest()0.00s
testTrackInboxSession()0.01s
testUpdateSubscriptionsRequest()0.00s
testUserlessTrackInboxSessionRequest()0.00s
testUserlessUpdateSubscriptionsRequest()0.00s
testUserlessUpdateUserRequest()0.01s

UUANormalizationMigrationTests

testClearVisitorEventsAndUserDataWipesStorage()0.01s
testCriteriaCheckerNormalizesLegacyDataTypeOnInit()0.00s
testDeprecatedGetUnknownUserCriteriaForwards()0.00s
testDeprecatedTrackUnknownUserEventForwards()0.00s
testDeprecatedTrackUnknownUserPurchaseEventForwards()0.00s
testDeprecatedTrackUnknownUserTokenRegistrationForwards()0.00s
testDeprecatedTrackUnknownUserUpdateCartForwards()0.00s
testDeprecatedTrackUnknownUserUpdateUserForwards()0.00s
testDeprecatedUpdateUnknownUserSessionForwards()0.01s
testIdentityResolutionDesignatedInitSetsBothAccessors()0.00s
testIdentityResolutionLegacyInitForwardsToNewName()0.00s
testSessionsDecoderAcceptsLegacyAndModernKeys()0.00s
testSessionsEncoderUsesAndroidAlignedFieldNames()0.00s
testUnknownUserEventsLeavesModernEventsUntouched()0.01s
testUnknownUserEventsRewritesLegacyDataTypeKeyOnRead()0.00s
testUnknownUserUpdateRewritesLegacyDataTypeKeyOnRead()0.00s
testUpdateUnknownSessionIncrementsExistingSessions()0.00s

UnknownUserComplexCriteriaMatchTests

testCompareDataWithCriteria1Failure()0.00s
testCompareDataWithCriteria1Success()0.00s
testCompareDataWithCriteria2Failure()0.00s
testCompareDataWithCriteria2Success()0.00s
testCompareDataWithCriteria3Failure()0.00s
testCompareDataWithCriteria3Success()0.00s
testCompareDataWithCriteria4Failure()0.00s
testCompareDataWithCriteria4Success()0.00s

UnknownUserCriteriaIsSetTests

testCompareDataIsSetCustomEventFailure()0.00s
testCompareDataIsSetCustomEventSuccess()0.00s
testCompareDataIsSetPurchaseFailure()0.00s
testCompareDataIsSetPurchaseSuccess()0.00s
testCompareDataIsSetUpdateCartFailure()0.00s
testCompareDataIsSetUpdateCartSuccess()0.00s
testCompareDataIsSetUserPropertyFailure()0.00s
testCompareDataIsSetUserPropertySuccess()0.01s

UnknownUserCriteriaMatchTests

testCompareDataWithANDCombinatorFail()0.00s
testCompareDataWithANDCombinatorSuccess()0.00s
testCompareDataWithCustomEventCriteriaFailure()0.00s
testCompareDataWithCustomEventCriteriaSuccess()0.00s
testCompareDataWithMinMatchCriteriaFailure()0.00s
testCompareDataWithMinMatchCriteriaSuccess()0.00s
testCompareDataWithORCombinatorFail()0.00s
testCompareDataWithORCombinatorSuccess()0.00s
testCompareDataWithUpdateCartCriteriaFailure()0.00s
testCompareDataWithUpdateCartCriteriaSuccess()0.00s
testCompareDataWithUserCriteriaFailure()0.02s
testCompareDataWithUserCriteriaSuccess()0.00s

UserMergeScenariosTests

testCriteriaMetEmailDefault()3.13s
testCriteriaMetEmailMergeFalse()3.12s
testCriteriaMetEmailMergeTrue()3.15s
testCriteriaMetTwice()3.15s
testCriteriaMetUserIdDefault()3.12s
testCriteriaMetUserIdMergeFalse()3.15s
testCriteriaMetUserIdMergeTrue()6.20s
testCriteriaNotMetEmailDefault()5.12s
testCriteriaNotMetEmailReplayFalseMergeFalse()5.13s
testCriteriaNotMetEmailReplayFalseMergeTrue()5.14s
testCriteriaNotMetEmailReplayTrueMergeFalse()0.12s
testCriteriaNotMetUserIdDefault()5.15s
testCriteriaNotMetUserIdReplayFalseMergeFalse()5.17s
testCriteriaNotMetUserIdReplayFalseMergeTrue()5.19s
testCriteriaNotMetUserIdReplayTrueMergeFalse()0.13s
testIdentifiedEmailDefault()3.17s
testIdentifiedEmailMergeFalse()3.14s
testIdentifiedEmailMergeTrue()6.15s
testIdentifiedUserIdDefault()3.18s
testIdentifiedUserIdMergeFalse()3.13s
testIdentifiedUserIdMergeTrue()6.16s

ValidateCustomEventUserUpdateAPITest

testCriteriaCustomEventCheck()12.25s

ValidateStoredEventCheckUnknownToKnownUserTest

testCriteriaCustomEventCheck()6.20s

ValidateTokenForDestinationUserTest

testCriteriaEmailTokenCheck()5.16s
testCriteriaUserIdTokenCheck()5.19s

WebViewProtocolTests

testVerifyViewPosition()0.03s
testWebViewHeightCalculationReject()0.85s

ui-tests

Tests

⚠️All tests0.00s

notification-extension-tests

NotificationExtensionTests

testAddActionButtonWithSystemImageIcon()0.09s
testAddActionButtonWithTemplateImageIcon()0.07s
testNilActionButtonIcon()0.07s
testNotificationContentParserIgnoresMalformedStringItbl()0.00s
testNotificationContentParserReadsActionButtonsFromStringItbl()0.00s
testPushButtonWithNoType()0.07s
testPushDestructiveSilentActionButton()0.07s
testPushDynamicCategory()0.07s
testPushImageAttachment()0.72s
testPushImageAttachmentFromStringItbl()0.05s
testPushIncorrectAttachment()0.01s
testPushTextInputForegroundButton()0.07s
testPushTextInputSilentButton()0.07s
testPushVideoAttachment()0.57s

TestFileTests

testSayHello()0.00s

inbox-ui-tests

Tests

⚠️All tests0.00s

offline-events-tests

HealthMonitorTests

testCountTasksException()0.18s
testNextTaskException()0.12s
testScheduleTaskException()0.12s
testUseOfflineProcessorByDefault()0.15s

NetworkConnectivityCheckerTests

testIsConnected()0.00s
testIsConnectedByDefault()0.05s
testIsNotConnectedIfError()0.00s
testIsNotConnectedIfWrongStatus()0.01s

NetworkConnectivityManagerTests

testConnectivityChange()2.01s
testNetworkMonitor()2.01s
testOfflinePollingInterval()0.50s
testOnlinePollingInterval()0.51s
testPollingNetworkMonitor()4.01s

RequestHandlerTests

testAutoRetryDefaultsToFalseWhenMissingFromResponse()0.63s
testAutoRetryFlagParsedFromRemoteConfiguration()0.62s
testCreatedAtSentAtForOffline()0.04s
testCreatedAtSentAtForOnline()0.04s
testDefaultRemoteConfigurationUsesOnlineMode()0.12s
testDisableDeviceForCurrentUserCapturesIdentityAtCallTime()0.02s
testDisableDeviceForCurrentUserSuccessDoesNotResetAuthRetries()0.07s
testDisableDeviceForCurrentUserWithNoIdentityFailsLoudly()0.02s
testDisableUserforAllUsers()0.08s
testDisableUserforCurrentUser()0.12s
testFeatureFlagTurnOnOfflineMode()0.14s
testGetRemoteConfiguration()0.01s
testLoadOfflineModeDisabledFromLocalStorage()0.12s
testLoadOfflineModeEnabledFromLocalStorage()0.14s
testNoRemoteConfigurationUsesOnline()0.11s
testOfflineDisableDeviceForAllUsersReplaysWithExpectedBody()0.04s
testOfflineProcessor_callsOnFailure_whenJwt401AndAuthRetryExhausted()0.04s
testOfflineRegisterTokenCapturesIdentityAtCallTime()0.03s
testOfflineRegisterTokenReplaysWithExpectedBody()0.05s
testOfflineRegisterTokenRetriesAfterNetworkFailureWithSnapshottedNotificationsEnabled()0.57s
testOnlineDisableDeviceForCurrentUserHonorsIdentitySnapshot()0.02s
testOnlineFallbackRegisterTokenCapturesIdentityAtCallTime()0.01s
testRegister()0.02s
testTrackEvent()0.09s
testTrackInAppClick2()0.25s
testTrackInAppClose()0.13s
testTrackInAppConsume()0.08s
testTrackInAppConsume2()0.09s
testTrackInAppDelivery()0.16s
testTrackInAppOpen2()0.13s
testTrackPurchase()0.11s
testTrackPurchase2()0.14s
testTrackPushOpen()0.08s
testUpdateEmail()0.10s
testUpdateSubscript

Details

Code Coverage Results

Coverage for TestResults.xcresult

Code Coverage

TargetCoverageCoveredExecutable
Total ███████████████░░░░░ 76.20%1368417958
IterableAppExtensions.framework ████████████████░░░░ 84.23%283336
  ITBNotificationServiceExtension.swift ████████████████░░░░ 80.85%152188
  NotificationContentParser.swift █████████████████░░░ 88.28%128145
  TestFile.swift ████████████████████ 100.00%33
IterableSDK.framework ███████████████░░░░░ 76.05%1340117622
  AbstractDiffCalculator.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%036
  ActionRunner.swift █████████████████░░░ 87.50%6372
  ApiClient.swift ████████████████░░░░ 84.59%247292
  ApiClientProtocol.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%03
  APNSTypeChecker.swift █████████████████░░░ 86.32%8295
  AppExtensionHelper.swift ██████░░░░░░░░░░░░░░ 34.29%1235
  Auth.swift ███████████████████░ 99.16%118119
  AuthFailure.swift ████████████████████ 100.00%66
  AuthFailureReason.swift ████████████████████ 100.00%2626
  AuthManager.swift ███████████████████░ 95.30%345362
  ClassExtensions.swift ██████████████████░░ 90.48%95105
  CommerceItem.swift ████████████████████ 100.00%4444
  Constants.swift ███████████████████░ 97.78%4445
  CoreDataUtil.swift █████████████░░░░░░░ 69.49%4159
  DataFieldsHelper.swift ██████████████████░░ 93.67%7479
  DateProvider.swift ████████████████████ 100.00%44
  DeepLinkManager.swift ██████████████████░░ 92.91%118127
  DependencyContainer.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%021
  DependencyContainerProtocol.swift █████████████████░░░ 87.41%118135
  Dwifft+UIKit.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%080
  Dwifft.swift ███████████████░░░░░ 78.95%255323
  EmbeddedHelper.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%053
  EmbeddedMessagingProcessor.swift ███████████████████░ 97.67%4243
  EmbeddedMessagingSerialization.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%096
  EmbeddedSessionManager.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%085
  EmptyEmbeddedManager.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%033
  EmptyInAppManager.swift ███████████████░░░░░ 75.51%3749
  HealthMonitor.swift █████████████████░░░ 88.46%92104
  InAppCalculations.swift ██████████████████░░ 93.85%122130
  InAppContentParser.swift █████████████████░░░ 85.71%144168
  InAppDisplayer.swift ██████░░░░░░░░░░░░░░ 32.39%2371
  InAppHelper.swift ███████████████████░ 98.89%8990
  InAppInternal.swift ███████░░░░░░░░░░░░░ 39.58%1948
  InAppManager+Functions.swift ███████████████████░ 97.77%219224
  InAppManager.swift ███████████████████░ 96.09%13781434
  InAppMessageParser.swift ███████████████████░ 98.14%158161
  InAppPersistence.swift ██████████████████░░ 90.45%824911
  InAppPresenter.swift ███████████████░░░░░ 79.22%6177
  InboxImpressionTracker.swift ███████████████████░ 96.39%8083
  InboxMessageViewModel.swift ████████████████████ 100.00%3939
  InboxSessionManager.swift █████████████████░░░ 88.46%4652
  InboxState.swift ████████████░░░░░░░░ 61.82%3455
  InboxViewControllerViewModel.swift ████████░░░░░░░░░░░░ 42.93%176410
  InboxViewRepresentable.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%015
  InternalIterableAPI.swift ██████████████████░░ 91.33%10531153
  InternalIterableAppIntegration.swift ████████████████░░░░ 80.93%191236
  IterableAction.swift ████████████████████ 100.00%1717
  IterableActionContext.swift ████████████████████ 100.00%44
  IterableAPI.swift █████████░░░░░░░░░░░ 46.19%212459
  IterableAPICallRequest.swift ███████████████████░ 98.39%6162
  IterableAPICallTaskProcessor.swift ███████████████████░ 96.15%7578
  IterableAPIMobileFrameworkDetector.swift ███████████████░░░░░ 79.37%5063
  IterableAppIntegration.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%021
  IterableAttributionInfo.swift ████████████████████ 100.00%2525
  IterableConfig.swift ████████████████████ 100.00%2020
  IterableCoreDataPersistence.swift █████████████████░░░ 89.57%146163
  IterableEmbeddedManager.swift ██████████████░░░░░░ 73.81%248336
  IterableEmbeddedManagerProtocol.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%03
  IterableEmbeddedMessage.swift ████████████████████ 100.00%1616
  IterableEmbeddedView.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%0396
  IterableHtmlMessageViewController.swift ███████████████░░░░░ 75.87%327431
  IterableIdentityResolution.swift ████████████████████ 100.00%99
  IterableInAppMessage.swift ████████████████████ 100.00%2121
  IterableInboxCell+Layout.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%0108
  IterableInboxCell.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%017
  IterableInboxNavigationViewController.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%0155
  IterableInboxView.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%050
  IterableInboxViewController.swift █░░░░░░░░░░░░░░░░░░░ 6.64%30452
  IterableKeychain.swift █████████░░░░░░░░░░░ 47.58%59124
  IterableLogging.swift ██████████████████░░ 90.32%2831
  IterableLogUtil.swift ████████████████████ 100.00%4545
  IterableMessaging.swift ████████████████░░░░ 82.76%2429
  IterableNotifications.swift ████████████████░░░░ 84.21%3238
  IterablePersistence.swift ████████████████████ 100.00%66
  IterablePushNotificationMetadata.swift ████████████████████ 100.00%1616
  IterableRequest.swift ███████████████████░ 96.77%6062
  IterableRequestUtil.swift ███████████████████░ 95.56%8690
  IterableTask.swift ████████████████░░░░ 82.93%3441
  IterableTaskError.swift ████████████░░░░░░░░ 60.00%610
  IterableTaskManagedObject.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%03
  IterableTaskRunner.swift ███████████████████░ 95.25%562590
  IterableTaskScheduler.swift ███████████████░░░░░ 77.06%84109
  IterableTokenGenerator.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%078
  IterableUserDefaults.swift ███████████░░░░░░░░░ 57.72%172298
  IterableUtil.swift ████████████░░░░░░░░ 60.00%114190
  KeychainWrapper.swift ███████████████████░ 97.09%100103
  LocalStorage.swift ███████████░░░░░░░░░ 57.58%95165
  LocalStorageProtocol.swift ██████████░░░░░░░░░░ 50.00%24
  MiscEmbeddedClasses.swift ░░░░░░░░░░░░░░░░░░░░ 0.00%013
  MiscInboxClasses.swift ████████████████████ 100.00%1616
  Models.swift ████████████████████ 100.00%2828
  NetworkConnectivityChecker.swift ███████████████████░ 98.39%122124
  NetworkConnectivityManager.swift ████████████████████ 100.00%9393
  NetworkHelper.swift ███████████████████░ 97.96%240245
  NetworkMonitor.swift ████████████████████ 100.00%5959
  NetworkSession.swift ░░░░░░░░░░░░░░░░░░░░ 3.33%390
  NotificationHelper.swift ███████████████████░ 98.89%8990
  OfflineRequestProcessor.swift ███████████████░░░░░ 77.82%449577
  OnlineRequestProcessor.swift █████████████████░░░ 88.19%209237
  OrderedDictionary.swift ███████████████████░ 96.94%9598
  Pending.swift ██████████████████░░ 92.75%243262
  PersistenceHelper.swift ███████████████████░ 97.14%3435
  RequestCreator.swift ████████████████░░░░ 82.72%589712
  RequestHandler.swift ████████████████░░░░ 83.03%362436
  RequestProcessorProtocol.swift ████████████████████ 100.00%11
  RequestProcessorUtil.swift ██████████████████░░ 91.95%217236
  RequestSender.swift ████████████████████ 100.00%9292
  ResourceHelper.swift █████████████████░░░ 88.89%1618
  RetryPolicy.swift ████████████████████ 100.00%55
  SectionedValues.swift ████████████░░░░░░░░ 64.44%2945
  UIColor+Extension.swift ████░░░░░░░░░░░░░░░░ 23.81%521
  UnknownUserManager+Functions.swift █████████████████░░░ 86.83%725835
  UnknownUserManager.swift █████████████████░░░ 87.04%309355
  UnknownUserMerge.swift █████████████████░░░ 87.50%2832
  WebViewProtocol.swift ██████████████████░░ 92.68%3841