Skip to content

Treat blank license key as unconfigured (#1170) - #1171

Merged
jbogard merged 1 commit into
mainfrom
fix/1170-blank-license-key-fatal
Jun 9, 2026
Merged

Treat blank license key as unconfigured (#1170)#1171
jbogard merged 1 commit into
mainfrom
fix/1170-blank-license-key-fatal

Treat blank license key as unconfigured (#1170)

775ebdf
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / Test Results (Windows) succeeded Jun 9, 2026 in 1s

422 passed, 0 failed and 8 skipped

Tests passed successfully

Report Passed Failed Skipped Time
test/MediatR.DependencyInjectionTests/TestResults/runneradmin_runnervmw4a6y_2026-06-09_19_27_31_net10.0.trx 66✅ 4s
test/MediatR.Tests/TestResults/runneradmin_runnervmw4a6y_2026-06-09_19_27_33_net10.0.trx 178✅ 4⚪ 13s
test/MediatR.Tests/TestResults/runneradmin_runnervmw4a6y_2026-06-09_19_27_36_net462.trx 178✅ 4⚪ 28s

✅ test/MediatR.DependencyInjectionTests/TestResults/runneradmin_runnervmw4a6y_2026-06-09_19_27_31_net10.0.trx

66 tests were completed in 4s with 66 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
MediatR.DependencyInjectionTests.AutoFacDependencyInjectionTests 11✅ 290ms
MediatR.DependencyInjectionTests.DryIocDependencyInjectionTests 11✅ 225ms
MediatR.DependencyInjectionTests.LamarDependencyInjectionTests 11✅ 269ms
MediatR.DependencyInjectionTests.LightInjectDependencyInjectionTests 11✅ 297ms
MediatR.DependencyInjectionTests.MicrosoftDependencyInjectionTests 11✅ 178ms
MediatR.DependencyInjectionTests.StashBoxDependencyInjectionTests 11✅ 158ms

✅ MediatR.DependencyInjectionTests.AutoFacDependencyInjectionTests

✅ Should_Resolve_Internal_RequestHandler
✅ Should_Resolve_Internal_Stream_Request_Handlers
✅ Should_Resolve_Internal_Void_RequestHandler
✅ Should_Resolve_Mediator
✅ Should_Resolve_Private_RequestHandler
✅ Should_Resolve_Private_Stream_Request_Handlers
✅ Should_Resolve_Private_Void_RequestHandler
✅ Should_Resolve_Public_Private_Internal_Notification_Handlers
✅ Should_Resolve_Public_RequestHandler
✅ Should_Resolve_Public_Stream_Request_Handlers
✅ Should_Resolve_Public_Void_RequestHandler

✅ MediatR.DependencyInjectionTests.DryIocDependencyInjectionTests

✅ Should_Resolve_Internal_RequestHandler
✅ Should_Resolve_Internal_Stream_Request_Handlers
✅ Should_Resolve_Internal_Void_RequestHandler
✅ Should_Resolve_Mediator
✅ Should_Resolve_Private_RequestHandler
✅ Should_Resolve_Private_Stream_Request_Handlers
✅ Should_Resolve_Private_Void_RequestHandler
✅ Should_Resolve_Public_Private_Internal_Notification_Handlers
✅ Should_Resolve_Public_RequestHandler
✅ Should_Resolve_Public_Stream_Request_Handlers
✅ Should_Resolve_Public_Void_RequestHandler

✅ MediatR.DependencyInjectionTests.LamarDependencyInjectionTests

✅ Should_Resolve_Internal_RequestHandler
✅ Should_Resolve_Internal_Stream_Request_Handlers
✅ Should_Resolve_Internal_Void_RequestHandler
✅ Should_Resolve_Mediator
✅ Should_Resolve_Private_RequestHandler
✅ Should_Resolve_Private_Stream_Request_Handlers
✅ Should_Resolve_Private_Void_RequestHandler
✅ Should_Resolve_Public_Private_Internal_Notification_Handlers
✅ Should_Resolve_Public_RequestHandler
✅ Should_Resolve_Public_Stream_Request_Handlers
✅ Should_Resolve_Public_Void_RequestHandler

✅ MediatR.DependencyInjectionTests.LightInjectDependencyInjectionTests

✅ Should_Resolve_Internal_RequestHandler
✅ Should_Resolve_Internal_Stream_Request_Handlers
✅ Should_Resolve_Internal_Void_RequestHandler
✅ Should_Resolve_Mediator
✅ Should_Resolve_Private_RequestHandler
✅ Should_Resolve_Private_Stream_Request_Handlers
✅ Should_Resolve_Private_Void_RequestHandler
✅ Should_Resolve_Public_Private_Internal_Notification_Handlers
✅ Should_Resolve_Public_RequestHandler
✅ Should_Resolve_Public_Stream_Request_Handlers
✅ Should_Resolve_Public_Void_RequestHandler

✅ MediatR.DependencyInjectionTests.MicrosoftDependencyInjectionTests

✅ Should_Resolve_Internal_RequestHandler
✅ Should_Resolve_Internal_Stream_Request_Handlers
✅ Should_Resolve_Internal_Void_RequestHandler
✅ Should_Resolve_Mediator
✅ Should_Resolve_Private_RequestHandler
✅ Should_Resolve_Private_Stream_Request_Handlers
✅ Should_Resolve_Private_Void_RequestHandler
✅ Should_Resolve_Public_Private_Internal_Notification_Handlers
✅ Should_Resolve_Public_RequestHandler
✅ Should_Resolve_Public_Stream_Request_Handlers
✅ Should_Resolve_Public_Void_RequestHandler

✅ MediatR.DependencyInjectionTests.StashBoxDependencyInjectionTests

✅ Should_Resolve_Internal_RequestHandler
✅ Should_Resolve_Internal_Stream_Request_Handlers
✅ Should_Resolve_Internal_Void_RequestHandler
✅ Should_Resolve_Mediator
✅ Should_Resolve_Private_RequestHandler
✅ Should_Resolve_Private_Stream_Request_Handlers
✅ Should_Resolve_Private_Void_RequestHandler
✅ Should_Resolve_Public_Private_Internal_Notification_Handlers
✅ Should_Resolve_Public_RequestHandler
✅ Should_Resolve_Public_Stream_Request_Handlers
✅ Should_Resolve_Public_Void_RequestHandler

✅ test/MediatR.Tests/TestResults/runneradmin_runnervmw4a6y_2026-06-09_19_27_33_net10.0.trx

182 tests were completed in 13s with 178 passed, 0 failed and 4 skipped.

Test suite Passed Failed Skipped Time
MediatR.Extensions.Microsoft.DependencyInjection.Tests.AssemblyResolutionTests 11✅ 103ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.CustomMediatorTests 4✅ 110ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.DerivingRequestsTests 2✅ 32ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.DuplicateAssemblyResolutionTests 1✅ 80ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.Issue1118Tests 3✅ 29ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.NotificationPublisherTests 4✅ 264ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.PipelineMultiCallToConstructorTests 1✅ 9ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.PipelineTests 21✅ 228ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.StreamPipelineTests 2✅ 255ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.TypeEvaluatorTests 3✅ 15ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.TypeResolutionTests 10✅ 55ms
MediatR.Tests.CreateStreamTests 5✅ 102ms
MediatR.Tests.ExceptionTests 14✅ 292ms
MediatR.Tests.GenericRequestHandlerTests 17✅ 10s
MediatR.Tests.GenericTypeConstraintsTests 2✅ 8ms
MediatR.Tests.Licensing.LicenseAccessorTests 5✅ 29ms
MediatR.Tests.Licensing.LicenseValidatorTests 8✅ 2⚪ 29ms
MediatR.Tests.NotificationHandlerTests 1✅ 7ms
MediatR.Tests.NotificationPublisherTests 1✅ 1s
MediatR.Tests.Pipeline.RequestExceptionActionTests 2✅ 21ms
MediatR.Tests.Pipeline.RequestExceptionHandlerTests 4✅ 113ms
MediatR.Tests.Pipeline.RequestPostProcessorTests 1✅ 4ms
MediatR.Tests.Pipeline.RequestPreProcessorTests 1✅ 7ms
MediatR.Tests.Pipeline.Streams.StreamPipelineBehaviorTests 1✅ 67ms
MediatR.Tests.PipelineTests 5✅ 1⚪ 32ms
MediatR.Tests.PublishTests 6✅ 16ms
MediatR.Tests.SendTests 14✅ 1s
MediatR.Tests.SendVoidInterfaceTests 1✅ 111ms
MediatR.Tests.ServiceFactoryTests 3✅ 7ms
MediatR.Tests.StreamPipelineTests 3✅ 1⚪ 112ms
MediatR.Tests.UnitTests 22✅ 16ms

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.AssemblyResolutionTests

✅ ShouldNotThrowWhenAssemblyThrowsReflectionTypeLoadException
✅ ShouldRequireAtLeastOneAssembly
✅ ShouldResolveGenericPingRequestHandler
✅ ShouldResolveGenericReturnTypeRequestHandler
✅ ShouldResolveGenericVoidRequestHandler
✅ ShouldResolveInternalHandler
✅ ShouldResolveMediator
✅ ShouldResolveNotificationHandlers
✅ ShouldResolveRequestHandler
✅ ShouldResolveStreamHandlers
✅ ShouldResolveVoidGenericPingRequestHandler

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.CustomMediatorTests

✅ Can_Call_AddMediatr_multiple_times
✅ ShouldResolveMediator
✅ ShouldResolveNotificationHandlers
✅ ShouldResolveRequestHandler

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.DerivingRequestsTests

✅ ShouldReturnDerivedPingPong
✅ ShouldReturnPingPong

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.DuplicateAssemblyResolutionTests

✅ ShouldResolveNotificationHandlersOnlyOnce

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.Issue1118Tests

✅ Publishing_BaseEvent_Should_Call_BaseEventHandler_Once
✅ Publishing_DerivedEvent_Should_Call_BaseEventHandler_ExactlyOnce
✅ Publishing_DerivedEvent_Should_Call_DerivedEventHandler_Once

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.NotificationPublisherTests

✅ ShouldResolveDefaultPublisher
✅ ShouldSubstitutePublisherInstance
✅ ShouldSubstitutePublisherServiceType
✅ ShouldSubstitutePublisherServiceTypeWithWhenAll

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.PipelineMultiCallToConstructorTests

✅ Should_not_call_constructor_multiple_times_when_using_a_pipeline

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.PipelineTests

✅ Should_apply_open_behavior_with_nested_generic_response_type
✅ Should_auto_register_processors_when_configured_including_all_concrete_types
✅ Should_handle_constrained_generics
✅ Should_handle_exceptions_from_behaviors
✅ Should_handle_inferred_behavior_registration
✅ Should_handle_inferred_post_processor_registration
✅ Should_handle_inferred_pre_processor_registration
✅ Should_handle_inferred_stream_behavior_registration
✅ Should_handle_open_behavior_registration
✅ Should_handle_open_behaviors_registration_from_a_single_type
✅ Should_pick_up_base_exception_behaviors
✅ Should_pick_up_exception_actions
✅ Should_pick_up_specific_exception_behaviors
✅ Should_register_correctly
✅ Should_register_open_behaviors_correctly
✅ Should_register_pre_and_post_processors
✅ Should_throw_when_adding_non_open_behavior
✅ Should_throw_when_adding_non_open_stream_behavior
✅ Should_throw_when_adding_random_generic_type_as_open_behavior
✅ Should_wrap_generics_with_behavior
✅ Should_wrap_with_behavior

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.StreamPipelineTests

✅ Should_register_and_wrap_with_behavior
✅ Should_wrap_with_behavior

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.TypeEvaluatorTests

✅ ShouldNotRegisterUnNeededBehaviors
✅ ShouldOnlyResolveIncludedRequestHandlers
✅ ShouldResolveMediator

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.TypeResolutionTests

✅ ShouldHandleKeyedServices
✅ ShouldNotThrowWithMissingEnumerables
✅ ShouldResolveFirstDuplicateHandler
✅ ShouldResolveIgnoreSecondDuplicateHandler
✅ ShouldResolveMediator
✅ ShouldResolveNotificationHandlers
✅ ShouldResolvePublisher
✅ ShouldResolveRequestHandler
✅ ShouldResolveSender
✅ ShouldResolveVoidRequestHandler

✅ MediatR.Tests.CreateStreamTests

✅ Should_raise_execption_on_null_request
✅ Should_raise_execption_on_null_request_via_dynamic_dispatch
✅ Should_resolve_main_handler
✅ Should_resolve_main_handler_by_specific_interface
✅ Should_resolve_main_handler_via_dynamic_dispatch

✅ MediatR.Tests.ExceptionTests

✅ Should_not_throw_for_async_publish
✅ Should_not_throw_for_publish
✅ Should_throw_argument_exception_for_publish_when_request_is_not_notification
✅ Should_throw_argument_exception_for_publish_when_request_is_null
✅ Should_throw_argument_exception_for_publish_when_request_is_null_object
✅ Should_throw_argument_exception_for_send_when_request_is_null
✅ Should_throw_argument_exception_for_void_send_when_request_is_null
✅ Should_throw_exception_for_generic_send_when_exception_occurs
✅ Should_throw_exception_for_non_generic_send_when_exception_occurs
✅ Should_throw_exception_for_non_request_send
✅ Should_throw_for_async_send
✅ Should_throw_for_async_void_send
✅ Should_throw_for_send
✅ Should_throw_for_void_send

✅ MediatR.Tests.GenericRequestHandlerTests

✅ ShouldNotRegisterDuplicateHandlers(numberOfClasses: 1, numberOfInterfaces: 1, numberOfTypeParameters: 1)
✅ ShouldNotRegisterDuplicateHandlers(numberOfClasses: 10, numberOfInterfaces: 4, numberOfTypeParameters: 4)
✅ ShouldNotRegisterDuplicateHandlers(numberOfClasses: 50, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldNotRegisterDuplicateHandlers(numberOfClasses: 9, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldNotRegisterGenericHandlersWhenOptingOut
✅ ShouldRegisterTheCorrectAmountOfHandlers(numberOfClasses: 1, numberOfInterfaces: 1, numberOfTypeParameters: 1)
✅ ShouldRegisterTheCorrectAmountOfHandlers(numberOfClasses: 10, numberOfInterfaces: 4, numberOfTypeParameters: 4)
✅ ShouldRegisterTheCorrectAmountOfHandlers(numberOfClasses: 50, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldRegisterTheCorrectAmountOfHandlers(numberOfClasses: 9, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldResolveAllCombinationsOfGenericHandler(numberOfClasses: 1, numberOfInterfaces: 1, numberOfTypeParameters: 1)
✅ ShouldResolveAllCombinationsOfGenericHandler(numberOfClasses: 10, numberOfInterfaces: 4, numberOfTypeParameters: 4)
✅ ShouldResolveAllCombinationsOfGenericHandler(numberOfClasses: 50, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldResolveAllCombinationsOfGenericHandler(numberOfClasses: 9, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldThrowExceptionWhenGenericHandlerRegistrationsExceedsMaximum
✅ ShouldThrowExceptionWhenGenericTypeParametersExceedsMaximum
✅ ShouldThrowExceptionWhenTimeoutOccurs
✅ ShouldThrowExceptionWhenTypesClosingExceedsMaximum

✅ MediatR.Tests.GenericTypeConstraintsTests

✅ Should_Resolve_Response_Return_Request
✅ Should_Resolve_Void_Return_Request

✅ MediatR.Tests.Licensing.LicenseAccessorTests

✅ Should_return_unconfigured_license_for_missing_or_blank_key(key: "   ")
✅ Should_return_unconfigured_license_for_missing_or_blank_key(key: "")
✅ Should_return_unconfigured_license_for_missing_or_blank_key(key: "\t")
✅ Should_return_unconfigured_license_for_missing_or_blank_key(key: null)
✅ Should_return_unconfigured_license_when_static_key_is_blank

✅ MediatR.Tests.Licensing.LicenseValidatorTests

✅ Should_allow_perpetual_license_when_build_date_before_expiration
✅ Should_fall_back_to_expiration_error_when_perpetual_and_build_date_is_null
✅ Should_handle_missing_perpetual_claim
✅ Should_reject_perpetual_license_when_build_date_after_expiration
✅ Should_return_invalid_when_expired
✅ Should_return_invalid_when_no_claims
✅ Should_return_invalid_when_not_correct_type
⚪ Should_return_valid_for_actual_valid_license
⚪ Should_return_valid_for_actual_valid_license_via_static_property
✅ Should_return_valid_when_community

✅ MediatR.Tests.NotificationHandlerTests

✅ Should_call_abstract_handle_method

✅ MediatR.Tests.NotificationPublisherTests

✅ Should_handle_sequentially_by_default

✅ MediatR.Tests.Pipeline.RequestExceptionActionTests

✅ Should_run_all_exception_actions_that_match_base_type
✅ Should_run_matching_exception_actions_only_once

✅ MediatR.Tests.Pipeline.RequestExceptionHandlerTests

✅ Should_run_exception_handler_and_allow_for_exception_not_to_throw
✅ Should_run_exception_handler_and_allow_for_exception_to_be_still_thrown
✅ Should_run_exception_handler_and_unwrap_expections_thrown_in_the_handler
✅ Should_run_matching_exception_handlers_only_once

✅ MediatR.Tests.Pipeline.RequestPostProcessorTests

✅ Should_run_postprocessors

✅ MediatR.Tests.Pipeline.RequestPreProcessorTests

✅ Should_run_preprocessors

✅ MediatR.Tests.Pipeline.Streams.StreamPipelineBehaviorTests

✅ Should_run_pipeline_behavior

✅ MediatR.Tests.PipelineTests

⚪ Should_handle_concrete_and_open_generics
✅ Should_handle_constrained_generics
✅ Should_wrap_generics_with_behavior
✅ Should_wrap_void_generics_with_behavior
✅ Should_wrap_void_with_behavior
✅ Should_wrap_with_behavior

✅ MediatR.Tests.PublishTests

✅ Should_override_with_sequential_firing
✅ Should_override_with_sequential_firing_through_injection
✅ Should_resolve_handlers_given_interface
✅ Should_resolve_main_handler
✅ Should_resolve_main_handler_by_specific_interface
✅ Should_resolve_main_handler_when_object_is_passed

✅ MediatR.Tests.SendTests

✅ Should_raise_execption_on_null_request
✅ Should_resolve_closed_handler_if_defined
✅ Should_resolve_generic_handler
✅ Should_resolve_generic_void_handler
✅ Should_resolve_main_handler
✅ Should_resolve_main_handler_by_given_interface
✅ Should_resolve_main_handler_by_specific_interface
✅ Should_resolve_main_handler_via_dynamic_dispatch
✅ Should_resolve_main_void_handler
✅ Should_resolve_main_void_handler_via_dynamic_dispatch
✅ Should_resolve_multiple_type_parameter_generic_handler
✅ Should_resolve_open_handler_if_not_defined
✅ TimeoutBehavior_NonVoid_Should_Cancel_Long_Running_Task_And_Throw_Exception
✅ TimeoutBehavior_Void_Should_Cancel_Long_Running_Task_And_Throw_Exception

✅ MediatR.Tests.SendVoidInterfaceTests

✅ Should_resolve_main_void_handler

✅ MediatR.Tests.ServiceFactoryTests

✅ Should_not_throw_with_manual_registration
✅ Should_throw_given_no_handler
✅ Should_throw_when_missing_required_configuration

✅ MediatR.Tests.StreamPipelineTests

⚪ Should_handle_concrete_and_open_generics
✅ Should_handle_constrained_generics
✅ Should_wrap_generics_with_behavior
✅ Should_wrap_with_behavior

✅ MediatR.Tests.UnitTests

✅ Should_be_equal_to_each_other
✅ Should_be_equal(value: "", isEqual: False)
✅ Should_be_equal(value: "()", isEqual: False)
✅ Should_be_equal(value: (), isEqual: True)
✅ Should_be_equal(value: (), isEqual: True)
✅ Should_be_equal(value: (), isEqual: True)
✅ Should_be_equal(value: (), isEqual: True)
✅ Should_be_equal(value: https://www.google.com/, isEqual: False)
✅ Should_be_equal(value: null, isEqual: False)
✅ Should_be_equal(value: Object { }, isEqual: False)
✅ Should_be_equitable
✅ Should_compareto_as_zero
✅ Should_compareto_value_as_zero(value: "")
✅ Should_compareto_value_as_zero(value: "()")
✅ Should_compareto_value_as_zero(value: ())
✅ Should_compareto_value_as_zero(value: ())
✅ Should_compareto_value_as_zero(value: ())
✅ Should_compareto_value_as_zero(value: ())
✅ Should_compareto_value_as_zero(value: https://www.google.com/)
✅ Should_compareto_value_as_zero(value: null)
✅ Should_compareto_value_as_zero(value: Object { })
✅ Should_tostring

✅ test/MediatR.Tests/TestResults/runneradmin_runnervmw4a6y_2026-06-09_19_27_36_net462.trx

182 tests were completed in 28s with 178 passed, 0 failed and 4 skipped.

Test suite Passed Failed Skipped Time
MediatR.Extensions.Microsoft.DependencyInjection.Tests.AssemblyResolutionTests 11✅ 162ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.CustomMediatorTests 4✅ 98ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.DerivingRequestsTests 2✅ 269ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.DuplicateAssemblyResolutionTests 1✅ 709ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.Issue1118Tests 3✅ 45ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.NotificationPublisherTests 4✅ 436ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.PipelineMultiCallToConstructorTests 1✅ 26ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.PipelineTests 21✅ 343ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.StreamPipelineTests 2✅ 1s
MediatR.Extensions.Microsoft.DependencyInjection.Tests.TypeEvaluatorTests 3✅ 15ms
MediatR.Extensions.Microsoft.DependencyInjection.Tests.TypeResolutionTests 10✅ 67ms
MediatR.Tests.CreateStreamTests 5✅ 1s
MediatR.Tests.ExceptionTests 14✅ 256ms
MediatR.Tests.GenericRequestHandlerTests 17✅ 20s
MediatR.Tests.GenericTypeConstraintsTests 2✅ 39ms
MediatR.Tests.Licensing.LicenseAccessorTests 5✅ 728ms
MediatR.Tests.Licensing.LicenseValidatorTests 8✅ 2⚪ 144ms
MediatR.Tests.NotificationHandlerTests 1✅ 3ms
MediatR.Tests.NotificationPublisherTests 1✅ 1s
MediatR.Tests.Pipeline.RequestExceptionActionTests 2✅ 79ms
MediatR.Tests.Pipeline.RequestExceptionHandlerTests 4✅ 619ms
MediatR.Tests.Pipeline.RequestPostProcessorTests 1✅ 21ms
MediatR.Tests.Pipeline.RequestPreProcessorTests 1✅ 10ms
MediatR.Tests.Pipeline.Streams.StreamPipelineBehaviorTests 1✅ 172ms
MediatR.Tests.PipelineTests 5✅ 1⚪ 111ms
MediatR.Tests.PublishTests 6✅ 69ms
MediatR.Tests.SendTests 14✅ 1s
MediatR.Tests.SendVoidInterfaceTests 1✅ 56ms
MediatR.Tests.ServiceFactoryTests 3✅ 4ms
MediatR.Tests.StreamPipelineTests 3✅ 1⚪ 104ms
MediatR.Tests.UnitTests 22✅ 105ms

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.AssemblyResolutionTests

✅ ShouldNotThrowWhenAssemblyThrowsReflectionTypeLoadException
✅ ShouldRequireAtLeastOneAssembly
✅ ShouldResolveGenericPingRequestHandler
✅ ShouldResolveGenericReturnTypeRequestHandler
✅ ShouldResolveGenericVoidRequestHandler
✅ ShouldResolveInternalHandler
✅ ShouldResolveMediator
✅ ShouldResolveNotificationHandlers
✅ ShouldResolveRequestHandler
✅ ShouldResolveStreamHandlers
✅ ShouldResolveVoidGenericPingRequestHandler

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.CustomMediatorTests

✅ Can_Call_AddMediatr_multiple_times
✅ ShouldResolveMediator
✅ ShouldResolveNotificationHandlers
✅ ShouldResolveRequestHandler

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.DerivingRequestsTests

✅ ShouldReturnDerivedPingPong
✅ ShouldReturnPingPong

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.DuplicateAssemblyResolutionTests

✅ ShouldResolveNotificationHandlersOnlyOnce

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.Issue1118Tests

✅ Publishing_BaseEvent_Should_Call_BaseEventHandler_Once
✅ Publishing_DerivedEvent_Should_Call_BaseEventHandler_ExactlyOnce
✅ Publishing_DerivedEvent_Should_Call_DerivedEventHandler_Once

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.NotificationPublisherTests

✅ ShouldResolveDefaultPublisher
✅ ShouldSubstitutePublisherInstance
✅ ShouldSubstitutePublisherServiceType
✅ ShouldSubstitutePublisherServiceTypeWithWhenAll

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.PipelineMultiCallToConstructorTests

✅ Should_not_call_constructor_multiple_times_when_using_a_pipeline

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.PipelineTests

✅ Should_apply_open_behavior_with_nested_generic_response_type
✅ Should_auto_register_processors_when_configured_including_all_concrete_types
✅ Should_handle_constrained_generics
✅ Should_handle_exceptions_from_behaviors
✅ Should_handle_inferred_behavior_registration
✅ Should_handle_inferred_post_processor_registration
✅ Should_handle_inferred_pre_processor_registration
✅ Should_handle_inferred_stream_behavior_registration
✅ Should_handle_open_behavior_registration
✅ Should_handle_open_behaviors_registration_from_a_single_type
✅ Should_pick_up_base_exception_behaviors
✅ Should_pick_up_exception_actions
✅ Should_pick_up_specific_exception_behaviors
✅ Should_register_correctly
✅ Should_register_open_behaviors_correctly
✅ Should_register_pre_and_post_processors
✅ Should_throw_when_adding_non_open_behavior
✅ Should_throw_when_adding_non_open_stream_behavior
✅ Should_throw_when_adding_random_generic_type_as_open_behavior
✅ Should_wrap_generics_with_behavior
✅ Should_wrap_with_behavior

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.StreamPipelineTests

✅ Should_register_and_wrap_with_behavior
✅ Should_wrap_with_behavior

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.TypeEvaluatorTests

✅ ShouldNotRegisterUnNeededBehaviors
✅ ShouldOnlyResolveIncludedRequestHandlers
✅ ShouldResolveMediator

✅ MediatR.Extensions.Microsoft.DependencyInjection.Tests.TypeResolutionTests

✅ ShouldHandleKeyedServices
✅ ShouldNotThrowWithMissingEnumerables
✅ ShouldResolveFirstDuplicateHandler
✅ ShouldResolveIgnoreSecondDuplicateHandler
✅ ShouldResolveMediator
✅ ShouldResolveNotificationHandlers
✅ ShouldResolvePublisher
✅ ShouldResolveRequestHandler
✅ ShouldResolveSender
✅ ShouldResolveVoidRequestHandler

✅ MediatR.Tests.CreateStreamTests

✅ Should_raise_execption_on_null_request
✅ Should_raise_execption_on_null_request_via_dynamic_dispatch
✅ Should_resolve_main_handler
✅ Should_resolve_main_handler_by_specific_interface
✅ Should_resolve_main_handler_via_dynamic_dispatch

✅ MediatR.Tests.ExceptionTests

✅ Should_not_throw_for_async_publish
✅ Should_not_throw_for_publish
✅ Should_throw_argument_exception_for_publish_when_request_is_not_notification
✅ Should_throw_argument_exception_for_publish_when_request_is_null
✅ Should_throw_argument_exception_for_publish_when_request_is_null_object
✅ Should_throw_argument_exception_for_send_when_request_is_null
✅ Should_throw_argument_exception_for_void_send_when_request_is_null
✅ Should_throw_exception_for_generic_send_when_exception_occurs
✅ Should_throw_exception_for_non_generic_send_when_exception_occurs
✅ Should_throw_exception_for_non_request_send
✅ Should_throw_for_async_send
✅ Should_throw_for_async_void_send
✅ Should_throw_for_send
✅ Should_throw_for_void_send

✅ MediatR.Tests.GenericRequestHandlerTests

✅ ShouldNotRegisterDuplicateHandlers(numberOfClasses: 1, numberOfInterfaces: 1, numberOfTypeParameters: 1)
✅ ShouldNotRegisterDuplicateHandlers(numberOfClasses: 10, numberOfInterfaces: 4, numberOfTypeParameters: 4)
✅ ShouldNotRegisterDuplicateHandlers(numberOfClasses: 50, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldNotRegisterDuplicateHandlers(numberOfClasses: 9, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldNotRegisterGenericHandlersWhenOptingOut
✅ ShouldRegisterTheCorrectAmountOfHandlers(numberOfClasses: 1, numberOfInterfaces: 1, numberOfTypeParameters: 1)
✅ ShouldRegisterTheCorrectAmountOfHandlers(numberOfClasses: 10, numberOfInterfaces: 4, numberOfTypeParameters: 4)
✅ ShouldRegisterTheCorrectAmountOfHandlers(numberOfClasses: 50, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldRegisterTheCorrectAmountOfHandlers(numberOfClasses: 9, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldResolveAllCombinationsOfGenericHandler(numberOfClasses: 1, numberOfInterfaces: 1, numberOfTypeParameters: 1)
✅ ShouldResolveAllCombinationsOfGenericHandler(numberOfClasses: 10, numberOfInterfaces: 4, numberOfTypeParameters: 4)
✅ ShouldResolveAllCombinationsOfGenericHandler(numberOfClasses: 50, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldResolveAllCombinationsOfGenericHandler(numberOfClasses: 9, numberOfInterfaces: 3, numberOfTypeParameters: 3)
✅ ShouldThrowExceptionWhenGenericHandlerRegistrationsExceedsMaximum
✅ ShouldThrowExceptionWhenGenericTypeParametersExceedsMaximum
✅ ShouldThrowExceptionWhenTimeoutOccurs
✅ ShouldThrowExceptionWhenTypesClosingExceedsMaximum

✅ MediatR.Tests.GenericTypeConstraintsTests

✅ Should_Resolve_Response_Return_Request
✅ Should_Resolve_Void_Return_Request

✅ MediatR.Tests.Licensing.LicenseAccessorTests

✅ Should_return_unconfigured_license_for_missing_or_blank_key(key: "   ")
✅ Should_return_unconfigured_license_for_missing_or_blank_key(key: "")
✅ Should_return_unconfigured_license_for_missing_or_blank_key(key: "\t")
✅ Should_return_unconfigured_license_for_missing_or_blank_key(key: null)
✅ Should_return_unconfigured_license_when_static_key_is_blank

✅ MediatR.Tests.Licensing.LicenseValidatorTests

✅ Should_allow_perpetual_license_when_build_date_before_expiration
✅ Should_fall_back_to_expiration_error_when_perpetual_and_build_date_is_null
✅ Should_handle_missing_perpetual_claim
✅ Should_reject_perpetual_license_when_build_date_after_expiration
✅ Should_return_invalid_when_expired
✅ Should_return_invalid_when_no_claims
✅ Should_return_invalid_when_not_correct_type
⚪ Should_return_valid_for_actual_valid_license
⚪ Should_return_valid_for_actual_valid_license_via_static_property
✅ Should_return_valid_when_community

✅ MediatR.Tests.NotificationHandlerTests

✅ Should_call_abstract_handle_method

✅ MediatR.Tests.NotificationPublisherTests

✅ Should_handle_sequentially_by_default

✅ MediatR.Tests.Pipeline.RequestExceptionActionTests

✅ Should_run_all_exception_actions_that_match_base_type
✅ Should_run_matching_exception_actions_only_once

✅ MediatR.Tests.Pipeline.RequestExceptionHandlerTests

✅ Should_run_exception_handler_and_allow_for_exception_not_to_throw
✅ Should_run_exception_handler_and_allow_for_exception_to_be_still_thrown
✅ Should_run_exception_handler_and_unwrap_expections_thrown_in_the_handler
✅ Should_run_matching_exception_handlers_only_once

✅ MediatR.Tests.Pipeline.RequestPostProcessorTests

✅ Should_run_postprocessors

✅ MediatR.Tests.Pipeline.RequestPreProcessorTests

✅ Should_run_preprocessors

✅ MediatR.Tests.Pipeline.Streams.StreamPipelineBehaviorTests

✅ Should_run_pipeline_behavior

✅ MediatR.Tests.PipelineTests

⚪ Should_handle_concrete_and_open_generics
✅ Should_handle_constrained_generics
✅ Should_wrap_generics_with_behavior
✅ Should_wrap_void_generics_with_behavior
✅ Should_wrap_void_with_behavior
✅ Should_wrap_with_behavior

✅ MediatR.Tests.PublishTests

✅ Should_override_with_sequential_firing
✅ Should_override_with_sequential_firing_through_injection
✅ Should_resolve_handlers_given_interface
✅ Should_resolve_main_handler
✅ Should_resolve_main_handler_by_specific_interface
✅ Should_resolve_main_handler_when_object_is_passed

✅ MediatR.Tests.SendTests

✅ Should_raise_execption_on_null_request
✅ Should_resolve_closed_handler_if_defined
✅ Should_resolve_generic_handler
✅ Should_resolve_generic_void_handler
✅ Should_resolve_main_handler
✅ Should_resolve_main_handler_by_given_interface
✅ Should_resolve_main_handler_by_specific_interface
✅ Should_resolve_main_handler_via_dynamic_dispatch
✅ Should_resolve_main_void_handler
✅ Should_resolve_main_void_handler_via_dynamic_dispatch
✅ Should_resolve_multiple_type_parameter_generic_handler
✅ Should_resolve_open_handler_if_not_defined
✅ TimeoutBehavior_NonVoid_Should_Cancel_Long_Running_Task_And_Throw_Exception
✅ TimeoutBehavior_Void_Should_Cancel_Long_Running_Task_And_Throw_Exception

✅ MediatR.Tests.SendVoidInterfaceTests

✅ Should_resolve_main_void_handler

✅ MediatR.Tests.ServiceFactoryTests

✅ Should_not_throw_with_manual_registration
✅ Should_throw_given_no_handler
✅ Should_throw_when_missing_required_configuration

✅ MediatR.Tests.StreamPipelineTests

⚪ Should_handle_concrete_and_open_generics
✅ Should_handle_constrained_generics
✅ Should_wrap_generics_with_behavior
✅ Should_wrap_with_behavior

✅ MediatR.Tests.UnitTests

✅ Should_be_equal_to_each_other
✅ Should_be_equal(value: "", isEqual: False)
✅ Should_be_equal(value: "()", isEqual: False)
✅ Should_be_equal(value: (), isEqual: True)
✅ Should_be_equal(value: (), isEqual: True)
✅ Should_be_equal(value: (), isEqual: True)
✅ Should_be_equal(value: (), isEqual: True)
✅ Should_be_equal(value: https://www.google.com/, isEqual: False)
✅ Should_be_equal(value: null, isEqual: False)
✅ Should_be_equal(value: Object { }, isEqual: False)
✅ Should_be_equitable
✅ Should_compareto_as_zero
✅ Should_compareto_value_as_zero(value: "")
✅ Should_compareto_value_as_zero(value: "()")
✅ Should_compareto_value_as_zero(value: ())
✅ Should_compareto_value_as_zero(value: ())
✅ Should_compareto_value_as_zero(value: ())
✅ Should_compareto_value_as_zero(value: ())
✅ Should_compareto_value_as_zero(value: https://www.google.com/)
✅ Should_compareto_value_as_zero(value: null)
✅ Should_compareto_value_as_zero(value: Object { })
✅ Should_tostring