Skip to content

[#348] Improve dequeue performance #39

[#348] Improve dequeue performance

[#348] Improve dequeue performance #39

GitHub Actions / Test results succeeded Mar 3, 2024 in 0s

226 passed, 2 failed and 0 skipped

Tests failed

❌ tests/Hangfire.PostgreSql.Tests/TestResults/TestResults.trx

228 tests were completed in 75s with 226 passed, 2 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Hangfire.PostgreSql.Tests.ExpirationManagerFacts 10✅ 8s
Hangfire.PostgreSql.Tests.FirstClassQueueFeatureSupportTests 2✅ 286ms
Hangfire.PostgreSql.Tests.PersistentJobQueueProviderCollectionFacts 7✅ 10ms
Hangfire.PostgreSql.Tests.PostgreSqlConnectionFacts 83✅ 739ms
Hangfire.PostgreSql.Tests.PostgreSqlDistributedLockFacts 12✅ 20s
Hangfire.PostgreSql.Tests.PostgreSqlFetchedJobFacts 8✅ 59ms
Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts 2❌ 446ms
Hangfire.PostgreSql.Tests.PostgreSqlJobQueueFacts 26✅ 26s
Hangfire.PostgreSql.Tests.PostgreSqlMonitoringApiFacts 1✅ 18ms
Hangfire.PostgreSql.Tests.PostgreSqlStorageFacts 9✅ 8ms
Hangfire.PostgreSql.Tests.PostgreSqlStorageOptionsFacts 11✅ 4ms
Hangfire.PostgreSql.Tests.PostgreSqlWriteOnlyTransactionFacts 57✅ 18s

✅ Hangfire.PostgreSql.Tests.ExpirationManagerFacts

✅ Ctor_ThrowsAnException_WhenStorageIsNull
✅ Execute_Aggregates_CounterTable
✅ Execute_DoesNotRemoveEntries_WithFreshExpirationTime
✅ Execute_DoesNotRemoveEntries_WithNoExpirationTimeSet
✅ Execute_Processes_CounterTable
✅ Execute_Processes_HashTable
✅ Execute_Processes_JobTable
✅ Execute_Processes_ListTable
✅ Execute_Processes_SetTable
✅ Execute_RemovesOutdatedRecords

✅ Hangfire.PostgreSql.Tests.FirstClassQueueFeatureSupportTests

✅ EnqueueJobWithSpecificQueue_ShouldEnqueueCorrectlyAndJobMustBeProcessedInThatQueue
✅ HasFlag_ShouldReturnTrue_ForJobQueueProperty

✅ Hangfire.PostgreSql.Tests.PersistentJobQueueProviderCollectionFacts

✅ Add_ThrowsAnException_WhenProviderIsNull
✅ Add_ThrowsAnException_WhenQueuesCollectionIsNull
✅ Ctor_ThrowsAnException_WhenDefaultProviderIsNull
✅ Enumeration_ContainsAddedProvider
✅ Enumeration_IncludesTheDefaultProvider
✅ GetProvider_CanBeResolved_ByAnyQueue
✅ GetProvider_ReturnsTheDefaultProvider_WhenProviderCanNotBeResolvedByQueue

✅ Hangfire.PostgreSql.Tests.PostgreSqlConnectionFacts

✅ AcquireLock_ReturnsNonNullInstance
✅ AnnounceServer_CreatesOrUpdatesARecord
✅ AnnounceServer_ThrowsAnException_WhenContextIsNull
✅ AnnounceServer_ThrowsAnException_WhenServerIdIsNull
✅ CreateExpiredJob_CreatesAJobInTheStorage_AndSetsItsParameters
✅ CreateExpiredJob_EnlistsInTransaction(completeTransactionScope: False)
✅ CreateExpiredJob_EnlistsInTransaction(completeTransactionScope: True)
✅ CreateExpiredJob_ThrowsAnException_WhenJobIsNull
✅ CreateExpiredJob_ThrowsAnException_WhenParametersCollectionIsNull
✅ CreateWriteTransaction_ReturnsNonNullInstance
✅ Ctor_ThrowsAnException_WhenOptionsIsNull
✅ Ctor_ThrowsAnException_WhenStorageIsNull
✅ FetchNextJob_DelegatesItsExecution_ToTheQueue
✅ FetchNextJob_Throws_IfMultipleProvidersResolved
✅ GetAllEntriesFromHash_ReturnsAllKeysAndTheirValues
✅ GetAllEntriesFromHash_ReturnsNull_IfHashDoesNotExist
✅ GetAllEntriesFromHash_ThrowsAnException_WhenKeyIsNull
✅ GetAllItemsFromList_ReturnsAllItems_FromAGivenList
✅ GetAllItemsFromList_ReturnsAnEmptyList_WhenListDoesNotExist
✅ GetAllItemsFromList_ThrowsAnException_WhenKeyIsNull
✅ GetAllItemsFromSet_ReturnsAllItems
✅ GetAllItemsFromSet_ReturnsEmptyCollection_WhenKeyDoesNotExist
✅ GetAllItemsFromSet_ThrowsAnException_WhenKeyIsNull
✅ GetCounter_ReturnsSumOfValues_InCounterTable
✅ GetCounter_ReturnsZero_WhenKeyDoesNotExist
✅ GetCounter_ThrowsAnException_WhenKeyIsNull
✅ GetFirstByLowestScoreFromSet_ReturnsNull_WhenTheKeyDoesNotExist
✅ GetFirstByLowestScoreFromSet_ReturnsTheValueWithTheLowestScore
✅ GetFirstByLowestScoreFromSet_ThrowsAnException_ToScoreIsLowerThanFromScore
✅ GetFirstByLowestScoreFromSet_ThrowsAnException_WhenKeyIsNull
✅ GetHashCount_ReturnsNumber_OfHashFields
✅ GetHashCount_ReturnsZero_WhenKeyDoesNotExist
✅ GetHashCount_ThrowsAnException_WhenKeyIsNull
✅ GetHashTtl_ReturnsExpirationTimeForHash
✅ GetHashTtl_ReturnsNegativeValue_WhenHashDoesNotExist
✅ GetHashTtl_ThrowsAnException_WhenKeyIsNull
✅ GetJobData_ReturnsNull_WhenThereIsNoSuchJob
✅ GetJobData_ReturnsResult_WhenJobExists
✅ GetJobData_ThrowsAnException_WhenJobIdIsNull
✅ GetListCount_ReturnsTheNumberOfListElements
✅ GetListCount_ReturnsZero_WhenListDoesNotExist
✅ GetListCount_ThrowsAnException_WhenKeyIsNull
✅ GetListTtl_ReturnsExpirationTimeForList
✅ GetListTtl_ReturnsNegativeValue_WhenListDoesNotExist
✅ GetListTtl_ThrowsAnException_WhenKeyIsNull
✅ GetParameter_ReturnsNull_WhenParameterDoesNotExists
✅ GetParameter_ReturnsParameterValue_WhenJobExists
✅ GetParameter_ThrowsAnException_WhenJobIdIsNull
✅ GetParameter_ThrowsAnException_WhenNameIsNull
✅ GetRangeFromList_ReturnsAllEntries_WithinGivenBounds
✅ GetRangeFromList_ReturnsAnEmptyList_WhenListDoesNotExist
✅ GetRangeFromList_ThrowsAnException_WhenKeyIsNull
✅ GetRangeFromSet_ReturnsPagedElements
✅ GetRangeFromSet_ThrowsAnException_WhenKeyIsNull
✅ GetSetCount_ReturnsNumberOfElements_InASet
✅ GetSetCount_ReturnsZero_WhenSetDoesNotExist
✅ GetSetCount_ThrowsAnException_WhenKeyIsNull
✅ GetSetTtl_ReturnsExpirationTime_OfAGivenSet
✅ GetSetTtl_ReturnsNegativeValue_WhenSetDoesNotExist
✅ GetSetTtl_ThrowsAnException_WhenKeyIsNull
✅ GetStateData_ReturnsCorrectData
✅ GetStateData_ReturnsNull_IfThereIsNoSuchState
✅ GetStateData_ThrowsAnException_WhenJobIdIsNull
✅ GetValueFromHash_ReturnsNull_WhenHashDoesNotExist
✅ GetValueFromHash_ReturnsValue_OfAGivenField
✅ GetValueFromHash_ThrowsAnException_WhenKeyIsNull
✅ GetValueFromHash_ThrowsAnException_WhenNameIsNull
✅ Heartbeat_ThrowsAnException_WhenServerIdIsNull
✅ Heartbeat_ThrowsBackgroundServerGoneException_WhenServerDisappeared
✅ Heartbeat_UpdatesLastHeartbeat_OfTheServerWithGivenId
✅ RemoveServer_RemovesAServerRecord
✅ RemoveServer_ThrowsAnException_WhenServerIdIsNull
✅ RemoveTimedOutServers_DoItsWorkPerfectly
✅ RemoveTimedOutServers_ThrowsAnException_WhenTimeOutIsNegative
✅ SetParameter_CanAcceptNulls_AsValues
✅ SetParameter_ThrowsAnException_WhenJobIdIsNull
✅ SetParameter_ThrowsAnException_WhenNameIsNull
✅ SetParameter_UpdatesValue_WhenParameterWithTheGivenName_AlreadyExists
✅ SetParameters_CreatesNewParameter_WhenParameterWithTheGivenNameDoesNotExists
✅ SetRangeInHash_DoesNotThrowSerializationException
✅ SetRangeInHash_MergesAllRecords
✅ SetRangeInHash_ThrowsAnException_WhenKeyIsNull
✅ SetRangeInHash_ThrowsAnException_WhenKeyValuePairsArgumentIsNull

✅ Hangfire.PostgreSql.Tests.PostgreSqlDistributedLockFacts

✅ Acquire_AcquiresExclusiveApplicationLock_WithoutUseNativeDatabaseTransactions_OnSession
✅ Acquire_AcquiresExclusiveApplicationLock_WithUseNativeDatabaseTransactions_OnSession
✅ Acquire_AcquiresExclusiveApplicationLock_WithUseNativeDatabaseTransactions_OnSession_WhenDeadlockOccurs
✅ Acquire_ExpiredLockExists_LocksAnyway(useNativeDatabaseTransactions: False)
✅ Acquire_ExpiredLockExists_LocksAnyway(useNativeDatabaseTransactions: True)
✅ Acquire_ThrowsAnException_IfLockCanNotBeGranted_WithoutUseNativeDatabaseTransactions
✅ Acquire_ThrowsAnException_IfLockCanNotBeGranted_WithUseNativeDatabaseTransactions
✅ Acquire_ThrowsAnException_WhenConnectionIsNull
✅ Acquire_ThrowsAnException_WhenOptionsIsNull
✅ Acquire_ThrowsAnException_WhenResourceIsNullOrEmpty
✅ Dispose_ReleasesExclusiveApplicationLock_WithoutUseNativeDatabaseTransactions
✅ Dispose_ReleasesExclusiveApplicationLock_WithUseNativeDatabaseTransactions

✅ Hangfire.PostgreSql.Tests.PostgreSqlFetchedJobFacts

✅ Ctor_CorrectlySets_AllInstanceProperties
✅ Ctor_ThrowsAnException_WhenJobIdIsNull
✅ Ctor_ThrowsAnException_WhenQueueIsNull
✅ Ctor_ThrowsAnException_WhenStorageIsNull
✅ Dispose_SetsFetchedAtValueToNull_IfThereWereNoCallsToComplete
✅ RemoveFromQueue_DoesNotDelete_UnrelatedJobs
✅ RemoveFromQueue_ReallyDeletesTheJobFromTheQueue
✅ Requeue_SetsFetchedAtValueToNull

❌ Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts

❌ InstallingSchemaUpdatesVersionAndShouldNotThrowAnException
	Assert.Null() Failure
	Expected: (null)
	Actual:   Xunit.Sdk.EqualException: Assert.Equal() Failure
	Expected: 21
	Actual:   22
	   at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 40
	   at Xunit.Assert.Equal[T](T expected, T actual) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 24
	   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaUpdatesVersionAndShouldNotThrowAnException>b__0_1(NpgsqlConnection connection) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 23
	   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.UseConnection(Action`1 action) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 54
	   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaUpdatesVersionAndShouldNotThrowAnException>b__0_0() in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 17
	   at Xunit.Record.Exception(Action testCode) in C:\Dev\xunit\xunit\src\xunit.core\Record.cs:line 25
❌ InstallingSchemaWithCapitalsUpdatesVersionAndShouldNotThrowAnException
	Assert.Null() Failure
	Expected: (null)
	Actual:   Xunit.Sdk.EqualException: Assert.Equal() Failure
	Expected: 21
	Actual:   22
	   at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 40
	   at Xunit.Assert.Equal[T](T expected, T actual) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 24
	   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaWithCapitalsUpdatesVersionAndShouldNotThrowAnException>b__1_1(NpgsqlConnection connection) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 42
	   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.UseConnection(Action`1 action) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 54
	   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaWithCapitalsUpdatesVersionAndShouldNotThrowAnException>b__1_0() in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 36
	   at Xunit.Record.Exception(Action testCode) in C:\Dev\xunit\xunit\src\xunit.core\Record.cs:line 25

✅ Hangfire.PostgreSql.Tests.PostgreSqlJobQueueFacts

✅ Ctor_ThrowsAnException_WhenStorageIsNull
✅ Dequeue_ShouldFetchAJob_FromQueueWithHigherPriority
✅ Dequeue_ShouldFetchAJob_FromTheSpecifiedQueue_WithoutUseNativeDatabaseTransactions
✅ Dequeue_ShouldFetchAJob_FromTheSpecifiedQueue_WithUseNativeDatabaseTransactions
✅ Dequeue_ShouldFetchATimedOutJobs_FromTheSpecifiedQueue_WithoutUseNativeDatabaseTransactions
✅ Dequeue_ShouldFetchATimedOutJobs_FromTheSpecifiedQueue_WithUseNativeDatabaseTransactions
✅ Dequeue_ShouldFetchJobs_FromMultipleQueues_WithoutUseNativeDatabaseTransactions
✅ Dequeue_ShouldFetchJobs_FromMultipleQueues_WithUseNativeDatabaseTransactions
✅ Dequeue_ShouldFetchJobs_OnlyFromSpecifiedQueues_WithoutUseNativeDatabaseTransactions
✅ Dequeue_ShouldFetchJobs_OnlyFromSpecifiedQueues_WithUseNativeDatabaseTransactions
✅ Dequeue_ShouldLeaveJobInTheQueue_ButSetItsFetchedAtValue_WithoutUseNativeDatabaseTransactions
✅ Dequeue_ShouldLeaveJobInTheQueue_ButSetItsFetchedAtValue_WithUseNativeDatabaseTransactions
✅ Dequeue_ShouldSetFetchedAt_OnlyForTheFetchedJob_WithoutUseNativeDatabaseTransactions
✅ Dequeue_ShouldSetFetchedAt_OnlyForTheFetchedJob_WithUseNativeDatabaseTransactions
✅ Dequeue_ShouldThrowAnException_WhenQueuesCollectionIsEmpty_WithoutUseNativeDatabaseTransactions
✅ Dequeue_ShouldThrowAnException_WhenQueuesCollectionIsEmpty_WithUseNativeDatabaseTransactions
✅ Dequeue_ShouldThrowAnException_WhenQueuesCollectionIsNull
✅ Dequeue_ShouldWaitIndefinitely_WhenThereAreNoJobs_WithoutUseNativeDatabaseTransactions
✅ Dequeue_ShouldWaitIndefinitely_WhenThereAreNoJobs_WithUseNativeDatabaseTransactions
✅ Dequeue_ThrowsOperationCanceled_WhenCancellationTokenIsSetAtTheBeginning_WithoutUseNativeDatabaseTransactions
✅ Dequeue_ThrowsOperationCanceled_WhenCancellationTokenIsSetAtTheBeginning_WithUseNativeDatabaseTransactions
✅ Enqueue_AddsAJobToTheQueue_WithoutUseNativeDatabaseTransactions
✅ Enqueue_AddsAJobToTheQueue_WithUseNativeDatabaseTransactions
✅ Queues_Can_Dequeue_On_Notification
✅ Queues_Can_Dequeue_On_Signal
✅ Queues_Should_Support_Long_Queue_Names

✅ Hangfire.PostgreSql.Tests.PostgreSqlMonitoringApiFacts

✅ GetJobs_MixedCasing_ReturnsJob

✅ Hangfire.PostgreSql.Tests.PostgreSqlStorageFacts

✅ CanCreateAndOpenConnection_WithExistingConnectionFactory
✅ CanUseTransaction_WithDifferentTransactionIsolationLevel
✅ CreateAndOpenConnection_ThrowsAnException_WithExistingConnectionFactoryAndInvalidOptions
✅ Ctor_CanCreateSqlServerStorage_WithExistingConnection
✅ Ctor_CanCreateSqlServerStorage_WithExistingConnectionFactory
✅ Ctor_InitializesDefaultJobQueueProvider_AndPassesCorrectOptions
✅ Ctor_ThrowsAnException_WhenConnectionFactoryIsNull
✅ GetComponents_ReturnsAllNeededComponents
✅ GetMonitoringApi_ReturnsNonNullInstance

✅ Hangfire.PostgreSql.Tests.PostgreSqlStorageOptionsFacts

✅ Ctor_SetsTheDefaultOptions
✅ Set_DistributedLockTimeout_SetsTheValue
✅ Set_DistributedLockTimeout_ShouldThrowAnException_WhenGivenIntervalIsEqualToZero
✅ Set_DistributedLockTimeout_ShouldThrowAnException_WhenGivenIntervalIsNegative
✅ Set_InvisibilityTimeout_SetsTheValue
✅ Set_InvisibilityTimeout_ShouldThrowAnException_WhenGivenIntervalIsEqualToZero
✅ Set_InvisibilityTimeout_ShouldThrowAnException_WhenGivenIntervalIsNegative
✅ Set_QueuePollInterval_SetsTheValue
✅ Set_QueuePollInterval_SetsTheValue_WhenGivenIntervalIsTooLow_ButIgnored
✅ Set_QueuePollInterval_ShouldThrowAnException_WhenGivenIntervalIsEqualToZero_EvenIfIgnored
✅ Set_QueuePollInterval_ShouldThrowAnException_WhenGivenIntervalIsTooLow

✅ Hangfire.PostgreSql.Tests.PostgreSqlWriteOnlyTransactionFacts

✅ AddJobState_JustAddsANewRecordInATable
✅ AddRangeToSet_AddsAllItems_ToAGivenSet
✅ AddRangeToSet_ThrowsAnException_WhenItemsValueIsNull
✅ AddRangeToSet_ThrowsAnException_WhenKeyIsNull
✅ AddToQueue_AddsAJobToTheQueue_UsingStorageConnection_WithTransactionScopeEnlistment
✅ AddToQueue_CallsEnqueue_OnTargetPersistentQueue
✅ AddToSet_AddsARecord_IfThereIsNo_SuchKeyAndValue
✅ AddToSet_AddsARecord_WhenKeyIsExists_ButValuesAreDifferent
✅ AddToSet_DoesNotAddARecord_WhenBothKeyAndValueAreExist
✅ AddToSet_DoesNotFailWithConcurrencyError_WhenRunningMultipleThreads
✅ AddToSet_WithScore_AddsARecordWithScore_WhenBothKeyAndValueAreNotExist
✅ AddToSet_WithScore_UpdatesAScore_WhenBothKeyAndValueAreExist
✅ Ctor_ThrowsAnException_IfDedicatedConnectionFuncIsNull
✅ Ctor_ThrowsAnException_IfStorageIsNull
✅ DecrementCounter_AddsRecordToCounterTable_WithNegativeValue
✅ DecrementCounter_WithExistingKey_AddsAnotherRecord
✅ DecrementCounter_WithExpiry_AddsARecord_WithExpirationTimeSet
✅ ExpireHash_SetsExpirationTimeOnAHash_WithGivenKey
✅ ExpireHash_ThrowsAnException_WhenKeyIsNull
✅ ExpireJob_SetsJobExpirationData
✅ ExpireList_SetsExpirationTime_OnAList_WithGivenKey
✅ ExpireList_ThrowsAnException_WhenKeyIsNull
✅ ExpireSet_SetsExpirationTime_OnASet_WithGivenKey
✅ ExpireSet_ThrowsAnException_WhenKeyIsNull
✅ IncrementCounter_AddsRecordToCounterTable_WithPositiveValue
✅ IncrementCounter_WithExistingKey_AddsAnotherRecord
✅ IncrementCounter_WithExpiry_AddsARecord_WithExpirationTimeSet
✅ InsertToList_AddsAnotherRecord_WhenBothKeyAndValueAreExist
✅ InsertToList_AddsARecord_WithGivenValues
✅ PersistHash_ClearsExpirationTime_OnAGivenHash
✅ PersistHash_ThrowsAnException_WhenKeyIsNull
✅ PersistJob_ClearsTheJobExpirationData
✅ PersistList_ClearsExpirationTime_OnAGivenHash
✅ PersistList_ThrowsAnException_WhenKeyIsNull
✅ PersistSet_ClearsExpirationTime_OnAGivenHash
✅ PersistSet_ThrowsAnException_WhenKeyIsNull
✅ RemoveFromList_DoesNotRemoveRecords_WithSameKey_ButDifferentValue
✅ RemoveFromList_DoesNotRemoveRecords_WithSameValue_ButDifferentKey
✅ RemoveFromList_RemovesAllRecords_WithGivenKeyAndValue
✅ RemoveFromSet_DoesNotRemoveRecord_WithSameKey_AndDifferentValue
✅ RemoveFromSet_DoesNotRemoveRecord_WithSameValue_AndDifferentKey
✅ RemoveFromSet_RemovesARecord_WithGivenKeyAndValue
✅ RemoveHash_RemovesAllHashRecords
✅ RemoveHash_ThrowsAnException_WhenKeyIsNull
✅ RemoveSet_RemovesASet_WithAGivenKey
✅ RemoveSet_ThrowsAnException_WhenKeyIsNull
✅ SetJobState_AppendsAStateAndSetItToTheJob
✅ SetJobState_EnlistsInAmbientTransaction(completeTransactionScope: False)
✅ SetJobState_EnlistsInAmbientTransaction(completeTransactionScope: True)
✅ SetRangeInHash_MergesAllRecords
✅ SetRangeInHash_ThrowsAnException_WhenKeyIsNull
✅ SetRangeInHash_ThrowsAnException_WhenKeyValuePairsArgumentIsNull
✅ TrimList_RemovesAllRecords_IfStartFromGreaterThanEndingAt
✅ TrimList_RemovesAllRecords_WhenStartingFromValue_GreaterThanMaxElementIndex
✅ TrimList_RemovesRecords_OnlyOfAGivenKey
✅ TrimList_RemovesRecordsToEnd_IfKeepAndingAt_GreaterThanMaxElementIndex
✅ TrimList_TrimsAList_ToASpecifiedRange

Annotations

Check failure on line 29 in tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs

See this annotation in the file changed.

@github-actions github-actions / Test results

Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts ► InstallingSchemaUpdatesVersionAndShouldNotThrowAnException

Failed test found in:
  tests/Hangfire.PostgreSql.Tests/TestResults/TestResults.trx
Error:
  Assert.Null() Failure
  Expected: (null)
  Actual:   Xunit.Sdk.EqualException: Assert.Equal() Failure
  Expected: 21
  Actual:   22
     at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 40
     at Xunit.Assert.Equal[T](T expected, T actual) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 24
     at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaUpdatesVersionAndShouldNotThrowAnException>b__0_1(NpgsqlConnection connection) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 23
     at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.UseConnection(Action`1 action) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 54
     at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaUpdatesVersionAndShouldNotThrowAnException>b__0_0() in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 17
     at Xunit.Record.Exception(Action testCode) in C:\Dev\xunit\xunit\src\xunit.core\Record.cs:line 25
Raw output
Assert.Null() Failure
Expected: (null)
Actual:   Xunit.Sdk.EqualException: Assert.Equal() Failure
Expected: 21
Actual:   22
   at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 40
   at Xunit.Assert.Equal[T](T expected, T actual) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 24
   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaUpdatesVersionAndShouldNotThrowAnException>b__0_1(NpgsqlConnection connection) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 23
   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.UseConnection(Action`1 action) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 54
   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaUpdatesVersionAndShouldNotThrowAnException>b__0_0() in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 17
   at Xunit.Record.Exception(Action testCode) in C:\Dev\xunit\xunit\src\xunit.core\Record.cs:line 25
   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.InstallingSchemaUpdatesVersionAndShouldNotThrowAnException() in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 29

Check failure on line 48 in tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs

See this annotation in the file changed.

@github-actions github-actions / Test results

Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts ► InstallingSchemaWithCapitalsUpdatesVersionAndShouldNotThrowAnException

Failed test found in:
  tests/Hangfire.PostgreSql.Tests/TestResults/TestResults.trx
Error:
  Assert.Null() Failure
  Expected: (null)
  Actual:   Xunit.Sdk.EqualException: Assert.Equal() Failure
  Expected: 21
  Actual:   22
     at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 40
     at Xunit.Assert.Equal[T](T expected, T actual) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 24
     at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaWithCapitalsUpdatesVersionAndShouldNotThrowAnException>b__1_1(NpgsqlConnection connection) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 42
     at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.UseConnection(Action`1 action) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 54
     at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaWithCapitalsUpdatesVersionAndShouldNotThrowAnException>b__1_0() in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 36
     at Xunit.Record.Exception(Action testCode) in C:\Dev\xunit\xunit\src\xunit.core\Record.cs:line 25
Raw output
Assert.Null() Failure
Expected: (null)
Actual:   Xunit.Sdk.EqualException: Assert.Equal() Failure
Expected: 21
Actual:   22
   at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 40
   at Xunit.Assert.Equal[T](T expected, T actual) in C:\Dev\xunit\xunit\src\xunit.assert\Asserts\EqualityAsserts.cs:line 24
   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaWithCapitalsUpdatesVersionAndShouldNotThrowAnException>b__1_1(NpgsqlConnection connection) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 42
   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.UseConnection(Action`1 action) in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 54
   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.<>c.<InstallingSchemaWithCapitalsUpdatesVersionAndShouldNotThrowAnException>b__1_0() in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 36
   at Xunit.Record.Exception(Action testCode) in C:\Dev\xunit\xunit\src\xunit.core\Record.cs:line 25
   at Hangfire.PostgreSql.Tests.PostgreSqlInstallerFacts.InstallingSchemaWithCapitalsUpdatesVersionAndShouldNotThrowAnException() in /home/runner/work/Hangfire.PostgreSql/Hangfire.PostgreSql/tests/Hangfire.PostgreSql.Tests/PostgreSqlInstallerFacts.cs:line 48