UniTrack

Projects / notify4j / Tests

notify4j — tests

Pass rate
100.0%
+0.0 pp
Failures
0
0
Suite time
3.4s
+0.9s
Tests
114
0

Latest run bed8d67 on main · Oct 12 21:31

Test results trend (pass/fail per run)

Tests by module latest run

ModuleTestsPass %FailuresSkipped
notify4j-cli 1 100.0% 0 0
notify4j-core 113 100.0% 0 0

Flaky tests

Tests that both passed and failed for the same commit — likely non-deterministic.

No flaky tests detected. 🎉

Failure clusters

Recent failures grouped by a normalized signature (type, message, top stack frame) — most frequent first.

No recent failures to cluster. 🎉

All tests (114)

0 failing · 0 flaky · 0 skipped · 114 passed

TestStatusDurationFlaky
org.alexmond.notify4j.AsyncNotifierTest › deliversOffTheCallerThread PASSED 3 ms
org.alexmond.notify4j.AsyncNotifierTest › dispatchesToExecutorAndDelegate PASSED 0 ms
org.alexmond.notify4j.AsyncNotifierTest › isolatesDelegateFailure PASSED 5 ms
org.alexmond.notify4j.AsyncNotifierTest › recordsDropAndSwallowsWhenPoolRejects PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › blueskyDefaultHostIsElidedAndOptional PASSED 19 ms
org.alexmond.notify4j.ChannelCatalogTest › buildUrlFromParsedChannelGuardsMaskedSecretsButRebuildsWhenReplaced PASSED 2 ms
org.alexmond.notify4j.ChannelCatalogTest › buildUrlNormalisesPastedTransportOnUrlFields PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › buildUrlOutputParses_andParseRoundTripsFieldsWithSecretsMasked PASSED 13 ms
org.alexmond.notify4j.ChannelCatalogTest › credentialBearingMatchesSecretFields PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › describeUnknownIsEmpty_buildUrlUnknownThrows PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › descriptorsAndFieldsCarryDisplayMetadata PASSED 4 ms
org.alexmond.notify4j.ChannelCatalogTest › edgeAndDegenerateInputsAreHandledDefensively PASSED 10 ms
org.alexmond.notify4j.ChannelCatalogTest › everyParserSchemeHasADescriptor PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › parseRejectsBlankAndSchemelessUrls PASSED 2 ms
org.alexmond.notify4j.ChannelCatalogTest › parseWhatsappWithoutVersionOmitsTheField PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › recomposePreservesUntouchedSecretsAndCarriesTagsAndTransport PASSED 2 ms
org.alexmond.notify4j.ChannelCatalogTest › redactMasksSecrets PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › tagsAndCleartextHttpAreCarried PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › tryParseIsNonThrowing PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › validateChecksUrlFieldFormat PASSED 2 ms
org.alexmond.notify4j.ChannelCatalogTest › validateReportsMissingRequiredFieldsByKey_withoutLeakingValues PASSED 2 ms
org.alexmond.notify4j.ChannelCatalogTest › validateUnknownScheme PASSED 1 ms
org.alexmond.notify4j.ChannelCatalogTest › whatsappVersionIsOptionalAndElidedWhenDefault PASSED 1 ms
org.alexmond.notify4j.ChannelPayloadTest › discordPostsContent PASSED 5 ms
org.alexmond.notify4j.ChannelPayloadTest › googleChatPostsText PASSED 4 ms
org.alexmond.notify4j.ChannelPayloadTest › gotifyPostsTitleAndMessageToMessageEndpoint PASSED 12 ms
org.alexmond.notify4j.ChannelPayloadTest › mastodonPostsStatus PASSED 9 ms
org.alexmond.notify4j.ChannelPayloadTest › matrixPostsTextToRoomSendEndpoint PASSED 7 ms
org.alexmond.notify4j.ChannelPayloadTest › mattermostPostsText PASSED 9 ms
org.alexmond.notify4j.ChannelPayloadTest › ntfyPostsTopicTitleAndMessageToRoot PASSED 4 ms
org.alexmond.notify4j.ChannelPayloadTest › opsGenieCreatesAlertWithGenieKeyHeader PASSED 8 ms
org.alexmond.notify4j.ChannelPayloadTest › pagerDutyEnqueuesTriggerEnvelope PASSED 7 ms
org.alexmond.notify4j.ChannelPayloadTest › pushbulletPostsNoteWithAccessTokenHeader PASSED 9 ms
org.alexmond.notify4j.ChannelPayloadTest › pushoverPostsFormEncodedToMessagesEndpoint PASSED 8 ms
org.alexmond.notify4j.ChannelPayloadTest › rocketChatPostsText PASSED 5 ms
org.alexmond.notify4j.ChannelPayloadTest › severityAndTitleEnrichChannelsThatSupportThem PASSED 25 ms
org.alexmond.notify4j.ChannelPayloadTest › signalPostsJsonToBridge PASSED 9 ms
org.alexmond.notify4j.ChannelPayloadTest › slackPostsText PASSED 5 ms
org.alexmond.notify4j.ChannelPayloadTest › teamsPostsMessageCard PASSED 16 ms
org.alexmond.notify4j.ChannelPayloadTest › telegramPostsChatIdAndTextToSendMessage PASSED 9 ms
org.alexmond.notify4j.ChannelPayloadTest › twilioPostsFormEncodedSmsWithBasicAuth PASSED 9 ms
org.alexmond.notify4j.ChannelPayloadTest › whatsAppHonoursExplicitApiVersion PASSED 5 ms
org.alexmond.notify4j.ChannelPayloadTest › whatsAppPostsCloudApiEnvelopeWithBearer PASSED 5 ms
org.alexmond.notify4j.ChannelPayloadTest › zulipPostsFormEncodedStreamMessageWithBasicAuth PASSED 6 ms
org.alexmond.notify4j.cli.Notify4jCliApplicationTests › contextLoads PASSED 544 ms
org.alexmond.notify4j.ExpiringFilterTest › isExpiredAfterTheInstant PASSED 0 ms
org.alexmond.notify4j.ExpiringFilterTest › isNotExpiredBeforeTheInstant PASSED 1 ms
org.alexmond.notify4j.ExpiringFilterTest › mutesViaItsPredicate PASSED 2 ms
org.alexmond.notify4j.ExpiringFilterTest › neverExpiresWhenExpiresAtIsNull PASSED 1 ms
org.alexmond.notify4j.FormEncodedNotifierTest › sendsFormEncodedBodyWithFormContentType PASSED 280 ms
org.alexmond.notify4j.HttpClientConfigTest › defaultsAreSharedTenSecondsNoRetry PASSED 1 ms
org.alexmond.notify4j.HttpClientConfigTest › maxAttemptsFloorsAtOne PASSED 2 ms
org.alexmond.notify4j.HttpClientConfigTest › ofAppliesConnectTimeoutAndCarriesRequestTimeout PASSED 1 ms
org.alexmond.notify4j.HttpClientConfigTest › ofCarriesRetryPolicy PASSED 0 ms
org.alexmond.notify4j.HttpClientConfigTest › redirectsArePinnedToNever PASSED 2 ms
org.alexmond.notify4j.HttpNotifierTest › jsonStringEscapesSpecialCharacters PASSED 15 ms
org.alexmond.notify4j.HttpNotifierTest › postsJsonPayloadOnStatusTransition PASSED 11 ms
org.alexmond.notify4j.HttpNotifierTest › serverErrorIsSwallowedNotPropagated PASSED 5 ms
org.alexmond.notify4j.HttpRetryTest › doesNotRetryClientError PASSED 10 ms
org.alexmond.notify4j.HttpRetryTest › givesUpAfterMaxAttempts PASSED 21 ms
org.alexmond.notify4j.HttpRetryTest › nonBlockingRetryGivesUpAfterMaxAttempts PASSED 13 ms
org.alexmond.notify4j.HttpRetryTest › nonBlockingRetryRecordsFailureOnConnectionError PASSED 20 ms
org.alexmond.notify4j.HttpRetryTest › nonBlockingRetryRetriesTransientThenSucceeds PASSED 14 ms
org.alexmond.notify4j.HttpRetryTest › retriesTransientFailureThenSucceeds PASSED 14 ms
org.alexmond.notify4j.internal.BlueskyNotifierTest › connectionErrorIsSwallowed PASSED 4 ms
org.alexmond.notify4j.internal.BlueskyNotifierTest › createsSessionThenPostsRecordWithTheJwt PASSED 10 ms
org.alexmond.notify4j.internal.BlueskyNotifierTest › escapesSpecialCharactersInThePost PASSED 6 ms
org.alexmond.notify4j.internal.BlueskyNotifierTest › forgetTransitionResetsDedup PASSED 49 ms
org.alexmond.notify4j.internal.BlueskyNotifierTest › missingSessionFieldsAreSwallowed PASSED 5 ms
org.alexmond.notify4j.internal.BlueskyNotifierTest › recordFailureIsSwallowed PASSED 10 ms
org.alexmond.notify4j.internal.BlueskyNotifierTest › sessionFailureIsSwallowedAndNoRecordPosted PASSED 6 ms
org.alexmond.notify4j.NotificationMetricsTest › facadePropagatesMetricsToChannels PASSED 2 ms
org.alexmond.notify4j.NotificationMetricsTest › recordsSentFailedAndSuppressed PASSED 2 ms
org.alexmond.notify4j.NotificationsReminderTest › remindersReFireAStuckEntityThroughATransitionFilteredChannel PASSED 49 ms
org.alexmond.notify4j.NotificationsTest › addNotifierRegistersAnUntaggedChannelAtRuntime PASSED 0 ms
org.alexmond.notify4j.NotificationsTest › aFailingChannelDoesNotStopTheOthers PASSED 1 ms
org.alexmond.notify4j.NotificationsTest › closeClosesAutoCloseableChannels PASSED 2 ms
org.alexmond.notify4j.NotificationsTest › executorConfigDeliversThroughTheAsyncWrapper PASSED 1 ms
org.alexmond.notify4j.NotificationsTest › factoryBuildsFacadesWithSharedDefaults PASSED 2 ms
org.alexmond.notify4j.NotificationsTest › fansOutToExtraNotifiersAndCountsTheLogSink PASSED 5 ms
org.alexmond.notify4j.NotificationsTest › runtimeMuteSuppressesUntilRemoved PASSED 2 ms
org.alexmond.notify4j.NotifierContractTest › shouldNotifyThrowingIsSwallowed PASSED 5 ms
org.alexmond.notify4j.NotifierCoreTest › compositeFansOutAndIsolatesFailures PASSED 2 ms
org.alexmond.notify4j.NotifierCoreTest › transitionNotifierFiltersByStatusChange PASSED 1 ms
org.alexmond.notify4j.NotifierUrlParserTest › escalationSchemesAcceptAnExplicitHostForTesting PASSED 11 ms
org.alexmond.notify4j.NotifierUrlParserTest › frozenGrammarEdgeCasesParse PASSED 29 ms
org.alexmond.notify4j.NotifierUrlParserTest › googleChatKeepsKeyAndTokenQueryParams PASSED 3 ms
org.alexmond.notify4j.NotifierUrlParserTest › gotifyRequiresAnAppToken PASSED 2 ms
org.alexmond.notify4j.NotifierUrlParserTest › handParsedSchemesStripStrayQuery PASSED 1 ms
org.alexmond.notify4j.NotifierUrlParserTest › httpTransportSuffixIsAccepted PASSED 1 ms
org.alexmond.notify4j.NotifierUrlParserTest › matrixAndMastodonValidateTheirParts PASSED 4 ms
org.alexmond.notify4j.NotifierUrlParserTest › messagingChannelsValidateTheirParts PASSED 2 ms
org.alexmond.notify4j.NotifierUrlParserTest › ntfyRequiresATopic PASSED 3 ms
org.alexmond.notify4j.NotifierUrlParserTest › parseErrorsDoNotLeakSecrets PASSED 6 ms
org.alexmond.notify4j.NotifierUrlParserTest › pushoverRequiresTokenAndUser PASSED 1 ms
org.alexmond.notify4j.NotifierUrlParserTest › routesEachSchemeToItsChannelType PASSED 11 ms
org.alexmond.notify4j.NotifierUrlParserTest › tagsQueryIsParsedAndStrippedFromTheEndpoint PASSED 2 ms
org.alexmond.notify4j.NotifierUrlParserTest › telegramRequiresTokenAndChatId PASSED 5 ms
org.alexmond.notify4j.NotifierUrlParserTest › unknownSchemeAndBadTransportAreRejected PASSED 4 ms
org.alexmond.notify4j.NotifierUrlParserTest › zulipParsesBotEmailContainingAtSign PASSED 3 ms
org.alexmond.notify4j.RedactionTest › handlesNullAndMalformed PASSED 160 ms
org.alexmond.notify4j.RedactionTest › masksAuthorityForCredentialInAuthoritySchemes PASSED 85 ms
org.alexmond.notify4j.RedactionTest › stripsCredentialsKeepingSchemeAndHost PASSED 1 ms
org.alexmond.notify4j.SendOnceTest › aFailingChannelIsCountedNotThrown PASSED 6 ms
org.alexmond.notify4j.SendOnceTest › aRepeatedOneShotAlwaysFires PASSED 6 ms
org.alexmond.notify4j.SendOnceTest › deliversToAllChannelsAndCountsThem PASSED 8 ms
org.alexmond.notify4j.SendOnceTest › messageAdapterMapsFieldsWithNullIdSoItAlwaysFires PASSED 12 ms
org.alexmond.notify4j.SendOnceTest › messageFactoriesAndDefaults PASSED 4 ms
org.alexmond.notify4j.SendOnceTest › tunedHttpConfigIsCoercedToBlockingAndStillDelivers PASSED 8 ms
org.alexmond.notify4j.TransitionFilterTest › firesOnRealTransitionsOnly PASSED 0 ms
org.alexmond.notify4j.TransitionFilterTest › nullIdIsDeliveredAndNullStatusDoesNotThrow PASSED 0 ms
org.alexmond.notify4j.TransitionFilterTest › respectsIgnoreChanges PASSED 0 ms
org.alexmond.notify4j.WrapperNotifierTest › filteringNotifierMutesMatchingEventsUntilExpiry PASSED 10 ms
org.alexmond.notify4j.WrapperNotifierTest › remindingNotifierRefiresWhileBadAndStopsWhenResolved PASSED 8 ms