From 2f63fb86e11b664005ec05cc8920b1a39ca46072 Mon Sep 17 00:00:00 2001 From: Michal Dorner Date: Sun, 13 Nov 2022 13:19:47 +0100 Subject: [PATCH] Update test outputs after #199 --- __tests__/__outputs__/dart-json.md | 8 +- __tests__/__outputs__/dotnet-trx.md | 14 +- .../fluent-validation-test-results.md | 2104 +++++++------- __tests__/__outputs__/jest-junit.md | 8 +- __tests__/__outputs__/jest-test-results.md | 834 +++--- __tests__/__outputs__/mocha-json.md | 8 +- __tests__/__outputs__/mocha-test-results.md | 74 +- .../__outputs__/provider-test-results.md | 598 ++-- .../pulsar-test-results-no-merge.md | 4 +- __tests__/__outputs__/pulsar-test-results.md | 2486 ++++++++--------- .../__outputs__/silent-notes-test-results.md | 262 +- 11 files changed, 3200 insertions(+), 3200 deletions(-) diff --git a/__tests__/__outputs__/dart-json.md b/__tests__/__outputs__/dart-json.md index 80a2846..6fec70c 100644 --- a/__tests__/__outputs__/dart-json.md +++ b/__tests__/__outputs__/dart-json.md @@ -3,12 +3,12 @@ **6** tests were completed in **4s** with **1** passed, **4** failed and **1** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[test/main_test.dart](#r0s0)|1✔️|3❌||74ms| -|[test/second_test.dart](#r0s1)||1❌|1✖️|51ms| +|[test/main_test.dart](#r0s0)|1✅|3❌||74ms| +|[test/second_test.dart](#r0s1)||1❌|1⚪|51ms| ### ❌ test/main_test.dart ``` Test 1 - ✔️ Passing test + ✅ Passing test Test 1 Test 1.1 ❌ Failing test Expected: <2> @@ -24,5 +24,5 @@ Test 2 ``` ❌ Timeout test TimeoutException after 0:00:00.000001: Test timed out after 0 seconds. -✖️ Skipped test +⚪ Skipped test ``` \ No newline at end of file diff --git a/__tests__/__outputs__/dotnet-trx.md b/__tests__/__outputs__/dotnet-trx.md index ddaaecd..0fc9f7b 100644 --- a/__tests__/__outputs__/dotnet-trx.md +++ b/__tests__/__outputs__/dotnet-trx.md @@ -3,10 +3,10 @@ **11** tests were completed in **1s** with **5** passed, **5** failed and **1** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[DotnetTests.XUnitTests.CalculatorTests](#r0s0)|5✔️|5❌|1✖️|118ms| +|[DotnetTests.XUnitTests.CalculatorTests](#r0s0)|5✅|5❌|1⚪|118ms| ### ❌ DotnetTests.XUnitTests.CalculatorTests ``` -✔️ Custom Name +✅ Custom Name ❌ Exception_In_TargetTest System.DivideByZeroException : Attempted to divide by zero. ❌ Exception_In_Test @@ -15,17 +15,17 @@ Assert.Equal() Failure Expected: 3 Actual: 2 -✔️ Is_Even_Number(i: 2) +✅ Is_Even_Number(i: 2) ❌ Is_Even_Number(i: 3) Assert.True() Failure Expected: True Actual: False -✔️ Passing_Test -✔️ Should be even number(i: 2) +✅ Passing_Test +✅ Should be even number(i: 2) ❌ Should be even number(i: 3) Assert.True() Failure Expected: True Actual: False -✖️ Skipped_Test -✔️ Timeout_Test +⚪ Skipped_Test +✅ Timeout_Test ``` \ No newline at end of file diff --git a/__tests__/__outputs__/fluent-validation-test-results.md b/__tests__/__outputs__/fluent-validation-test-results.md index 9f35f00..59a056c 100644 --- a/__tests__/__outputs__/fluent-validation-test-results.md +++ b/__tests__/__outputs__/fluent-validation-test-results.md @@ -1,1057 +1,1057 @@ ![Tests passed successfully](https://img.shields.io/badge/tests-803%20passed%2C%201%20skipped-success) -## ✔️ fixtures/external/FluentValidation.Tests.trx +## ✅ fixtures/external/FluentValidation.Tests.trx **804** tests were completed in **4s** with **803** passed, **0** failed and **1** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[FluentValidation.Tests.AbstractValidatorTester](#r0s0)|35✔️|||12ms| -|[FluentValidation.Tests.AccessorCacheTests](#r0s1)|4✔️||1✖️|4ms| -|[FluentValidation.Tests.AssemblyScannerTester](#r0s2)|2✔️|||2ms| -|[FluentValidation.Tests.CascadingFailuresTester](#r0s3)|38✔️|||23ms| -|[FluentValidation.Tests.ChainedValidationTester](#r0s4)|13✔️|||6ms| -|[FluentValidation.Tests.ChainingValidatorsTester](#r0s5)|3✔️|||1ms| -|[FluentValidation.Tests.ChildRulesTests](#r0s6)|2✔️|||7ms| -|[FluentValidation.Tests.CollectionValidatorWithParentTests](#r0s7)|16✔️|||13ms| -|[FluentValidation.Tests.ComplexValidationTester](#r0s8)|17✔️|||26ms| -|[FluentValidation.Tests.ConditionTests](#r0s9)|18✔️|||9ms| -|[FluentValidation.Tests.CreditCardValidatorTests](#r0s10)|2✔️|||2ms| -|[FluentValidation.Tests.CustomFailureActionTester](#r0s11)|3✔️|||1ms| -|[FluentValidation.Tests.CustomMessageFormatTester](#r0s12)|6✔️|||3ms| -|[FluentValidation.Tests.CustomValidatorTester](#r0s13)|10✔️|||6ms| -|[FluentValidation.Tests.DefaultValidatorExtensionTester](#r0s14)|30✔️|||38ms| -|[FluentValidation.Tests.EmailValidatorTests](#r0s15)|36✔️|||18ms| -|[FluentValidation.Tests.EmptyTester](#r0s16)|9✔️|||5ms| -|[FluentValidation.Tests.EnumValidatorTests](#r0s17)|12✔️|||24ms| -|[FluentValidation.Tests.EqualValidatorTests](#r0s18)|10✔️|||3ms| -|[FluentValidation.Tests.ExactLengthValidatorTester](#r0s19)|6✔️|||2ms| -|[FluentValidation.Tests.ExclusiveBetweenValidatorTests](#r0s20)|19✔️|||6ms| -|[FluentValidation.Tests.ExtensionTester](#r0s21)|4✔️|||1ms| -|[FluentValidation.Tests.ForEachRuleTests](#r0s22)|34✔️|||47ms| -|[FluentValidation.Tests.GreaterThanOrEqualToValidatorTester](#r0s23)|14✔️|||5ms| -|[FluentValidation.Tests.GreaterThanValidatorTester](#r0s24)|13✔️|||4ms| -|[FluentValidation.Tests.InclusiveBetweenValidatorTests](#r0s25)|18✔️|||4ms| -|[FluentValidation.Tests.InheritanceValidatorTest](#r0s26)|11✔️|||18ms| -|[FluentValidation.Tests.InlineValidatorTester](#r0s27)|1✔️|||2ms| -|[FluentValidation.Tests.LanguageManagerTests](#r0s28)|21✔️|||28ms| -|[FluentValidation.Tests.LengthValidatorTests](#r0s29)|16✔️|||17ms| -|[FluentValidation.Tests.LessThanOrEqualToValidatorTester](#r0s30)|13✔️|||4ms| -|[FluentValidation.Tests.LessThanValidatorTester](#r0s31)|16✔️|||6ms| -|[FluentValidation.Tests.LocalisedMessagesTester](#r0s32)|6✔️|||3ms| -|[FluentValidation.Tests.LocalisedNameTester](#r0s33)|2✔️|||1ms| -|[FluentValidation.Tests.MemberAccessorTests](#r0s34)|9✔️|||5ms| -|[FluentValidation.Tests.MessageFormatterTests](#r0s35)|10✔️|||2ms| -|[FluentValidation.Tests.ModelLevelValidatorTests](#r0s36)|2✔️|||1ms| -|[FluentValidation.Tests.NameResolutionPluggabilityTester](#r0s37)|3✔️|||2ms| -|[FluentValidation.Tests.NotEmptyTester](#r0s38)|10✔️|||7ms| -|[FluentValidation.Tests.NotEqualValidatorTests](#r0s39)|11✔️|||7ms| -|[FluentValidation.Tests.NotNullTester](#r0s40)|5✔️|||1ms| -|[FluentValidation.Tests.NullTester](#r0s41)|5✔️|||2ms| -|[FluentValidation.Tests.OnFailureTests](#r0s42)|10✔️|||8ms| -|[FluentValidation.Tests.PredicateValidatorTester](#r0s43)|5✔️|||2ms| -|[FluentValidation.Tests.PropertyChainTests](#r0s44)|7✔️|||1ms| -|[FluentValidation.Tests.RegularExpressionValidatorTests](#r0s45)|15✔️|||6ms| -|[FluentValidation.Tests.RuleBuilderTests](#r0s46)|29✔️|||96ms| -|[FluentValidation.Tests.RuleDependencyTests](#r0s47)|14✔️|||3s| -|[FluentValidation.Tests.RulesetTests](#r0s48)|21✔️|||14ms| -|[FluentValidation.Tests.ScalePrecisionValidatorTests](#r0s49)|6✔️|||4ms| -|[FluentValidation.Tests.SharedConditionTests](#r0s50)|42✔️|||42ms| -|[FluentValidation.Tests.StandalonePropertyValidationTester](#r0s51)|1✔️|||0ms| -|[FluentValidation.Tests.StringEnumValidatorTests](#r0s52)|10✔️|||5ms| -|[FluentValidation.Tests.TrackingCollectionTests](#r0s53)|3✔️|||2ms| -|[FluentValidation.Tests.TransformTests](#r0s54)|4✔️|||3ms| -|[FluentValidation.Tests.UserSeverityTester](#r0s55)|7✔️|||3ms| -|[FluentValidation.Tests.UserStateTester](#r0s56)|4✔️|||3ms| -|[FluentValidation.Tests.ValidateAndThrowTester](#r0s57)|14✔️|||25ms| -|[FluentValidation.Tests.ValidationResultTests](#r0s58)|8✔️|||8ms| -|[FluentValidation.Tests.ValidatorDescriptorTester](#r0s59)|5✔️|||1ms| -|[FluentValidation.Tests.ValidatorSelectorTests](#r0s60)|10✔️|||9ms| -|[FluentValidation.Tests.ValidatorTesterTester](#r0s61)|73✔️|||74ms| -### ✔️ FluentValidation.Tests.AbstractValidatorTester -``` -✔️ Can_replace_default_errorcode_resolver -✔️ CanValidateInstancesOfType_returns_false_when_comparing_against_some_other_type -✔️ CanValidateInstancesOfType_returns_true_when_comparing_against_same_type -✔️ CanValidateInstancesOfType_returns_true_when_comparing_against_subclass -✔️ Default_error_code_should_be_class_name -✔️ OverridePropertyName_should_override_property_name -✔️ OverridePropertyName_with_lambda_should_override_property_name -✔️ PreValidate_bypasses_nullcheck_on_instance -✔️ RuleForeach_with_null_instances -✔️ Should_be_valid_when_there_are_no_failures_for_single_property -✔️ Should_not_main_state -✔️ Should_throw_for_non_member_expression_when_validating_single_property -✔️ Should_throw_when_rule_is_null -✔️ Should_validate_public_Field -✔️ Should_validate_single_Field -✔️ Should_validate_single_property -✔️ Should_validate_single_property_where_invalid_property_as_string -✔️ Should_validate_single_property_where_property_as_string -✔️ Uses_named_parameters_to_validate_ruleset -✔️ Validates_single_property_by_path -✔️ Validates_type_when_using_non_generic_validate_overload -✔️ When_the_validators_fail_then_the_errors_Should_be_accessible_via_the_errors_property -✔️ When_the_validators_fail_then_validatorrunner_should_return_false -✔️ When_the_Validators_pass_then_the_validatorRunner_should_return_true -✔️ WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_Validate(preValidationResult: ) -✔️ WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_Validate(preValidationResult: AnotherInt Test Message) -✔️ WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_ValidateAsync(preValidationResult: ) -✔️ WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_ValidateAsync(preValidationResult: AnotherInt Test Message) -✔️ WhenPreValidationReturnsTrue_ValidatorsGetHit_Validate -✔️ WhenPreValidationReturnsTrue_ValidatorsGetHit_ValidateAsync -✔️ WithErrorCode_should_override_error_code -✔️ WithMessage_and_WithErrorCode_should_override_error_message_and_error_code -✔️ WithMessage_should_override_error_message -✔️ WithName_should_override_field_name -✔️ WithName_should_override_field_name_with_value_from_other_property -``` -### ✔️ FluentValidation.Tests.AccessorCacheTests -``` -✖️ Benchmark -✔️ Equality_comparison_check -✔️ Gets_accessor -✔️ Gets_member_for_nested_property -✔️ Identifies_if_memberexp_acts_on_model_instance -``` -### ✔️ FluentValidation.Tests.AssemblyScannerTester -``` -✔️ Finds_validators_for_types -✔️ ForEach_iterates_over_types -``` -### ✔️ FluentValidation.Tests.CascadingFailuresTester -``` -✔️ Cascade_mode_can_be_set_after_validator_instantiated -✔️ Cascade_mode_can_be_set_after_validator_instantiated_async -✔️ Cascade_mode_can_be_set_after_validator_instantiated_async_legacy -✔️ Cascade_mode_can_be_set_after_validator_instantiated_legacy -✔️ Validation_continues_on_failure -✔️ Validation_continues_on_failure_async -✔️ Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level -✔️ Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level_async -✔️ Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level_async_legacy -✔️ Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level_legacy -✔️ Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level -✔️ Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level_async -✔️ Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level_async_legacy -✔️ Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level_legacy -✔️ Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop -✔️ Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop_async -✔️ Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop_async_legacy -✔️ Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop_legacy -✔️ Validation_continues_when_set_to_Continue_at_validator_level -✔️ Validation_continues_when_set_to_Continue_at_validator_level_async -✔️ Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level -✔️ Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level_async -✔️ Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level_async_legacy -✔️ Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level_legacy -✔️ Validation_stops_on_first_failure -✔️ Validation_stops_on_first_failure_async -✔️ Validation_stops_on_first_failure_async_legacy -✔️ Validation_stops_on_first_failure_legacy -✔️ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level -✔️ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_and_async_validator_is_invoked_synchronously -✔️ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_and_async_validator_is_invoked_synchronously_legacy -✔️ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_async -✔️ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_async_legacy -✔️ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_legacy -✔️ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level -✔️ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_async -✔️ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_async_legacy -✔️ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_legacy -``` -### ✔️ FluentValidation.Tests.ChainedValidationTester -``` -✔️ Can_validate_using_validator_for_base_type -✔️ Chained_property_should_be_excluded -✔️ Chained_validator_descriptor -✔️ Chained_validator_should_not_be_invoked_on_null_property -✔️ Condition_should_work_with_chained_property -✔️ Explicitly_included_properties_should_be_propagated_to_nested_validators -✔️ Explicitly_included_properties_should_be_propagated_to_nested_validators_using_strings -✔️ Separate_validation_on_chained_property -✔️ Separate_validation_on_chained_property_conditional -✔️ Separate_validation_on_chained_property_valid -✔️ Should_allow_normal_rules_and_chained_property_on_same_property -✔️ Uses_explicit_ruleset -✔️ Validates_chained_property -``` -### ✔️ FluentValidation.Tests.ChainingValidatorsTester -``` -✔️ Options_should_only_apply_to_current_validator -✔️ Should_create_multiple_validators -✔️ Should_execute_multiple_validators -``` -### ✔️ FluentValidation.Tests.ChildRulesTests -``` -✔️ Can_define_nested_rules_for_collection -✔️ ChildRules_works_with_RuleSet -``` -### ✔️ FluentValidation.Tests.CollectionValidatorWithParentTests -``` -✔️ Async_condition_should_work_with_child_collection -✔️ Can_specify_condition_for_individual_collection_elements -✔️ Can_validate_collection_using_validator_for_base_type -✔️ Collection_should_be_excluded -✔️ Collection_should_be_explicitly_included_with_expression -✔️ Collection_should_be_explicitly_included_with_string -✔️ Condition_should_work_with_child_collection -✔️ Creates_validator_using_context_from_property_value -✔️ Should_override_property_name -✔️ Should_work_with_top_level_collection_validator -✔️ Should_work_with_top_level_collection_validator_and_overriden_name -✔️ Skips_null_items -✔️ Validates_collection -✔️ Validates_collection_asynchronously -✔️ Validates_collection_several_levels_deep -✔️ Validates_collection_several_levels_deep_async -``` -### ✔️ FluentValidation.Tests.ComplexValidationTester -``` -✔️ Async_condition_should_work_with_complex_property -✔️ Async_condition_should_work_with_complex_property_when_validator_invoked_synchronously -✔️ Can_directly_validate_multiple_fields_of_same_type -✔️ Can_validate_using_validator_for_base_type -✔️ Complex_property_should_be_excluded -✔️ Complex_validator_should_not_be_invoked_on_null_property -✔️ Condition_should_work_with_complex_property -✔️ Condition_should_work_with_complex_property_when_invoked_async -✔️ Explicitly_included_properties_should_be_propagated_to_nested_validators -✔️ Explicitly_included_properties_should_be_propagated_to_nested_validators_using_strings -✔️ Multiple_rules_in_chain_with_childvalidator_shouldnt_reuse_accessor -✔️ Multiple_rules_in_chain_with_childvalidator_shouldnt_reuse_accessor_async -✔️ Should_allow_normal_rules_and_complex_property_on_same_property -✔️ Should_override_propertyName -✔️ Validates_child_validator_asynchronously -✔️ Validates_child_validator_synchronously -✔️ Validates_complex_property -``` -### ✔️ FluentValidation.Tests.ConditionTests -``` -✔️ Async_condition_executed_synchronosuly_with_asynchronous_collection_rule -✔️ Async_condition_executed_synchronosuly_with_asynchronous_rule -✔️ Async_condition_executed_synchronosuly_with_synchronous_collection_role -✔️ Async_condition_executed_synchronosuly_with_synchronous_role -✔️ Async_condition_is_applied_to_all_validators_in_the_chain -✔️ Async_condition_is_applied_to_all_validators_in_the_chain_when_executed_synchronously -✔️ Async_condition_is_applied_to_single_validator_in_the_chain_when_ApplyConditionTo_set_to_CurrentValidator -✔️ Condition_is_applied_to_all_validators_in_the_chain -✔️ Condition_is_applied_to_single_validator_in_the_chain_when_ApplyConditionTo_set_to_CurrentValidator -✔️ Sync_condition_is_applied_to_async_validators -✔️ Validation_should_fail_when_async_condition_does_not_match -✔️ Validation_should_fail_when_async_condition_matches -✔️ Validation_should_fail_when_condition_does_not_match -✔️ Validation_should_fail_when_condition_matches -✔️ Validation_should_succeed_when_async_condition_does_not_match -✔️ Validation_should_succeed_when_async_condition_matches -✔️ Validation_should_succeed_when_condition_does_not_match -✔️ Validation_should_succeed_when_condition_matches -``` -### ✔️ FluentValidation.Tests.CreditCardValidatorTests -``` -✔️ IsValidTests -✔️ When_validation_fails_the_default_error_should_be_set -``` -### ✔️ FluentValidation.Tests.CustomFailureActionTester -``` -✔️ Does_not_invoke_action_if_validation_success -✔️ Invokes_custom_action_on_failure -✔️ Passes_object_being_validated_to_action -``` -### ✔️ FluentValidation.Tests.CustomMessageFormatTester -``` -✔️ Replaces_propertyvalue_placeholder -✔️ Replaces_propertyvalue_with_empty_string_when_null -✔️ Should_format_custom_message -✔️ Uses_custom_delegate_for_building_message -✔️ Uses_custom_delegate_for_building_message_only_for_specific_validator -✔️ Uses_property_value_in_message -``` -### ✔️ FluentValidation.Tests.CustomValidatorTester -``` -✔️ New_Custom_Returns_single_failure -✔️ New_Custom_Returns_single_failure_async -✔️ New_custom_uses_empty_property_name_for_model_level_rule -✔️ New_Custom_When_property_name_omitted_infers_property_name -✔️ New_Custom_When_property_name_omitted_infers_property_name_nested -✔️ New_Custom_within_ruleset -✔️ New_CustomAsync_within_ruleset -✔️ Perserves_property_chain_using_custom -✔️ Runs_async_rule_synchronously_when_validator_invoked_synchronously -✔️ Runs_sync_rule_asynchronously_when_validator_invoked_asynchronously -``` -### ✔️ FluentValidation.Tests.DefaultValidatorExtensionTester -``` -✔️ Empty_should_create_EmptyValidator -✔️ Equal_should_create_EqualValidator_with_explicit_value -✔️ Equal_should_create_EqualValidator_with_lambda -✔️ GreaterThan_should_create_GreaterThanValidator_with_explicit_value -✔️ GreaterThan_should_create_GreaterThanValidator_with_lambda -✔️ GreaterThanOrEqual_should_create_GreaterThanOrEqualValidator_with_explicit_value -✔️ GreaterThanOrEqual_should_create_GreaterThanOrEqualValidator_with_lambda -✔️ GreaterThanOrEqual_should_create_GreaterThanOrEqualValidator_with_lambda_with_other_Nullable -✔️ Length_should_create_ExactLengthValidator -✔️ Length_should_create_LengthValidator -✔️ Length_should_create_MaximumLengthValidator -✔️ Length_should_create_MinimumLengthValidator -✔️ LessThan_should_create_LessThanValidator_with_explicit_value -✔️ LessThan_should_create_LessThanValidator_with_lambda -✔️ LessThanOrEqual_should_create_LessThanOrEqualValidator_with_explicit_value -✔️ LessThanOrEqual_should_create_LessThanOrEqualValidator_with_lambda -✔️ LessThanOrEqual_should_create_LessThanOrEqualValidator_with_lambda_with_other_Nullable -✔️ Must_should_create_PredicateValidator_with_context -✔️ Must_should_create_PredicateValidator_with_PropertyValidatorContext -✔️ Must_should_create_PredicteValidator -✔️ MustAsync_should_create_AsyncPredicateValidator_with_context -✔️ MustAsync_should_create_AsyncPredicateValidator_with_PropertyValidatorContext -✔️ MustAsync_should_create_AsyncPredicteValidator -✔️ MustAsync_should_not_throw_InvalidCastException -✔️ NotEmpty_should_create_NotEmptyValidator -✔️ NotEqual_should_create_NotEqualValidator_with_explicit_value -✔️ NotEqual_should_create_NotEqualValidator_with_lambda -✔️ NotNull_should_create_NotNullValidator -✔️ ScalePrecision_should_create_ScalePrecisionValidator -✔️ ScalePrecision_should_create_ScalePrecisionValidator_with_ignore_trailing_zeros -``` -### ✔️ FluentValidation.Tests.EmailValidatorTests -``` -✔️ Fails_email_validation_aspnetcore_compatible(email: " \r \t \n") -✔️ Fails_email_validation_aspnetcore_compatible(email: "") -✔️ Fails_email_validation_aspnetcore_compatible(email: "@someDomain.com") -✔️ Fails_email_validation_aspnetcore_compatible(email: "@someDomain@abc.com") -✔️ Fails_email_validation_aspnetcore_compatible(email: "0") -✔️ Fails_email_validation_aspnetcore_compatible(email: "someName") -✔️ Fails_email_validation_aspnetcore_compatible(email: "someName@") -✔️ Fails_email_validation_aspnetcore_compatible(email: "someName@a@b.com") -✔️ Invalid_email_addressex_regex(email: "") -✔️ Invalid_email_addressex_regex(email: "first.last@test..co.uk") -✔️ Invalid_email_addressex_regex(email: "testperso") -✔️ Invalid_email_addressex_regex(email: "thisisaverylongstringcodeplex.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: " @someDomain.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: "!#$%&'*+-/=?^_`|~@someDomain.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: "\"firstName.lastName\"@someDomain.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: "1234@someDomain.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: "firstName.lastName@someDomain.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: "someName@1234.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: "someName@some_domain.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: "someName@some~domain.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: "someName@someDomain.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: "someName@someDomain￯.com") -✔️ Valid_email_addresses_aspnetcore_compatible(email: null) -✔️ Valid_email_addresses_regex(email: "__somename@example.com") -✔️ Valid_email_addresses_regex(email: "!def!xyz%abc@example.com") -✔️ Valid_email_addresses_regex(email: "\"Abc@def\"@example.com") -✔️ Valid_email_addresses_regex(email: "\"Abc\\@def\"@example.com") -✔️ Valid_email_addresses_regex(email: "\"Fred Bloggs\"@example.com") -✔️ Valid_email_addresses_regex(email: "\"Joe\\Blow\"@example.com") -✔️ Valid_email_addresses_regex(email: "$A12345@example.com") -✔️ Valid_email_addresses_regex(email: "customer/department=shipping@example.com") -✔️ Valid_email_addresses_regex(email: "first.last@test.co.uk") -✔️ Valid_email_addresses_regex(email: "testperson@gmail.com") -✔️ Valid_email_addresses_regex(email: "TestPerson@gmail.com") -✔️ Valid_email_addresses_regex(email: "testperson+label@gmail.com") -✔️ Valid_email_addresses_regex(email: null) -``` -### ✔️ FluentValidation.Tests.EmptyTester -``` -✔️ Passes_for_ienumerable_that_doesnt_implement_ICollection -✔️ Passes_when_collection_empty -✔️ When_there_is_a_value_then_the_validator_should_fail -✔️ When_validation_fails_error_should_be_set -✔️ When_value_is_Default_for_type_validator_should_pass_datetime -✔️ When_value_is_Default_for_type_validator_should_pass_int -✔️ When_value_is_empty_string_validator_should_pass -✔️ When_value_is_null_validator_should_pass -✔️ When_value_is_whitespace_validation_should_pass -``` -### ✔️ FluentValidation.Tests.EnumValidatorTests -``` -✔️ Flags_enum_invalid_when_using_outofrange_negative_value -✔️ Flags_enum_invalid_when_using_outofrange_positive_value -✔️ Flags_enum_valid_when_using_bitwise_value -✔️ Flags_enum_validates_correctly_when_using_zero_value -✔️ Flags_enum_with_overlapping_flags_valid_when_using_bitwise_value -✔️ IsValidTests -✔️ Nullable_enum_invalid_when_bad_value_specified -✔️ Nullable_enum_valid_when_property_value_is_null -✔️ Nullable_enum_valid_when_value_specified -✔️ When_the_enum_is_initialized_with_invalid_value_then_the_validator_should_fail -✔️ When_the_enum_is_not_initialized_with_valid_value_then_the_validator_should_fail -✔️ When_validation_fails_the_default_error_should_be_set -``` -### ✔️ FluentValidation.Tests.EqualValidatorTests -``` -✔️ Comparison_property_uses_custom_resolver -✔️ Should_store_comparison_type -✔️ Should_store_property_to_compare -✔️ Should_succeed_on_case_insensitive_comparison -✔️ Should_succeed_on_case_insensitive_comparison_using_expression -✔️ Should_use_ordinal_comparison_by_default -✔️ Validates_against_property -✔️ When_the_objects_are_equal_validation_should_succeed -✔️ When_the_objects_are_not_equal_validation_should_fail -✔️ When_validation_fails_the_error_should_be_set -``` -### ✔️ FluentValidation.Tests.ExactLengthValidatorTester -``` -✔️ Min_and_max_properties_should_be_set -✔️ When_exact_length_rule_failes_error_should_have_exact_length_error_errorcode -✔️ When_the_text_is_an_exact_length_the_validator_should_pass -✔️ When_the_text_length_is_larger_the_validator_should_fail -✔️ When_the_text_length_is_smaller_the_validator_should_fail -✔️ When_the_validator_fails_the_error_message_should_be_set -``` -### ✔️ FluentValidation.Tests.ExclusiveBetweenValidatorTests -``` -✔️ To_and_from_properties_should_be_set -✔️ To_and_from_properties_should_be_set_for_dates -✔️ To_and_from_properties_should_be_set_for_strings -✔️ Validates_with_nullable_when_property_is_null -✔️ Validates_with_nullable_when_property_not_null -✔️ When_the_text_is_larger_than_the_range_then_the_validator_should_fail -✔️ When_the_text_is_larger_than_the_range_then_the_validator_should_fail_for_strings -✔️ When_the_to_is_smaller_than_the_from_then_the_validator_should_throw -✔️ When_the_to_is_smaller_than_the_from_then_the_validator_should_throw_for_strings -✔️ When_the_validator_fails_the_error_message_should_be_set -✔️ When_the_validator_fails_the_error_message_should_be_set_for_strings -✔️ When_the_value_is_between_the_range_specified_then_the_validator_should_pass -✔️ When_the_value_is_between_the_range_specified_then_the_validator_should_pass_for_strings -✔️ When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_fail -✔️ When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_fail_for_strings -✔️ When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_fail -✔️ When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_fail_for_strings -✔️ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail -✔️ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings -``` -### ✔️ FluentValidation.Tests.ExtensionTester -``` -✔️ Should_extract_member_from_member_expression -✔️ Should_return_null_for_non_member_expressions -✔️ Should_split_pascal_cased_member_name -✔️ SplitPascalCase_should_return_null_when_input_is_null -``` -### ✔️ FluentValidation.Tests.ForEachRuleTests -``` -✔️ Async_condition_should_work_with_child_collection -✔️ Can_access_colletion_index -✔️ Can_access_colletion_index_async -✔️ Can_access_parent_index -✔️ Can_access_parent_index_async -✔️ Can_specify_condition_for_individual_collection_elements -✔️ Can_use_cascade_with_RuleForEach -✔️ Can_validate_collection_using_validator_for_base_type -✔️ Collection_should_be_excluded -✔️ Collection_should_be_explicitly_included_with_expression -✔️ Collection_should_be_explicitly_included_with_string -✔️ Condition_should_work_with_child_collection -✔️ Correctly_gets_collection_indices -✔️ Correctly_gets_collection_indices_async -✔️ Executes_rule_for_each_item_in_collection -✔️ Executes_rule_for_each_item_in_collection_async -✔️ Nested_collection_for_null_property_should_not_throw_null_reference -✔️ Nested_conditions_Rule_For -✔️ Nested_conditions_Rule_For_Each -✔️ Overrides_indexer -✔️ Overrides_indexer_async -✔️ Regular_rules_can_drop_into_RuleForEach -✔️ RuleForEach_async_RunsTasksSynchronously -✔️ Should_not_scramble_property_name_when_using_collection_validators_several_levels_deep -✔️ Should_not_scramble_property_name_when_using_collection_validators_several_levels_deep_with_ValidateAsync -✔️ Should_override_property_name -✔️ Skips_null_items -✔️ Top_level_collection -✔️ Uses_useful_error_message_when_used_on_non_property -✔️ Validates_child_validator_asynchronously -✔️ Validates_child_validator_synchronously -✔️ Validates_collection -✔️ When_runs_outside_RuleForEach_loop -✔️ When_runs_outside_RuleForEach_loop_async -``` -### ✔️ FluentValidation.Tests.GreaterThanOrEqualToValidatorTester -``` -✔️ Comparison_property_uses_custom_resolver -✔️ Comparison_type -✔️ Should_fail_when_less_than_input -✔️ Should_localize_value -✔️ Should_set_default_error_when_validation_fails -✔️ Should_succeed_when_equal_to_input -✔️ Should_succeed_when_greater_than_input -✔️ Validates_nullable_with_nullable_property -✔️ Validates_with_nullable_property -✔️ Validates_with_nullable_when_property_is_null -✔️ Validates_with_nullable_when_property_is_null_cross_property -✔️ Validates_with_nullable_when_property_not_null -✔️ Validates_with_nullable_when_property_not_null_cross_property -✔️ Validates_with_property -``` -### ✔️ FluentValidation.Tests.GreaterThanValidatorTester -``` -✔️ Comparison_property_uses_custom_resolver -✔️ Comparison_Type -✔️ Should_fail_when_equal_to_input -✔️ Should_fail_when_less_than_input -✔️ Should_set_default_error_when_validation_fails -✔️ Should_succeed_when_greater_than_input -✔️ Validates_nullable_with_nullable_property -✔️ Validates_with_nullable_property -✔️ Validates_with_nullable_when_property_is_null -✔️ Validates_with_nullable_when_property_is_null_cross_property -✔️ Validates_with_nullable_when_property_not_null -✔️ Validates_with_nullable_when_property_not_null_cross_property -✔️ Validates_with_property -``` -### ✔️ FluentValidation.Tests.InclusiveBetweenValidatorTests -``` -✔️ To_and_from_properties_should_be_set -✔️ To_and_from_properties_should_be_set_for_strings -✔️ Validates_with_nullable_when_property_is_null -✔️ Validates_with_nullable_when_property_not_null -✔️ When_the_text_is_larger_than_the_range_then_the_validator_should_fail -✔️ When_the_text_is_larger_than_the_range_then_the_validator_should_fail_for_strings -✔️ When_the_to_is_smaller_than_the_from_then_the_validator_should_throw -✔️ When_the_to_is_smaller_than_the_from_then_the_validator_should_throw_for_strings -✔️ When_the_validator_fails_the_error_message_should_be_set -✔️ When_the_validator_fails_the_error_message_should_be_set_for_strings -✔️ When_the_value_is_between_the_range_specified_then_the_validator_should_pass -✔️ When_the_value_is_between_the_range_specified_then_the_validator_should_pass_for_strings -✔️ When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_pass -✔️ When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_pass_for_strings -✔️ When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_pass -✔️ When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_pass_for_strings -✔️ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail -✔️ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings -``` -### ✔️ FluentValidation.Tests.InheritanceValidatorTest -``` -✔️ Can_use_custom_subclass_with_nongeneric_overload -✔️ Validates_collection -✔️ Validates_collection_async -✔️ Validates_inheritance_async -✔️ Validates_inheritance_hierarchy -✔️ Validates_ruleset -✔️ Validates_ruleset_async -✔️ Validates_with_callback -✔️ Validates_with_callback_accepting_derived -✔️ Validates_with_callback_accepting_derived_async -✔️ Validates_with_callback_async -``` -### ✔️ FluentValidation.Tests.InlineValidatorTester -``` -✔️ Uses_inline_validator_to_build_rules -``` -### ✔️ FluentValidation.Tests.LanguageManagerTests -``` -✔️ All_languages_should_be_loaded -✔️ All_localizations_have_same_parameters_as_English -✔️ Always_use_specific_language -✔️ Always_use_specific_language_with_string_source -✔️ Can_replace_message -✔️ Can_replace_message_without_overriding_all_languages -✔️ Disables_localization -✔️ Falls_back_to_default_localization_key_when_error_code_key_not_found -✔️ Falls_back_to_english_when_culture_not_registered -✔️ Falls_back_to_english_when_translation_missing -✔️ Falls_back_to_parent_culture -✔️ Gets_translation_for_bosnian_latin_culture(cultureName: "bs-Latn-BA") -✔️ Gets_translation_for_bosnian_latin_culture(cultureName: "bs-Latn") -✔️ Gets_translation_for_bosnian_latin_culture(cultureName: "bs") -✔️ Gets_translation_for_croatian_culture -✔️ Gets_translation_for_culture -✔️ Gets_translation_for_serbian_culture(cultureName: "sr-Latn-RS") -✔️ Gets_translation_for_serbian_culture(cultureName: "sr-Latn") -✔️ Gets_translation_for_serbian_culture(cultureName: "sr") -✔️ Gets_translation_for_specific_culture -✔️ Uses_error_code_as_localization_key -``` -### ✔️ FluentValidation.Tests.LengthValidatorTests -``` -✔️ Min_and_max_properties_should_be_set -✔️ When_input_is_null_then_the_validator_should_pass -✔️ When_the_max_is_smaller_than_the_min_then_the_validator_should_throw -✔️ When_the_maxlength_validator_fails_the_error_message_should_be_set -✔️ When_the_minlength_validator_fails_the_error_message_should_be_set -✔️ When_the_text_is_between_the_lambda_range_specified_then_the_validator_should_pass -✔️ When_the_text_is_between_the_range_specified_then_the_validator_should_pass -✔️ When_the_text_is_exactly_the_size_of_the_lambda_lower_bound_then_the_validator_should_pass -✔️ When_the_text_is_exactly_the_size_of_the_lambda_upper_bound_then_the_validator_should_pass -✔️ When_the_text_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_pass -✔️ When_the_text_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_pass -✔️ When_the_text_is_larger_than_the_lambda_range_then_the_validator_should_fail -✔️ When_the_text_is_larger_than_the_range_then_the_validator_should_fail -✔️ When_the_text_is_smaller_than_the_lambda_range_then_the_validator_should_fail -✔️ When_the_text_is_smaller_than_the_range_then_the_validator_should_fail -✔️ When_the_validator_fails_the_error_message_should_be_set -``` -### ✔️ FluentValidation.Tests.LessThanOrEqualToValidatorTester -``` -✔️ Comparison_property_uses_custom_resolver -✔️ Comparison_type -✔️ Should_fail_when_greater_than_input -✔️ Should_set_default_error_when_validation_fails -✔️ Should_succeed_when_equal_to_input -✔️ Should_succeed_when_less_than_input -✔️ Validates_nullable_with_nullable_property -✔️ Validates_with_nullable_property -✔️ Validates_with_nullable_when_property_is_null -✔️ Validates_with_nullable_when_property_is_null_cross_property -✔️ Validates_with_nullable_when_property_not_null -✔️ Validates_with_nullable_when_property_not_null_cross_property -✔️ Validates_with_property -``` -### ✔️ FluentValidation.Tests.LessThanValidatorTester -``` -✔️ Comparison_property_uses_custom_resolver -✔️ Comparison_type -✔️ Extracts_property_from_constant_using_expression -✔️ Extracts_property_from_expression -✔️ Should_fail_when_equal_to_input -✔️ Should_fail_when_greater_than_input -✔️ Should_set_default_validation_message_when_validation_fails -✔️ Should_succeed_when_less_than_input -✔️ Should_throw_when_value_to_compare_is_null -✔️ Validates_against_property -✔️ Validates_nullable_with_nullable_property -✔️ Validates_with_nullable_property -✔️ Validates_with_nullable_when_property_is_null -✔️ Validates_with_nullable_when_property_not_null -✔️ Validates_with_nullable_when_property_not_null_cross_property -✔️ Validates_with_nullable_when_property_null_cross_property -``` -### ✔️ FluentValidation.Tests.LocalisedMessagesTester -``` -✔️ Correctly_assigns_default_localized_error_message -✔️ Does_not_throw_InvalidCastException_when_using_RuleForEach -✔️ Formats_string_with_placeholders -✔️ Formats_string_with_placeholders_when_you_cant_edit_the_string -✔️ Uses_func_to_get_message -✔️ Uses_string_format_with_property_value -``` -### ✔️ FluentValidation.Tests.LocalisedNameTester -``` -✔️ Uses_localized_name -✔️ Uses_localized_name_expression -``` -### ✔️ FluentValidation.Tests.MemberAccessorTests -``` -✔️ ComplexPropertyGet -✔️ ComplexPropertySet -✔️ Equality -✔️ ImplicitCast -✔️ Name -✔️ SimpleFieldGet -✔️ SimpleFieldSet -✔️ SimplePropertyGet -✔️ SimplePropertySet -``` -### ✔️ FluentValidation.Tests.MessageFormatterTests -``` -✔️ Adds_argument_and_custom_arguments -✔️ Adds_formatted_argument_and_custom_arguments -✔️ Adds_formatted_argument_and_formatted_custom_arguments -✔️ Adds_PropertyName_to_message -✔️ Adds_value_to_message -✔️ Format_property_value -✔️ Should_ignore_unknown_numbered_parameters -✔️ Should_ignore_unknown_parameters -✔️ Understands_date_formats -✔️ Understands_numeric_formats -``` -### ✔️ FluentValidation.Tests.ModelLevelValidatorTests -``` -✔️ Can_use_child_validator_at_model_level -✔️ Validates_at_model_level -``` -### ✔️ FluentValidation.Tests.NameResolutionPluggabilityTester -``` -✔️ Resolves_nested_properties -✔️ ShouldHaveValidationError_Should_support_custom_propertynameresolver -✔️ Uses_custom_property_name -``` -### ✔️ FluentValidation.Tests.NotEmptyTester -``` -✔️ Fails_for_array -✔️ Fails_for_ienumerable_that_doesnt_implement_ICollection -✔️ Fails_when_collection_empty -✔️ When_there_is_a_value_then_the_validator_should_pass -✔️ When_validation_fails_error_should_be_set -✔️ When_value_is_Default_for_type_validator_should_fail_datetime -✔️ When_value_is_Default_for_type_validator_should_fail_int -✔️ When_value_is_empty_string_validator_should_fail -✔️ When_value_is_null_validator_should_fail -✔️ When_value_is_whitespace_validation_should_fail -``` -### ✔️ FluentValidation.Tests.NotEqualValidatorTests -``` -✔️ Comparison_property_uses_custom_resolver -✔️ Should_handle_custom_value_types_correctly -✔️ Should_not_be_valid_for_case_insensitve_comparison -✔️ Should_not_be_valid_for_case_insensitve_comparison_with_expression -✔️ Should_store_comparison_type -✔️ Should_store_property_to_compare -✔️ Should_use_ordinal_comparison_by_default -✔️ Validates_across_properties -✔️ When_the_objects_are_equal_then_the_validator_should_fail -✔️ When_the_objects_are_not_equal_then_the_validator_should_pass -✔️ When_the_validator_fails_the_error_message_should_be_set -``` -### ✔️ FluentValidation.Tests.NotNullTester -``` -✔️ Fails_when_nullable_value_type_is_null -✔️ Not_null_validator_should_not_crash_with_non_nullable_value_type -✔️ NotNullValidator_should_fail_if_value_is_null -✔️ NotNullValidator_should_pass_if_value_has_value -✔️ When_the_validator_fails_the_error_message_should_be_set -``` -### ✔️ FluentValidation.Tests.NullTester -``` -✔️ Not_null_validator_should_not_crash_with_non_nullable_value_type -✔️ NullValidator_should_fail_if_value_has_value -✔️ NullValidator_should_pass_if_value_is_null -✔️ Passes_when_nullable_value_type_is_null -✔️ When_the_validator_passes_the_error_message_should_be_set -``` -### ✔️ FluentValidation.Tests.OnFailureTests -``` -✔️ OnFailure_called_for_each_failed_rule -✔️ OnFailure_called_for_each_failed_rule_asyncAsync -✔️ Should_be_able_to_access_error_message_in_OnFailure -✔️ ShouldHaveChildValidator_should_be_true -✔️ ShouldHaveChildValidator_works_with_Include -✔️ WhenAsyncWithOnFailure_should_invoke_condition_on_async_inner_validator -✔️ WhenAsyncWithOnFailure_should_invoke_condition_on_inner_validator -✔️ WhenAsyncWithOnFailure_should_invoke_condition_on_inner_validator_invoked_synchronously -✔️ WhenWithOnFailure_should_invoke_condition_on_async_inner_validator -✔️ WhenWithOnFailure_should_invoke_condition_on_inner_validator -``` -### ✔️ FluentValidation.Tests.PredicateValidatorTester -``` -✔️ Should_fail_when_predicate_returns_false -✔️ Should_succeed_when_predicate_returns_true -✔️ Should_throw_when_predicate_is_null -✔️ When_validation_fails_metadata_should_be_set_on_failure -✔️ When_validation_fails_the_default_error_should_be_set -``` -### ✔️ FluentValidation.Tests.PropertyChainTests -``` -✔️ AddIndexer_throws_when_nothing_added -✔️ Calling_ToString_should_construct_string_representation_of_chain -✔️ Calling_ToString_should_construct_string_representation_of_chain_with_indexers -✔️ Creates_from_expression -✔️ Should_be_subchain -✔️ Should_ignore_blanks -✔️ Should_not_be_subchain -``` -### ✔️ FluentValidation.Tests.RegularExpressionValidatorTests -``` -✔️ Can_access_expression_in_message -✔️ Can_access_expression_in_message_lambda -✔️ Can_access_expression_in_message_lambda_regex -✔️ Uses_lazily_loaded_expression -✔️ Uses_lazily_loaded_expression_with_options -✔️ Uses_regex_object -✔️ When_the_text_does_not_match_the_lambda_regex_regular_expression_then_the_validator_should_fail -✔️ When_the_text_does_not_match_the_lambda_regular_expression_then_the_validator_should_fail -✔️ When_the_text_does_not_match_the_regular_expression_then_the_validator_should_fail -✔️ When_the_text_is_empty_then_the_validator_should_fail -✔️ When_the_text_is_null_then_the_validator_should_pass -✔️ When_the_text_matches_the_lambda_regex_regular_expression_then_the_validator_should_pass -✔️ When_the_text_matches_the_lambda_regular_expression_then_the_validator_should_pass -✔️ When_the_text_matches_the_regular_expression_then_the_validator_should_pass -✔️ When_validation_fails_the_default_error_should_be_set -``` -### ✔️ FluentValidation.Tests.RuleBuilderTests -``` -✔️ Adding_a_validator_should_return_builder -✔️ Adding_a_validator_should_store_validator -✔️ Calling_validate_should_delegate_to_underlying_validator -✔️ Calling_ValidateAsync_should_delegate_to_underlying_async_validator -✔️ Calling_ValidateAsync_should_delegate_to_underlying_sync_validator -✔️ Conditional_child_validator_should_register_with_validator_type_not_property -✔️ Nullable_object_with_async_condition_should_not_throw -✔️ Nullable_object_with_condition_should_not_throw -✔️ Property_should_return_null_when_it_is_not_a_property_being_validated -✔️ Property_should_return_property_being_validated -✔️ PropertyDescription_should_return_custom_property_name -✔️ PropertyDescription_should_return_property_name_split -✔️ Result_should_use_custom_property_name_when_no_property_name_can_be_determined -✔️ Rule_for_a_non_memberexpression_should_not_generate_property_name -✔️ Should_build_property_name -✔️ Should_compile_expression -✔️ Should_set_custom_error -✔️ Should_set_custom_property_name -✔️ Should_throw_if_message_is_null -✔️ Should_throw_if_overriding_validator_is_null -✔️ Should_throw_if_overriding_validator_provider_is_null -✔️ Should_throw_if_property_name_is_null -✔️ Should_throw_if_validator_is_null -✔️ Should_throw_when_async_inverse_predicate_is_null -✔️ Should_throw_when_async_predicate_is_null -✔️ Should_throw_when_context_predicate_is_null -✔️ Should_throw_when_inverse_context_predicate_is_null -✔️ Should_throw_when_inverse_predicate_is_null -✔️ Should_throw_when_predicate_is_null -``` -### ✔️ FluentValidation.Tests.RuleDependencyTests -``` -✔️ Async_inside_dependent_rules -✔️ Async_inside_dependent_rules_when_parent_rule_not_async -✔️ Dependent_rules_inside_ruleset -✔️ Dependent_rules_inside_when -✔️ Does_not_invoke_dependent_rule_if_parent_rule_does_not_pass -✔️ Invokes_dependent_rule_if_parent_rule_passes -✔️ Nested_dependent_rules -✔️ Nested_dependent_rules_inside_ruleset -✔️ Nested_dependent_rules_inside_ruleset_inside_method -✔️ Nested_dependent_rules_inside_ruleset_no_result_when_second_level_fails -✔️ Nested_dependent_rules_inside_ruleset_no_result_when_top_level_fails -✔️ TestAsyncWithDependentRules_AsyncEntry -✔️ TestAsyncWithDependentRules_SyncEntry -✔️ Treats_root_level_RuleFor_call_as_dependent_rule_if_user_forgets_to_use_DependentRulesBuilder -``` -### ✔️ FluentValidation.Tests.RulesetTests -``` -✔️ Applies_multiple_rulesets_to_rule -✔️ Combines_rulesets_and_explicit_properties -✔️ Combines_rulesets_and_explicit_properties_async -✔️ Executes_all_rules -✔️ Executes_in_rule_in_default_and_none -✔️ Executes_in_rule_in_ruleset_and_default -✔️ Executes_multiple_rulesets -✔️ Executes_rules_in_default_ruleset_and_specific_ruleset -✔️ Executes_rules_in_specified_ruleset -✔️ Executes_rules_not_specified_in_ruleset -✔️ Includes_all_rulesets -✔️ Includes_all_rulesets_async -✔️ Includes_combination_of_rulesets -✔️ Includes_combination_of_rulesets_async -✔️ Ruleset_cascades_to_child_collection_validator -✔️ Ruleset_cascades_to_child_validator -✔️ Ruleset_selection_should_cascade_downwards_with_when_setting_child_validator_using_include_statement -✔️ Ruleset_selection_should_cascade_downwards_with_when_setting_child_validator_using_include_statement_with_lambda -✔️ Ruleset_selection_should_not_cascade_downwards_when_set_on_property -✔️ Trims_spaces -✔️ WithMessage_works_inside_rulesets -``` -### ✔️ FluentValidation.Tests.ScalePrecisionValidatorTests -``` -✔️ Scale_precision_should_be_valid -✔️ Scale_precision_should_be_valid_when_ignoring_trailing_zeroes -✔️ Scale_precision_should_be_valid_when_they_are_equal -✔️ Scale_precision_should_not_be_valid -✔️ Scale_precision_should_not_be_valid_when_ignoring_trailing_zeroes -✔️ Scale_precision_should_not_be_valid_when_they_are_equal -``` -### ✔️ FluentValidation.Tests.SharedConditionTests -``` -✔️ Async_condition_can_be_used_inside_ruleset -✔️ Condition_can_be_used_inside_ruleset -✔️ Does_not_execute_custom_Rule_when_async_condition_false -✔️ Does_not_execute_custom_Rule_when_condition_false -✔️ Does_not_execute_customasync_Rule_when_async_condition_false -✔️ Does_not_execute_customasync_Rule_when_condition_false -✔️ Doesnt_throw_NullReferenceException_when_instance_not_null -✔️ Doesnt_throw_NullReferenceException_when_instance_not_null_async -✔️ Executes_custom_rule_when_async_condition_true -✔️ Executes_custom_rule_when_condition_true -✔️ Executes_customasync_rule_when_async_condition_true -✔️ Executes_customasync_rule_when_condition_true -✔️ Nested_async_conditions_with_Custom_rule -✔️ Nested_async_conditions_with_CustomAsync_rule -✔️ Nested_conditions_with_Custom_rule -✔️ Nested_conditions_with_CustomAsync_rule -✔️ Outer_async_Unless_clause_will_trump_an_inner_Unless_clause_when_inner_fails_but_the_outer_is_satisfied -✔️ Outer_Unless_clause_will_trump_an_inner_Unless_clause_when_inner_fails_but_the_outer_is_satisfied -✔️ Rules_invoke_when_inverse_shared_async_condition_matches -✔️ Rules_invoke_when_inverse_shared_condition_matches -✔️ Rules_not_invoked_when_inverse_shared_async_condition_does_not_match -✔️ Rules_not_invoked_when_inverse_shared_condition_does_not_match -✔️ RuleSet_can_be_used_inside_async_condition -✔️ RuleSet_can_be_used_inside_condition -✔️ Runs_otherwise_conditions_for_UnlessAsync -✔️ Runs_otherwise_conditions_for_When -✔️ Runs_otherwise_conditions_for_WhenAsync -✔️ Runs_otherwise_conditons_for_Unless -✔️ Shared_async_When_is_applied_to_groupd_rules_when_initial_predicate_is_true_and_all_individual_rules_are_satisfied -✔️ Shared_async_When_is_applied_to_grouped_rules_when_initial_predicate_is_true -✔️ Shared_async_When_is_not_applied_to_grouped_rules_when_initial_predicate_is_false -✔️ Shared_async_When_respects_the_smaller_scope_of_a_inner_Unless_when_the_inner_Unless_predicate_fails -✔️ Shared_async_When_respects_the_smaller_scope_of_an_inner_Unless_when_the_inner_Unless_predicate_is_satisfied -✔️ Shared_When_is_applied_to_groupd_rules_when_initial_predicate_is_true_and_all_individual_rules_are_satisfied -✔️ Shared_When_is_applied_to_grouped_rules_when_initial_predicate_is_true -✔️ Shared_When_is_not_applied_to_grouped_rules_when_initial_predicate_is_false -✔️ Shared_When_respects_the_smaller_scope_of_a_inner_Unless_when_the_inner_Unless_predicate_fails -✔️ Shared_When_respects_the_smaller_scope_of_an_inner_Unless_when_the_inner_Unless_predicate_is_satisfied -✔️ When_async_condition_executed_for_each_instance_of_RuleForEach_condition_should_not_be_cached -✔️ When_condition_executed_for_each_instance_of_RuleForEach_condition_should_not_be_cached -✔️ When_condition_only_executed_once -✔️ WhenAsync_condition_only_executed_once -``` -### ✔️ FluentValidation.Tests.StandalonePropertyValidationTester -``` -✔️ Should_validate_property_value_without_instance -``` -### ✔️ FluentValidation.Tests.StringEnumValidatorTests -``` -✔️ IsValidTests_CaseInsensitive_CaseCorrect -✔️ IsValidTests_CaseInsensitive_CaseIncorrect -✔️ IsValidTests_CaseSensitive_CaseCorrect -✔️ IsValidTests_CaseSensitive_CaseIncorrect -✔️ When_enumType_is_not_an_enum_it_should_throw -✔️ When_enumType_is_null_it_should_throw -✔️ When_the_property_is_initialized_with_empty_string_then_the_validator_should_fail -✔️ When_the_property_is_initialized_with_invalid_string_then_the_validator_should_fail -✔️ When_the_property_is_initialized_with_null_then_the_validator_should_be_valid -✔️ When_validation_fails_the_default_error_should_be_set -``` -### ✔️ FluentValidation.Tests.TrackingCollectionTests -``` -✔️ Add_AddsItem -✔️ Should_not_raise_event_once_handler_detached -✔️ When_Item_Added_Raises_ItemAdded -``` -### ✔️ FluentValidation.Tests.TransformTests -``` -✔️ Transforms_collection_element -✔️ Transforms_collection_element_async -✔️ Transforms_property_value -✔️ Transforms_property_value_to_another_type -``` -### ✔️ FluentValidation.Tests.UserSeverityTester -``` -✔️ Can_Provide_conditional_severity -✔️ Can_Provide_severity_for_item_in_collection -✔️ Correctly_provides_object_being_validated -✔️ Defaults_user_severity_to_error -✔️ Should_use_last_supplied_severity -✔️ Stores_user_severity_against_validation_failure -✔️ Throws_when_provider_is_null -``` -### ✔️ FluentValidation.Tests.UserStateTester -``` -✔️ Can_Provide_state_for_item_in_collection -✔️ Correctly_provides_object_being_validated -✔️ Stores_user_state_against_validation_failure -✔️ Throws_when_provider_is_null -``` -### ✔️ FluentValidation.Tests.ValidateAndThrowTester -``` -✔️ Does_not_throw_when_valid -✔️ Does_not_throw_when_valid_and_a_ruleset -✔️ Does_not_throw_when_valid_and_a_ruleset_async -✔️ Does_not_throw_when_valid_async -✔️ Only_root_validator_throws -✔️ Populates_errors -✔️ Serializes_exception -✔️ Throws_exception -✔️ Throws_exception_async -✔️ Throws_exception_with_a_ruleset -✔️ Throws_exception_with_a_ruleset_async -✔️ ToString_provides_error_details -✔️ ValidationException_provides_correct_message_when_appendDefaultMessage_false -✔️ ValidationException_provides_correct_message_when_appendDefaultMessage_true -``` -### ✔️ FluentValidation.Tests.ValidationResultTests -``` -✔️ Can_serialize_failure -✔️ Can_serialize_result -✔️ Should_add_errors -✔️ Should_be_valid_when_there_are_no_errors -✔️ Should_not_be_valid_when_there_are_errors -✔️ ToString_return_empty_string_when_there_is_no_error -✔️ ToString_return_error_messages_with_given_separator -✔️ ToString_return_error_messages_with_newline_as_separator -``` -### ✔️ FluentValidation.Tests.ValidatorDescriptorTester -``` -✔️ Does_not_throw_when_rule_declared_without_property -✔️ Gets_validators_for_property -✔️ GetValidatorsForMember_and_GetRulesForMember_can_both_retrieve_for_model_level_rule -✔️ Returns_empty_collection_for_property_with_no_validators -✔️ Should_retrieve_name_given_to_it_pass_property_as_string -``` -### ✔️ FluentValidation.Tests.ValidatorSelectorTests -``` -✔️ Can_use_property_with_include -✔️ Does_not_validate_other_property -✔️ Does_not_validate_other_property_using_expression -✔️ Executes_correct_rule_when_using_property_with_include -✔️ Executes_correct_rule_when_using_property_with_include_async -✔️ Includes_nested_property -✔️ Includes_nested_property_using_expression -✔️ MemberNameValidatorSelector_returns_true_when_property_name_matches -✔️ Validates_nullable_property_with_overriden_name_when_selected -✔️ Validates_property_using_expression -``` -### ✔️ FluentValidation.Tests.ValidatorTesterTester -``` -✔️ Allows_only_one_failure_to_match -✔️ Can_use_indexer_in_string_message -✔️ Can_use_indexer_in_string_message_inverse -✔️ Expected_error_code_check -✔️ Expected_message_argument_check -✔️ Expected_message_check -✔️ Expected_severity_check -✔️ Expected_state_check -✔️ Matches_any_failure -✔️ Matches_model_level_rule -✔️ Model_level_check_fails_if_no_model_level_failures -✔️ ShouldHaveChildValidator_should_not_throw_when_property_Does_have_child_validator -✔️ ShouldHaveChildValidator_should_not_throw_when_property_Does_have_child_validator_and_expecting_a_basetype -✔️ ShouldHaveChildValidator_should_not_throw_when_property_has_collection_validators -✔️ ShouldHaveChildValidator_should_throw_when_property_has_a_different_child_validator -✔️ ShouldHaveChildValidator_should_work_with_DependentRules -✔️ ShouldHaveChildvalidator_throws_when_collection_property_Does_not_have_child_validator -✔️ ShouldHaveChildValidator_throws_when_property_does_not_have_child_validator -✔️ ShouldHaveChildValidator_works_on_model_level_rules -✔️ ShouldHaveValidationError_async -✔️ ShouldHaveValidationError_async_throws -✔️ ShouldHaveValidationError_model_async -✔️ ShouldHaveValidationError_model_async_throws -✔️ ShouldHaveValidationError_preconstructed_object_does_not_throw_for_unwritable_property -✔️ ShouldHaveValidationError_should_not_throw_when_there_are_errors_with_preconstructed_object -✔️ ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors -✔️ ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: "") -✔️ ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: null) -✔️ ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors_ruleforeach -✔️ ShouldHaveValidationError_Should_support_nested_properties -✔️ ShouldHaveValidationError_Should_throw_when_there_are_no_validation_errors -✔️ ShouldHaveValidationError_should_throw_when_there_are_no_validation_errors_with_preconstructed_object -✔️ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 17, cardNumber: "") -✔️ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 17, cardNumber: "cardNumber") -✔️ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 17, cardNumber: null) -✔️ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 42, cardNumber: "cardNumber") -✔️ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors_ruleforeach -✔️ ShouldHaveValidationError_with_an_unmatched_rule_and_a_single_error_should_throw_an_exception -✔️ ShouldHaveValidationError_with_an_unmatched_rule_and_multiple_errors_should_throw_an_exception -✔️ ShouldHaveValidationErrorFor_takes_account_of_rulesets -✔️ ShouldHaveValidationErrorFor_takes_account_of_rulesets_fluent_approach -✔️ ShouldNotHaveValidationError_async -✔️ ShouldNotHaveValidationError_async_model_throws -✔️ ShouldNotHaveValidationError_async_throws -✔️ ShouldNotHaveValidationError_model_async -✔️ ShouldNotHaveValidationError_should_correctly_handle_explicitly_providing_object_to_validate -✔️ ShouldNotHaveValidationError_should_correctly_handle_explicitly_providing_object_to_validate_and_other_property_fails_validation -✔️ ShouldNotHaveValidationError_should_have_validation_error_details_when_thrown_ruleforeach -✔️ ShouldNotHaveValidationError_should_not_throw_when_there_are_no_errors -✔️ ShouldNotHAveValidationError_should_not_throw_When_there_are_no_errors_with_preconstructed_object -✔️ ShouldNotHaveValidationError_should_not_throw_when_there_are_not_validation_errors_ruleforeach -✔️ ShouldNotHaveValidationError_Should_support_nested_properties -✔️ ShouldNotHaveValidationError_should_throw_when_there_are_errors -✔️ ShouldNotHaveValidationError_should_throw_when_there_are_errors_with_preconstructed_object -✔️ ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 17, cardNumber: "") -✔️ ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 17, cardNumber: "cardNumber") -✔️ ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 17, cardNumber: null) -✔️ ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: "cardNumber") -✔️ ShouldNotHaveValidationError_should_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: "") -✔️ ShouldNotHaveValidationError_should_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: null) -✔️ ShouldNotHaveValidationError_should_throw_when_there_are_validation_errors_ruleforeach -✔️ Tests_nested_property -✔️ Tests_nested_property_reverse -✔️ Tests_nested_property_using_obsolete_method -✔️ TestValidate_runs_async -✔️ TestValidate_runs_async_throws -✔️ Unexpected_error_code_check -✔️ Unexpected_message_check(withoutErrMsg: "bar", errMessages: ["bar"]) -✔️ Unexpected_message_check(withoutErrMsg: "bar", errMessages: ["foo", "bar"]) -✔️ Unexpected_message_check(withoutErrMsg: "bar", errMessages: ["foo"]) -✔️ Unexpected_message_check(withoutErrMsg: "bar", errMessages: []) -✔️ Unexpected_severity_check -✔️ Unexpected_state_check +|[FluentValidation.Tests.AbstractValidatorTester](#r0s0)|35✅|||12ms| +|[FluentValidation.Tests.AccessorCacheTests](#r0s1)|4✅||1⚪|4ms| +|[FluentValidation.Tests.AssemblyScannerTester](#r0s2)|2✅|||2ms| +|[FluentValidation.Tests.CascadingFailuresTester](#r0s3)|38✅|||23ms| +|[FluentValidation.Tests.ChainedValidationTester](#r0s4)|13✅|||6ms| +|[FluentValidation.Tests.ChainingValidatorsTester](#r0s5)|3✅|||1ms| +|[FluentValidation.Tests.ChildRulesTests](#r0s6)|2✅|||7ms| +|[FluentValidation.Tests.CollectionValidatorWithParentTests](#r0s7)|16✅|||13ms| +|[FluentValidation.Tests.ComplexValidationTester](#r0s8)|17✅|||26ms| +|[FluentValidation.Tests.ConditionTests](#r0s9)|18✅|||9ms| +|[FluentValidation.Tests.CreditCardValidatorTests](#r0s10)|2✅|||2ms| +|[FluentValidation.Tests.CustomFailureActionTester](#r0s11)|3✅|||1ms| +|[FluentValidation.Tests.CustomMessageFormatTester](#r0s12)|6✅|||3ms| +|[FluentValidation.Tests.CustomValidatorTester](#r0s13)|10✅|||6ms| +|[FluentValidation.Tests.DefaultValidatorExtensionTester](#r0s14)|30✅|||38ms| +|[FluentValidation.Tests.EmailValidatorTests](#r0s15)|36✅|||18ms| +|[FluentValidation.Tests.EmptyTester](#r0s16)|9✅|||5ms| +|[FluentValidation.Tests.EnumValidatorTests](#r0s17)|12✅|||24ms| +|[FluentValidation.Tests.EqualValidatorTests](#r0s18)|10✅|||3ms| +|[FluentValidation.Tests.ExactLengthValidatorTester](#r0s19)|6✅|||2ms| +|[FluentValidation.Tests.ExclusiveBetweenValidatorTests](#r0s20)|19✅|||6ms| +|[FluentValidation.Tests.ExtensionTester](#r0s21)|4✅|||1ms| +|[FluentValidation.Tests.ForEachRuleTests](#r0s22)|34✅|||47ms| +|[FluentValidation.Tests.GreaterThanOrEqualToValidatorTester](#r0s23)|14✅|||5ms| +|[FluentValidation.Tests.GreaterThanValidatorTester](#r0s24)|13✅|||4ms| +|[FluentValidation.Tests.InclusiveBetweenValidatorTests](#r0s25)|18✅|||4ms| +|[FluentValidation.Tests.InheritanceValidatorTest](#r0s26)|11✅|||18ms| +|[FluentValidation.Tests.InlineValidatorTester](#r0s27)|1✅|||2ms| +|[FluentValidation.Tests.LanguageManagerTests](#r0s28)|21✅|||28ms| +|[FluentValidation.Tests.LengthValidatorTests](#r0s29)|16✅|||17ms| +|[FluentValidation.Tests.LessThanOrEqualToValidatorTester](#r0s30)|13✅|||4ms| +|[FluentValidation.Tests.LessThanValidatorTester](#r0s31)|16✅|||6ms| +|[FluentValidation.Tests.LocalisedMessagesTester](#r0s32)|6✅|||3ms| +|[FluentValidation.Tests.LocalisedNameTester](#r0s33)|2✅|||1ms| +|[FluentValidation.Tests.MemberAccessorTests](#r0s34)|9✅|||5ms| +|[FluentValidation.Tests.MessageFormatterTests](#r0s35)|10✅|||2ms| +|[FluentValidation.Tests.ModelLevelValidatorTests](#r0s36)|2✅|||1ms| +|[FluentValidation.Tests.NameResolutionPluggabilityTester](#r0s37)|3✅|||2ms| +|[FluentValidation.Tests.NotEmptyTester](#r0s38)|10✅|||7ms| +|[FluentValidation.Tests.NotEqualValidatorTests](#r0s39)|11✅|||7ms| +|[FluentValidation.Tests.NotNullTester](#r0s40)|5✅|||1ms| +|[FluentValidation.Tests.NullTester](#r0s41)|5✅|||2ms| +|[FluentValidation.Tests.OnFailureTests](#r0s42)|10✅|||8ms| +|[FluentValidation.Tests.PredicateValidatorTester](#r0s43)|5✅|||2ms| +|[FluentValidation.Tests.PropertyChainTests](#r0s44)|7✅|||1ms| +|[FluentValidation.Tests.RegularExpressionValidatorTests](#r0s45)|15✅|||6ms| +|[FluentValidation.Tests.RuleBuilderTests](#r0s46)|29✅|||96ms| +|[FluentValidation.Tests.RuleDependencyTests](#r0s47)|14✅|||3s| +|[FluentValidation.Tests.RulesetTests](#r0s48)|21✅|||14ms| +|[FluentValidation.Tests.ScalePrecisionValidatorTests](#r0s49)|6✅|||4ms| +|[FluentValidation.Tests.SharedConditionTests](#r0s50)|42✅|||42ms| +|[FluentValidation.Tests.StandalonePropertyValidationTester](#r0s51)|1✅|||0ms| +|[FluentValidation.Tests.StringEnumValidatorTests](#r0s52)|10✅|||5ms| +|[FluentValidation.Tests.TrackingCollectionTests](#r0s53)|3✅|||2ms| +|[FluentValidation.Tests.TransformTests](#r0s54)|4✅|||3ms| +|[FluentValidation.Tests.UserSeverityTester](#r0s55)|7✅|||3ms| +|[FluentValidation.Tests.UserStateTester](#r0s56)|4✅|||3ms| +|[FluentValidation.Tests.ValidateAndThrowTester](#r0s57)|14✅|||25ms| +|[FluentValidation.Tests.ValidationResultTests](#r0s58)|8✅|||8ms| +|[FluentValidation.Tests.ValidatorDescriptorTester](#r0s59)|5✅|||1ms| +|[FluentValidation.Tests.ValidatorSelectorTests](#r0s60)|10✅|||9ms| +|[FluentValidation.Tests.ValidatorTesterTester](#r0s61)|73✅|||74ms| +### ✅ FluentValidation.Tests.AbstractValidatorTester +``` +✅ Can_replace_default_errorcode_resolver +✅ CanValidateInstancesOfType_returns_false_when_comparing_against_some_other_type +✅ CanValidateInstancesOfType_returns_true_when_comparing_against_same_type +✅ CanValidateInstancesOfType_returns_true_when_comparing_against_subclass +✅ Default_error_code_should_be_class_name +✅ OverridePropertyName_should_override_property_name +✅ OverridePropertyName_with_lambda_should_override_property_name +✅ PreValidate_bypasses_nullcheck_on_instance +✅ RuleForeach_with_null_instances +✅ Should_be_valid_when_there_are_no_failures_for_single_property +✅ Should_not_main_state +✅ Should_throw_for_non_member_expression_when_validating_single_property +✅ Should_throw_when_rule_is_null +✅ Should_validate_public_Field +✅ Should_validate_single_Field +✅ Should_validate_single_property +✅ Should_validate_single_property_where_invalid_property_as_string +✅ Should_validate_single_property_where_property_as_string +✅ Uses_named_parameters_to_validate_ruleset +✅ Validates_single_property_by_path +✅ Validates_type_when_using_non_generic_validate_overload +✅ When_the_validators_fail_then_the_errors_Should_be_accessible_via_the_errors_property +✅ When_the_validators_fail_then_validatorrunner_should_return_false +✅ When_the_Validators_pass_then_the_validatorRunner_should_return_true +✅ WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_Validate(preValidationResult: ) +✅ WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_Validate(preValidationResult: AnotherInt Test Message) +✅ WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_ValidateAsync(preValidationResult: ) +✅ WhenPreValidationReturnsFalse_ResultReturnToUserImmediatly_ValidateAsync(preValidationResult: AnotherInt Test Message) +✅ WhenPreValidationReturnsTrue_ValidatorsGetHit_Validate +✅ WhenPreValidationReturnsTrue_ValidatorsGetHit_ValidateAsync +✅ WithErrorCode_should_override_error_code +✅ WithMessage_and_WithErrorCode_should_override_error_message_and_error_code +✅ WithMessage_should_override_error_message +✅ WithName_should_override_field_name +✅ WithName_should_override_field_name_with_value_from_other_property +``` +### ✅ FluentValidation.Tests.AccessorCacheTests +``` +⚪ Benchmark +✅ Equality_comparison_check +✅ Gets_accessor +✅ Gets_member_for_nested_property +✅ Identifies_if_memberexp_acts_on_model_instance +``` +### ✅ FluentValidation.Tests.AssemblyScannerTester +``` +✅ Finds_validators_for_types +✅ ForEach_iterates_over_types +``` +### ✅ FluentValidation.Tests.CascadingFailuresTester +``` +✅ Cascade_mode_can_be_set_after_validator_instantiated +✅ Cascade_mode_can_be_set_after_validator_instantiated_async +✅ Cascade_mode_can_be_set_after_validator_instantiated_async_legacy +✅ Cascade_mode_can_be_set_after_validator_instantiated_legacy +✅ Validation_continues_on_failure +✅ Validation_continues_on_failure_async +✅ Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level +✅ Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level_async +✅ Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level_async_legacy +✅ Validation_continues_on_failure_when_set_to_Stop_globally_and_overriden_at_rule_level_legacy +✅ Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level +✅ Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level_async +✅ Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level_async_legacy +✅ Validation_continues_on_failure_when_set_to_StopOnFirstFailure_at_validator_level_and_overriden_at_rule_level_legacy +✅ Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop +✅ Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop_async +✅ Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop_async_legacy +✅ Validation_continues_to_second_validator_when_first_validator_succeeds_and_cascade_set_to_stop_legacy +✅ Validation_continues_when_set_to_Continue_at_validator_level +✅ Validation_continues_when_set_to_Continue_at_validator_level_async +✅ Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level +✅ Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level_async +✅ Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level_async_legacy +✅ Validation_stops_on_failure_when_set_to_Continue_and_overriden_at_rule_level_legacy +✅ Validation_stops_on_first_failure +✅ Validation_stops_on_first_failure_async +✅ Validation_stops_on_first_failure_async_legacy +✅ Validation_stops_on_first_failure_legacy +✅ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level +✅ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_and_async_validator_is_invoked_synchronously +✅ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_and_async_validator_is_invoked_synchronously_legacy +✅ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_async +✅ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_async_legacy +✅ Validation_stops_on_first_Failure_when_set_to_Continue_globally_and_overriden_at_rule_level_legacy +✅ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level +✅ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_async +✅ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_async_legacy +✅ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_legacy +``` +### ✅ FluentValidation.Tests.ChainedValidationTester +``` +✅ Can_validate_using_validator_for_base_type +✅ Chained_property_should_be_excluded +✅ Chained_validator_descriptor +✅ Chained_validator_should_not_be_invoked_on_null_property +✅ Condition_should_work_with_chained_property +✅ Explicitly_included_properties_should_be_propagated_to_nested_validators +✅ Explicitly_included_properties_should_be_propagated_to_nested_validators_using_strings +✅ Separate_validation_on_chained_property +✅ Separate_validation_on_chained_property_conditional +✅ Separate_validation_on_chained_property_valid +✅ Should_allow_normal_rules_and_chained_property_on_same_property +✅ Uses_explicit_ruleset +✅ Validates_chained_property +``` +### ✅ FluentValidation.Tests.ChainingValidatorsTester +``` +✅ Options_should_only_apply_to_current_validator +✅ Should_create_multiple_validators +✅ Should_execute_multiple_validators +``` +### ✅ FluentValidation.Tests.ChildRulesTests +``` +✅ Can_define_nested_rules_for_collection +✅ ChildRules_works_with_RuleSet +``` +### ✅ FluentValidation.Tests.CollectionValidatorWithParentTests +``` +✅ Async_condition_should_work_with_child_collection +✅ Can_specify_condition_for_individual_collection_elements +✅ Can_validate_collection_using_validator_for_base_type +✅ Collection_should_be_excluded +✅ Collection_should_be_explicitly_included_with_expression +✅ Collection_should_be_explicitly_included_with_string +✅ Condition_should_work_with_child_collection +✅ Creates_validator_using_context_from_property_value +✅ Should_override_property_name +✅ Should_work_with_top_level_collection_validator +✅ Should_work_with_top_level_collection_validator_and_overriden_name +✅ Skips_null_items +✅ Validates_collection +✅ Validates_collection_asynchronously +✅ Validates_collection_several_levels_deep +✅ Validates_collection_several_levels_deep_async +``` +### ✅ FluentValidation.Tests.ComplexValidationTester +``` +✅ Async_condition_should_work_with_complex_property +✅ Async_condition_should_work_with_complex_property_when_validator_invoked_synchronously +✅ Can_directly_validate_multiple_fields_of_same_type +✅ Can_validate_using_validator_for_base_type +✅ Complex_property_should_be_excluded +✅ Complex_validator_should_not_be_invoked_on_null_property +✅ Condition_should_work_with_complex_property +✅ Condition_should_work_with_complex_property_when_invoked_async +✅ Explicitly_included_properties_should_be_propagated_to_nested_validators +✅ Explicitly_included_properties_should_be_propagated_to_nested_validators_using_strings +✅ Multiple_rules_in_chain_with_childvalidator_shouldnt_reuse_accessor +✅ Multiple_rules_in_chain_with_childvalidator_shouldnt_reuse_accessor_async +✅ Should_allow_normal_rules_and_complex_property_on_same_property +✅ Should_override_propertyName +✅ Validates_child_validator_asynchronously +✅ Validates_child_validator_synchronously +✅ Validates_complex_property +``` +### ✅ FluentValidation.Tests.ConditionTests +``` +✅ Async_condition_executed_synchronosuly_with_asynchronous_collection_rule +✅ Async_condition_executed_synchronosuly_with_asynchronous_rule +✅ Async_condition_executed_synchronosuly_with_synchronous_collection_role +✅ Async_condition_executed_synchronosuly_with_synchronous_role +✅ Async_condition_is_applied_to_all_validators_in_the_chain +✅ Async_condition_is_applied_to_all_validators_in_the_chain_when_executed_synchronously +✅ Async_condition_is_applied_to_single_validator_in_the_chain_when_ApplyConditionTo_set_to_CurrentValidator +✅ Condition_is_applied_to_all_validators_in_the_chain +✅ Condition_is_applied_to_single_validator_in_the_chain_when_ApplyConditionTo_set_to_CurrentValidator +✅ Sync_condition_is_applied_to_async_validators +✅ Validation_should_fail_when_async_condition_does_not_match +✅ Validation_should_fail_when_async_condition_matches +✅ Validation_should_fail_when_condition_does_not_match +✅ Validation_should_fail_when_condition_matches +✅ Validation_should_succeed_when_async_condition_does_not_match +✅ Validation_should_succeed_when_async_condition_matches +✅ Validation_should_succeed_when_condition_does_not_match +✅ Validation_should_succeed_when_condition_matches +``` +### ✅ FluentValidation.Tests.CreditCardValidatorTests +``` +✅ IsValidTests +✅ When_validation_fails_the_default_error_should_be_set +``` +### ✅ FluentValidation.Tests.CustomFailureActionTester +``` +✅ Does_not_invoke_action_if_validation_success +✅ Invokes_custom_action_on_failure +✅ Passes_object_being_validated_to_action +``` +### ✅ FluentValidation.Tests.CustomMessageFormatTester +``` +✅ Replaces_propertyvalue_placeholder +✅ Replaces_propertyvalue_with_empty_string_when_null +✅ Should_format_custom_message +✅ Uses_custom_delegate_for_building_message +✅ Uses_custom_delegate_for_building_message_only_for_specific_validator +✅ Uses_property_value_in_message +``` +### ✅ FluentValidation.Tests.CustomValidatorTester +``` +✅ New_Custom_Returns_single_failure +✅ New_Custom_Returns_single_failure_async +✅ New_custom_uses_empty_property_name_for_model_level_rule +✅ New_Custom_When_property_name_omitted_infers_property_name +✅ New_Custom_When_property_name_omitted_infers_property_name_nested +✅ New_Custom_within_ruleset +✅ New_CustomAsync_within_ruleset +✅ Perserves_property_chain_using_custom +✅ Runs_async_rule_synchronously_when_validator_invoked_synchronously +✅ Runs_sync_rule_asynchronously_when_validator_invoked_asynchronously +``` +### ✅ FluentValidation.Tests.DefaultValidatorExtensionTester +``` +✅ Empty_should_create_EmptyValidator +✅ Equal_should_create_EqualValidator_with_explicit_value +✅ Equal_should_create_EqualValidator_with_lambda +✅ GreaterThan_should_create_GreaterThanValidator_with_explicit_value +✅ GreaterThan_should_create_GreaterThanValidator_with_lambda +✅ GreaterThanOrEqual_should_create_GreaterThanOrEqualValidator_with_explicit_value +✅ GreaterThanOrEqual_should_create_GreaterThanOrEqualValidator_with_lambda +✅ GreaterThanOrEqual_should_create_GreaterThanOrEqualValidator_with_lambda_with_other_Nullable +✅ Length_should_create_ExactLengthValidator +✅ Length_should_create_LengthValidator +✅ Length_should_create_MaximumLengthValidator +✅ Length_should_create_MinimumLengthValidator +✅ LessThan_should_create_LessThanValidator_with_explicit_value +✅ LessThan_should_create_LessThanValidator_with_lambda +✅ LessThanOrEqual_should_create_LessThanOrEqualValidator_with_explicit_value +✅ LessThanOrEqual_should_create_LessThanOrEqualValidator_with_lambda +✅ LessThanOrEqual_should_create_LessThanOrEqualValidator_with_lambda_with_other_Nullable +✅ Must_should_create_PredicateValidator_with_context +✅ Must_should_create_PredicateValidator_with_PropertyValidatorContext +✅ Must_should_create_PredicteValidator +✅ MustAsync_should_create_AsyncPredicateValidator_with_context +✅ MustAsync_should_create_AsyncPredicateValidator_with_PropertyValidatorContext +✅ MustAsync_should_create_AsyncPredicteValidator +✅ MustAsync_should_not_throw_InvalidCastException +✅ NotEmpty_should_create_NotEmptyValidator +✅ NotEqual_should_create_NotEqualValidator_with_explicit_value +✅ NotEqual_should_create_NotEqualValidator_with_lambda +✅ NotNull_should_create_NotNullValidator +✅ ScalePrecision_should_create_ScalePrecisionValidator +✅ ScalePrecision_should_create_ScalePrecisionValidator_with_ignore_trailing_zeros +``` +### ✅ FluentValidation.Tests.EmailValidatorTests +``` +✅ Fails_email_validation_aspnetcore_compatible(email: " \r \t \n") +✅ Fails_email_validation_aspnetcore_compatible(email: "") +✅ Fails_email_validation_aspnetcore_compatible(email: "@someDomain.com") +✅ Fails_email_validation_aspnetcore_compatible(email: "@someDomain@abc.com") +✅ Fails_email_validation_aspnetcore_compatible(email: "0") +✅ Fails_email_validation_aspnetcore_compatible(email: "someName") +✅ Fails_email_validation_aspnetcore_compatible(email: "someName@") +✅ Fails_email_validation_aspnetcore_compatible(email: "someName@a@b.com") +✅ Invalid_email_addressex_regex(email: "") +✅ Invalid_email_addressex_regex(email: "first.last@test..co.uk") +✅ Invalid_email_addressex_regex(email: "testperso") +✅ Invalid_email_addressex_regex(email: "thisisaverylongstringcodeplex.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: " @someDomain.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: "!#$%&'*+-/=?^_`|~@someDomain.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: "\"firstName.lastName\"@someDomain.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: "1234@someDomain.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: "firstName.lastName@someDomain.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: "someName@1234.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: "someName@some_domain.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: "someName@some~domain.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: "someName@someDomain.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: "someName@someDomain￯.com") +✅ Valid_email_addresses_aspnetcore_compatible(email: null) +✅ Valid_email_addresses_regex(email: "__somename@example.com") +✅ Valid_email_addresses_regex(email: "!def!xyz%abc@example.com") +✅ Valid_email_addresses_regex(email: "\"Abc@def\"@example.com") +✅ Valid_email_addresses_regex(email: "\"Abc\\@def\"@example.com") +✅ Valid_email_addresses_regex(email: "\"Fred Bloggs\"@example.com") +✅ Valid_email_addresses_regex(email: "\"Joe\\Blow\"@example.com") +✅ Valid_email_addresses_regex(email: "$A12345@example.com") +✅ Valid_email_addresses_regex(email: "customer/department=shipping@example.com") +✅ Valid_email_addresses_regex(email: "first.last@test.co.uk") +✅ Valid_email_addresses_regex(email: "testperson@gmail.com") +✅ Valid_email_addresses_regex(email: "TestPerson@gmail.com") +✅ Valid_email_addresses_regex(email: "testperson+label@gmail.com") +✅ Valid_email_addresses_regex(email: null) +``` +### ✅ FluentValidation.Tests.EmptyTester +``` +✅ Passes_for_ienumerable_that_doesnt_implement_ICollection +✅ Passes_when_collection_empty +✅ When_there_is_a_value_then_the_validator_should_fail +✅ When_validation_fails_error_should_be_set +✅ When_value_is_Default_for_type_validator_should_pass_datetime +✅ When_value_is_Default_for_type_validator_should_pass_int +✅ When_value_is_empty_string_validator_should_pass +✅ When_value_is_null_validator_should_pass +✅ When_value_is_whitespace_validation_should_pass +``` +### ✅ FluentValidation.Tests.EnumValidatorTests +``` +✅ Flags_enum_invalid_when_using_outofrange_negative_value +✅ Flags_enum_invalid_when_using_outofrange_positive_value +✅ Flags_enum_valid_when_using_bitwise_value +✅ Flags_enum_validates_correctly_when_using_zero_value +✅ Flags_enum_with_overlapping_flags_valid_when_using_bitwise_value +✅ IsValidTests +✅ Nullable_enum_invalid_when_bad_value_specified +✅ Nullable_enum_valid_when_property_value_is_null +✅ Nullable_enum_valid_when_value_specified +✅ When_the_enum_is_initialized_with_invalid_value_then_the_validator_should_fail +✅ When_the_enum_is_not_initialized_with_valid_value_then_the_validator_should_fail +✅ When_validation_fails_the_default_error_should_be_set +``` +### ✅ FluentValidation.Tests.EqualValidatorTests +``` +✅ Comparison_property_uses_custom_resolver +✅ Should_store_comparison_type +✅ Should_store_property_to_compare +✅ Should_succeed_on_case_insensitive_comparison +✅ Should_succeed_on_case_insensitive_comparison_using_expression +✅ Should_use_ordinal_comparison_by_default +✅ Validates_against_property +✅ When_the_objects_are_equal_validation_should_succeed +✅ When_the_objects_are_not_equal_validation_should_fail +✅ When_validation_fails_the_error_should_be_set +``` +### ✅ FluentValidation.Tests.ExactLengthValidatorTester +``` +✅ Min_and_max_properties_should_be_set +✅ When_exact_length_rule_failes_error_should_have_exact_length_error_errorcode +✅ When_the_text_is_an_exact_length_the_validator_should_pass +✅ When_the_text_length_is_larger_the_validator_should_fail +✅ When_the_text_length_is_smaller_the_validator_should_fail +✅ When_the_validator_fails_the_error_message_should_be_set +``` +### ✅ FluentValidation.Tests.ExclusiveBetweenValidatorTests +``` +✅ To_and_from_properties_should_be_set +✅ To_and_from_properties_should_be_set_for_dates +✅ To_and_from_properties_should_be_set_for_strings +✅ Validates_with_nullable_when_property_is_null +✅ Validates_with_nullable_when_property_not_null +✅ When_the_text_is_larger_than_the_range_then_the_validator_should_fail +✅ When_the_text_is_larger_than_the_range_then_the_validator_should_fail_for_strings +✅ When_the_to_is_smaller_than_the_from_then_the_validator_should_throw +✅ When_the_to_is_smaller_than_the_from_then_the_validator_should_throw_for_strings +✅ When_the_validator_fails_the_error_message_should_be_set +✅ When_the_validator_fails_the_error_message_should_be_set_for_strings +✅ When_the_value_is_between_the_range_specified_then_the_validator_should_pass +✅ When_the_value_is_between_the_range_specified_then_the_validator_should_pass_for_strings +✅ When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_fail +✅ When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_fail_for_strings +✅ When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_fail +✅ When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_fail_for_strings +✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail +✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings +``` +### ✅ FluentValidation.Tests.ExtensionTester +``` +✅ Should_extract_member_from_member_expression +✅ Should_return_null_for_non_member_expressions +✅ Should_split_pascal_cased_member_name +✅ SplitPascalCase_should_return_null_when_input_is_null +``` +### ✅ FluentValidation.Tests.ForEachRuleTests +``` +✅ Async_condition_should_work_with_child_collection +✅ Can_access_colletion_index +✅ Can_access_colletion_index_async +✅ Can_access_parent_index +✅ Can_access_parent_index_async +✅ Can_specify_condition_for_individual_collection_elements +✅ Can_use_cascade_with_RuleForEach +✅ Can_validate_collection_using_validator_for_base_type +✅ Collection_should_be_excluded +✅ Collection_should_be_explicitly_included_with_expression +✅ Collection_should_be_explicitly_included_with_string +✅ Condition_should_work_with_child_collection +✅ Correctly_gets_collection_indices +✅ Correctly_gets_collection_indices_async +✅ Executes_rule_for_each_item_in_collection +✅ Executes_rule_for_each_item_in_collection_async +✅ Nested_collection_for_null_property_should_not_throw_null_reference +✅ Nested_conditions_Rule_For +✅ Nested_conditions_Rule_For_Each +✅ Overrides_indexer +✅ Overrides_indexer_async +✅ Regular_rules_can_drop_into_RuleForEach +✅ RuleForEach_async_RunsTasksSynchronously +✅ Should_not_scramble_property_name_when_using_collection_validators_several_levels_deep +✅ Should_not_scramble_property_name_when_using_collection_validators_several_levels_deep_with_ValidateAsync +✅ Should_override_property_name +✅ Skips_null_items +✅ Top_level_collection +✅ Uses_useful_error_message_when_used_on_non_property +✅ Validates_child_validator_asynchronously +✅ Validates_child_validator_synchronously +✅ Validates_collection +✅ When_runs_outside_RuleForEach_loop +✅ When_runs_outside_RuleForEach_loop_async +``` +### ✅ FluentValidation.Tests.GreaterThanOrEqualToValidatorTester +``` +✅ Comparison_property_uses_custom_resolver +✅ Comparison_type +✅ Should_fail_when_less_than_input +✅ Should_localize_value +✅ Should_set_default_error_when_validation_fails +✅ Should_succeed_when_equal_to_input +✅ Should_succeed_when_greater_than_input +✅ Validates_nullable_with_nullable_property +✅ Validates_with_nullable_property +✅ Validates_with_nullable_when_property_is_null +✅ Validates_with_nullable_when_property_is_null_cross_property +✅ Validates_with_nullable_when_property_not_null +✅ Validates_with_nullable_when_property_not_null_cross_property +✅ Validates_with_property +``` +### ✅ FluentValidation.Tests.GreaterThanValidatorTester +``` +✅ Comparison_property_uses_custom_resolver +✅ Comparison_Type +✅ Should_fail_when_equal_to_input +✅ Should_fail_when_less_than_input +✅ Should_set_default_error_when_validation_fails +✅ Should_succeed_when_greater_than_input +✅ Validates_nullable_with_nullable_property +✅ Validates_with_nullable_property +✅ Validates_with_nullable_when_property_is_null +✅ Validates_with_nullable_when_property_is_null_cross_property +✅ Validates_with_nullable_when_property_not_null +✅ Validates_with_nullable_when_property_not_null_cross_property +✅ Validates_with_property +``` +### ✅ FluentValidation.Tests.InclusiveBetweenValidatorTests +``` +✅ To_and_from_properties_should_be_set +✅ To_and_from_properties_should_be_set_for_strings +✅ Validates_with_nullable_when_property_is_null +✅ Validates_with_nullable_when_property_not_null +✅ When_the_text_is_larger_than_the_range_then_the_validator_should_fail +✅ When_the_text_is_larger_than_the_range_then_the_validator_should_fail_for_strings +✅ When_the_to_is_smaller_than_the_from_then_the_validator_should_throw +✅ When_the_to_is_smaller_than_the_from_then_the_validator_should_throw_for_strings +✅ When_the_validator_fails_the_error_message_should_be_set +✅ When_the_validator_fails_the_error_message_should_be_set_for_strings +✅ When_the_value_is_between_the_range_specified_then_the_validator_should_pass +✅ When_the_value_is_between_the_range_specified_then_the_validator_should_pass_for_strings +✅ When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_pass +✅ When_the_value_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_pass_for_strings +✅ When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_pass +✅ When_the_value_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_pass_for_strings +✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail +✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings +``` +### ✅ FluentValidation.Tests.InheritanceValidatorTest +``` +✅ Can_use_custom_subclass_with_nongeneric_overload +✅ Validates_collection +✅ Validates_collection_async +✅ Validates_inheritance_async +✅ Validates_inheritance_hierarchy +✅ Validates_ruleset +✅ Validates_ruleset_async +✅ Validates_with_callback +✅ Validates_with_callback_accepting_derived +✅ Validates_with_callback_accepting_derived_async +✅ Validates_with_callback_async +``` +### ✅ FluentValidation.Tests.InlineValidatorTester +``` +✅ Uses_inline_validator_to_build_rules +``` +### ✅ FluentValidation.Tests.LanguageManagerTests +``` +✅ All_languages_should_be_loaded +✅ All_localizations_have_same_parameters_as_English +✅ Always_use_specific_language +✅ Always_use_specific_language_with_string_source +✅ Can_replace_message +✅ Can_replace_message_without_overriding_all_languages +✅ Disables_localization +✅ Falls_back_to_default_localization_key_when_error_code_key_not_found +✅ Falls_back_to_english_when_culture_not_registered +✅ Falls_back_to_english_when_translation_missing +✅ Falls_back_to_parent_culture +✅ Gets_translation_for_bosnian_latin_culture(cultureName: "bs-Latn-BA") +✅ Gets_translation_for_bosnian_latin_culture(cultureName: "bs-Latn") +✅ Gets_translation_for_bosnian_latin_culture(cultureName: "bs") +✅ Gets_translation_for_croatian_culture +✅ Gets_translation_for_culture +✅ Gets_translation_for_serbian_culture(cultureName: "sr-Latn-RS") +✅ Gets_translation_for_serbian_culture(cultureName: "sr-Latn") +✅ Gets_translation_for_serbian_culture(cultureName: "sr") +✅ Gets_translation_for_specific_culture +✅ Uses_error_code_as_localization_key +``` +### ✅ FluentValidation.Tests.LengthValidatorTests +``` +✅ Min_and_max_properties_should_be_set +✅ When_input_is_null_then_the_validator_should_pass +✅ When_the_max_is_smaller_than_the_min_then_the_validator_should_throw +✅ When_the_maxlength_validator_fails_the_error_message_should_be_set +✅ When_the_minlength_validator_fails_the_error_message_should_be_set +✅ When_the_text_is_between_the_lambda_range_specified_then_the_validator_should_pass +✅ When_the_text_is_between_the_range_specified_then_the_validator_should_pass +✅ When_the_text_is_exactly_the_size_of_the_lambda_lower_bound_then_the_validator_should_pass +✅ When_the_text_is_exactly_the_size_of_the_lambda_upper_bound_then_the_validator_should_pass +✅ When_the_text_is_exactly_the_size_of_the_lower_bound_then_the_validator_should_pass +✅ When_the_text_is_exactly_the_size_of_the_upper_bound_then_the_validator_should_pass +✅ When_the_text_is_larger_than_the_lambda_range_then_the_validator_should_fail +✅ When_the_text_is_larger_than_the_range_then_the_validator_should_fail +✅ When_the_text_is_smaller_than_the_lambda_range_then_the_validator_should_fail +✅ When_the_text_is_smaller_than_the_range_then_the_validator_should_fail +✅ When_the_validator_fails_the_error_message_should_be_set +``` +### ✅ FluentValidation.Tests.LessThanOrEqualToValidatorTester +``` +✅ Comparison_property_uses_custom_resolver +✅ Comparison_type +✅ Should_fail_when_greater_than_input +✅ Should_set_default_error_when_validation_fails +✅ Should_succeed_when_equal_to_input +✅ Should_succeed_when_less_than_input +✅ Validates_nullable_with_nullable_property +✅ Validates_with_nullable_property +✅ Validates_with_nullable_when_property_is_null +✅ Validates_with_nullable_when_property_is_null_cross_property +✅ Validates_with_nullable_when_property_not_null +✅ Validates_with_nullable_when_property_not_null_cross_property +✅ Validates_with_property +``` +### ✅ FluentValidation.Tests.LessThanValidatorTester +``` +✅ Comparison_property_uses_custom_resolver +✅ Comparison_type +✅ Extracts_property_from_constant_using_expression +✅ Extracts_property_from_expression +✅ Should_fail_when_equal_to_input +✅ Should_fail_when_greater_than_input +✅ Should_set_default_validation_message_when_validation_fails +✅ Should_succeed_when_less_than_input +✅ Should_throw_when_value_to_compare_is_null +✅ Validates_against_property +✅ Validates_nullable_with_nullable_property +✅ Validates_with_nullable_property +✅ Validates_with_nullable_when_property_is_null +✅ Validates_with_nullable_when_property_not_null +✅ Validates_with_nullable_when_property_not_null_cross_property +✅ Validates_with_nullable_when_property_null_cross_property +``` +### ✅ FluentValidation.Tests.LocalisedMessagesTester +``` +✅ Correctly_assigns_default_localized_error_message +✅ Does_not_throw_InvalidCastException_when_using_RuleForEach +✅ Formats_string_with_placeholders +✅ Formats_string_with_placeholders_when_you_cant_edit_the_string +✅ Uses_func_to_get_message +✅ Uses_string_format_with_property_value +``` +### ✅ FluentValidation.Tests.LocalisedNameTester +``` +✅ Uses_localized_name +✅ Uses_localized_name_expression +``` +### ✅ FluentValidation.Tests.MemberAccessorTests +``` +✅ ComplexPropertyGet +✅ ComplexPropertySet +✅ Equality +✅ ImplicitCast +✅ Name +✅ SimpleFieldGet +✅ SimpleFieldSet +✅ SimplePropertyGet +✅ SimplePropertySet +``` +### ✅ FluentValidation.Tests.MessageFormatterTests +``` +✅ Adds_argument_and_custom_arguments +✅ Adds_formatted_argument_and_custom_arguments +✅ Adds_formatted_argument_and_formatted_custom_arguments +✅ Adds_PropertyName_to_message +✅ Adds_value_to_message +✅ Format_property_value +✅ Should_ignore_unknown_numbered_parameters +✅ Should_ignore_unknown_parameters +✅ Understands_date_formats +✅ Understands_numeric_formats +``` +### ✅ FluentValidation.Tests.ModelLevelValidatorTests +``` +✅ Can_use_child_validator_at_model_level +✅ Validates_at_model_level +``` +### ✅ FluentValidation.Tests.NameResolutionPluggabilityTester +``` +✅ Resolves_nested_properties +✅ ShouldHaveValidationError_Should_support_custom_propertynameresolver +✅ Uses_custom_property_name +``` +### ✅ FluentValidation.Tests.NotEmptyTester +``` +✅ Fails_for_array +✅ Fails_for_ienumerable_that_doesnt_implement_ICollection +✅ Fails_when_collection_empty +✅ When_there_is_a_value_then_the_validator_should_pass +✅ When_validation_fails_error_should_be_set +✅ When_value_is_Default_for_type_validator_should_fail_datetime +✅ When_value_is_Default_for_type_validator_should_fail_int +✅ When_value_is_empty_string_validator_should_fail +✅ When_value_is_null_validator_should_fail +✅ When_value_is_whitespace_validation_should_fail +``` +### ✅ FluentValidation.Tests.NotEqualValidatorTests +``` +✅ Comparison_property_uses_custom_resolver +✅ Should_handle_custom_value_types_correctly +✅ Should_not_be_valid_for_case_insensitve_comparison +✅ Should_not_be_valid_for_case_insensitve_comparison_with_expression +✅ Should_store_comparison_type +✅ Should_store_property_to_compare +✅ Should_use_ordinal_comparison_by_default +✅ Validates_across_properties +✅ When_the_objects_are_equal_then_the_validator_should_fail +✅ When_the_objects_are_not_equal_then_the_validator_should_pass +✅ When_the_validator_fails_the_error_message_should_be_set +``` +### ✅ FluentValidation.Tests.NotNullTester +``` +✅ Fails_when_nullable_value_type_is_null +✅ Not_null_validator_should_not_crash_with_non_nullable_value_type +✅ NotNullValidator_should_fail_if_value_is_null +✅ NotNullValidator_should_pass_if_value_has_value +✅ When_the_validator_fails_the_error_message_should_be_set +``` +### ✅ FluentValidation.Tests.NullTester +``` +✅ Not_null_validator_should_not_crash_with_non_nullable_value_type +✅ NullValidator_should_fail_if_value_has_value +✅ NullValidator_should_pass_if_value_is_null +✅ Passes_when_nullable_value_type_is_null +✅ When_the_validator_passes_the_error_message_should_be_set +``` +### ✅ FluentValidation.Tests.OnFailureTests +``` +✅ OnFailure_called_for_each_failed_rule +✅ OnFailure_called_for_each_failed_rule_asyncAsync +✅ Should_be_able_to_access_error_message_in_OnFailure +✅ ShouldHaveChildValidator_should_be_true +✅ ShouldHaveChildValidator_works_with_Include +✅ WhenAsyncWithOnFailure_should_invoke_condition_on_async_inner_validator +✅ WhenAsyncWithOnFailure_should_invoke_condition_on_inner_validator +✅ WhenAsyncWithOnFailure_should_invoke_condition_on_inner_validator_invoked_synchronously +✅ WhenWithOnFailure_should_invoke_condition_on_async_inner_validator +✅ WhenWithOnFailure_should_invoke_condition_on_inner_validator +``` +### ✅ FluentValidation.Tests.PredicateValidatorTester +``` +✅ Should_fail_when_predicate_returns_false +✅ Should_succeed_when_predicate_returns_true +✅ Should_throw_when_predicate_is_null +✅ When_validation_fails_metadata_should_be_set_on_failure +✅ When_validation_fails_the_default_error_should_be_set +``` +### ✅ FluentValidation.Tests.PropertyChainTests +``` +✅ AddIndexer_throws_when_nothing_added +✅ Calling_ToString_should_construct_string_representation_of_chain +✅ Calling_ToString_should_construct_string_representation_of_chain_with_indexers +✅ Creates_from_expression +✅ Should_be_subchain +✅ Should_ignore_blanks +✅ Should_not_be_subchain +``` +### ✅ FluentValidation.Tests.RegularExpressionValidatorTests +``` +✅ Can_access_expression_in_message +✅ Can_access_expression_in_message_lambda +✅ Can_access_expression_in_message_lambda_regex +✅ Uses_lazily_loaded_expression +✅ Uses_lazily_loaded_expression_with_options +✅ Uses_regex_object +✅ When_the_text_does_not_match_the_lambda_regex_regular_expression_then_the_validator_should_fail +✅ When_the_text_does_not_match_the_lambda_regular_expression_then_the_validator_should_fail +✅ When_the_text_does_not_match_the_regular_expression_then_the_validator_should_fail +✅ When_the_text_is_empty_then_the_validator_should_fail +✅ When_the_text_is_null_then_the_validator_should_pass +✅ When_the_text_matches_the_lambda_regex_regular_expression_then_the_validator_should_pass +✅ When_the_text_matches_the_lambda_regular_expression_then_the_validator_should_pass +✅ When_the_text_matches_the_regular_expression_then_the_validator_should_pass +✅ When_validation_fails_the_default_error_should_be_set +``` +### ✅ FluentValidation.Tests.RuleBuilderTests +``` +✅ Adding_a_validator_should_return_builder +✅ Adding_a_validator_should_store_validator +✅ Calling_validate_should_delegate_to_underlying_validator +✅ Calling_ValidateAsync_should_delegate_to_underlying_async_validator +✅ Calling_ValidateAsync_should_delegate_to_underlying_sync_validator +✅ Conditional_child_validator_should_register_with_validator_type_not_property +✅ Nullable_object_with_async_condition_should_not_throw +✅ Nullable_object_with_condition_should_not_throw +✅ Property_should_return_null_when_it_is_not_a_property_being_validated +✅ Property_should_return_property_being_validated +✅ PropertyDescription_should_return_custom_property_name +✅ PropertyDescription_should_return_property_name_split +✅ Result_should_use_custom_property_name_when_no_property_name_can_be_determined +✅ Rule_for_a_non_memberexpression_should_not_generate_property_name +✅ Should_build_property_name +✅ Should_compile_expression +✅ Should_set_custom_error +✅ Should_set_custom_property_name +✅ Should_throw_if_message_is_null +✅ Should_throw_if_overriding_validator_is_null +✅ Should_throw_if_overriding_validator_provider_is_null +✅ Should_throw_if_property_name_is_null +✅ Should_throw_if_validator_is_null +✅ Should_throw_when_async_inverse_predicate_is_null +✅ Should_throw_when_async_predicate_is_null +✅ Should_throw_when_context_predicate_is_null +✅ Should_throw_when_inverse_context_predicate_is_null +✅ Should_throw_when_inverse_predicate_is_null +✅ Should_throw_when_predicate_is_null +``` +### ✅ FluentValidation.Tests.RuleDependencyTests +``` +✅ Async_inside_dependent_rules +✅ Async_inside_dependent_rules_when_parent_rule_not_async +✅ Dependent_rules_inside_ruleset +✅ Dependent_rules_inside_when +✅ Does_not_invoke_dependent_rule_if_parent_rule_does_not_pass +✅ Invokes_dependent_rule_if_parent_rule_passes +✅ Nested_dependent_rules +✅ Nested_dependent_rules_inside_ruleset +✅ Nested_dependent_rules_inside_ruleset_inside_method +✅ Nested_dependent_rules_inside_ruleset_no_result_when_second_level_fails +✅ Nested_dependent_rules_inside_ruleset_no_result_when_top_level_fails +✅ TestAsyncWithDependentRules_AsyncEntry +✅ TestAsyncWithDependentRules_SyncEntry +✅ Treats_root_level_RuleFor_call_as_dependent_rule_if_user_forgets_to_use_DependentRulesBuilder +``` +### ✅ FluentValidation.Tests.RulesetTests +``` +✅ Applies_multiple_rulesets_to_rule +✅ Combines_rulesets_and_explicit_properties +✅ Combines_rulesets_and_explicit_properties_async +✅ Executes_all_rules +✅ Executes_in_rule_in_default_and_none +✅ Executes_in_rule_in_ruleset_and_default +✅ Executes_multiple_rulesets +✅ Executes_rules_in_default_ruleset_and_specific_ruleset +✅ Executes_rules_in_specified_ruleset +✅ Executes_rules_not_specified_in_ruleset +✅ Includes_all_rulesets +✅ Includes_all_rulesets_async +✅ Includes_combination_of_rulesets +✅ Includes_combination_of_rulesets_async +✅ Ruleset_cascades_to_child_collection_validator +✅ Ruleset_cascades_to_child_validator +✅ Ruleset_selection_should_cascade_downwards_with_when_setting_child_validator_using_include_statement +✅ Ruleset_selection_should_cascade_downwards_with_when_setting_child_validator_using_include_statement_with_lambda +✅ Ruleset_selection_should_not_cascade_downwards_when_set_on_property +✅ Trims_spaces +✅ WithMessage_works_inside_rulesets +``` +### ✅ FluentValidation.Tests.ScalePrecisionValidatorTests +``` +✅ Scale_precision_should_be_valid +✅ Scale_precision_should_be_valid_when_ignoring_trailing_zeroes +✅ Scale_precision_should_be_valid_when_they_are_equal +✅ Scale_precision_should_not_be_valid +✅ Scale_precision_should_not_be_valid_when_ignoring_trailing_zeroes +✅ Scale_precision_should_not_be_valid_when_they_are_equal +``` +### ✅ FluentValidation.Tests.SharedConditionTests +``` +✅ Async_condition_can_be_used_inside_ruleset +✅ Condition_can_be_used_inside_ruleset +✅ Does_not_execute_custom_Rule_when_async_condition_false +✅ Does_not_execute_custom_Rule_when_condition_false +✅ Does_not_execute_customasync_Rule_when_async_condition_false +✅ Does_not_execute_customasync_Rule_when_condition_false +✅ Doesnt_throw_NullReferenceException_when_instance_not_null +✅ Doesnt_throw_NullReferenceException_when_instance_not_null_async +✅ Executes_custom_rule_when_async_condition_true +✅ Executes_custom_rule_when_condition_true +✅ Executes_customasync_rule_when_async_condition_true +✅ Executes_customasync_rule_when_condition_true +✅ Nested_async_conditions_with_Custom_rule +✅ Nested_async_conditions_with_CustomAsync_rule +✅ Nested_conditions_with_Custom_rule +✅ Nested_conditions_with_CustomAsync_rule +✅ Outer_async_Unless_clause_will_trump_an_inner_Unless_clause_when_inner_fails_but_the_outer_is_satisfied +✅ Outer_Unless_clause_will_trump_an_inner_Unless_clause_when_inner_fails_but_the_outer_is_satisfied +✅ Rules_invoke_when_inverse_shared_async_condition_matches +✅ Rules_invoke_when_inverse_shared_condition_matches +✅ Rules_not_invoked_when_inverse_shared_async_condition_does_not_match +✅ Rules_not_invoked_when_inverse_shared_condition_does_not_match +✅ RuleSet_can_be_used_inside_async_condition +✅ RuleSet_can_be_used_inside_condition +✅ Runs_otherwise_conditions_for_UnlessAsync +✅ Runs_otherwise_conditions_for_When +✅ Runs_otherwise_conditions_for_WhenAsync +✅ Runs_otherwise_conditons_for_Unless +✅ Shared_async_When_is_applied_to_groupd_rules_when_initial_predicate_is_true_and_all_individual_rules_are_satisfied +✅ Shared_async_When_is_applied_to_grouped_rules_when_initial_predicate_is_true +✅ Shared_async_When_is_not_applied_to_grouped_rules_when_initial_predicate_is_false +✅ Shared_async_When_respects_the_smaller_scope_of_a_inner_Unless_when_the_inner_Unless_predicate_fails +✅ Shared_async_When_respects_the_smaller_scope_of_an_inner_Unless_when_the_inner_Unless_predicate_is_satisfied +✅ Shared_When_is_applied_to_groupd_rules_when_initial_predicate_is_true_and_all_individual_rules_are_satisfied +✅ Shared_When_is_applied_to_grouped_rules_when_initial_predicate_is_true +✅ Shared_When_is_not_applied_to_grouped_rules_when_initial_predicate_is_false +✅ Shared_When_respects_the_smaller_scope_of_a_inner_Unless_when_the_inner_Unless_predicate_fails +✅ Shared_When_respects_the_smaller_scope_of_an_inner_Unless_when_the_inner_Unless_predicate_is_satisfied +✅ When_async_condition_executed_for_each_instance_of_RuleForEach_condition_should_not_be_cached +✅ When_condition_executed_for_each_instance_of_RuleForEach_condition_should_not_be_cached +✅ When_condition_only_executed_once +✅ WhenAsync_condition_only_executed_once +``` +### ✅ FluentValidation.Tests.StandalonePropertyValidationTester +``` +✅ Should_validate_property_value_without_instance +``` +### ✅ FluentValidation.Tests.StringEnumValidatorTests +``` +✅ IsValidTests_CaseInsensitive_CaseCorrect +✅ IsValidTests_CaseInsensitive_CaseIncorrect +✅ IsValidTests_CaseSensitive_CaseCorrect +✅ IsValidTests_CaseSensitive_CaseIncorrect +✅ When_enumType_is_not_an_enum_it_should_throw +✅ When_enumType_is_null_it_should_throw +✅ When_the_property_is_initialized_with_empty_string_then_the_validator_should_fail +✅ When_the_property_is_initialized_with_invalid_string_then_the_validator_should_fail +✅ When_the_property_is_initialized_with_null_then_the_validator_should_be_valid +✅ When_validation_fails_the_default_error_should_be_set +``` +### ✅ FluentValidation.Tests.TrackingCollectionTests +``` +✅ Add_AddsItem +✅ Should_not_raise_event_once_handler_detached +✅ When_Item_Added_Raises_ItemAdded +``` +### ✅ FluentValidation.Tests.TransformTests +``` +✅ Transforms_collection_element +✅ Transforms_collection_element_async +✅ Transforms_property_value +✅ Transforms_property_value_to_another_type +``` +### ✅ FluentValidation.Tests.UserSeverityTester +``` +✅ Can_Provide_conditional_severity +✅ Can_Provide_severity_for_item_in_collection +✅ Correctly_provides_object_being_validated +✅ Defaults_user_severity_to_error +✅ Should_use_last_supplied_severity +✅ Stores_user_severity_against_validation_failure +✅ Throws_when_provider_is_null +``` +### ✅ FluentValidation.Tests.UserStateTester +``` +✅ Can_Provide_state_for_item_in_collection +✅ Correctly_provides_object_being_validated +✅ Stores_user_state_against_validation_failure +✅ Throws_when_provider_is_null +``` +### ✅ FluentValidation.Tests.ValidateAndThrowTester +``` +✅ Does_not_throw_when_valid +✅ Does_not_throw_when_valid_and_a_ruleset +✅ Does_not_throw_when_valid_and_a_ruleset_async +✅ Does_not_throw_when_valid_async +✅ Only_root_validator_throws +✅ Populates_errors +✅ Serializes_exception +✅ Throws_exception +✅ Throws_exception_async +✅ Throws_exception_with_a_ruleset +✅ Throws_exception_with_a_ruleset_async +✅ ToString_provides_error_details +✅ ValidationException_provides_correct_message_when_appendDefaultMessage_false +✅ ValidationException_provides_correct_message_when_appendDefaultMessage_true +``` +### ✅ FluentValidation.Tests.ValidationResultTests +``` +✅ Can_serialize_failure +✅ Can_serialize_result +✅ Should_add_errors +✅ Should_be_valid_when_there_are_no_errors +✅ Should_not_be_valid_when_there_are_errors +✅ ToString_return_empty_string_when_there_is_no_error +✅ ToString_return_error_messages_with_given_separator +✅ ToString_return_error_messages_with_newline_as_separator +``` +### ✅ FluentValidation.Tests.ValidatorDescriptorTester +``` +✅ Does_not_throw_when_rule_declared_without_property +✅ Gets_validators_for_property +✅ GetValidatorsForMember_and_GetRulesForMember_can_both_retrieve_for_model_level_rule +✅ Returns_empty_collection_for_property_with_no_validators +✅ Should_retrieve_name_given_to_it_pass_property_as_string +``` +### ✅ FluentValidation.Tests.ValidatorSelectorTests +``` +✅ Can_use_property_with_include +✅ Does_not_validate_other_property +✅ Does_not_validate_other_property_using_expression +✅ Executes_correct_rule_when_using_property_with_include +✅ Executes_correct_rule_when_using_property_with_include_async +✅ Includes_nested_property +✅ Includes_nested_property_using_expression +✅ MemberNameValidatorSelector_returns_true_when_property_name_matches +✅ Validates_nullable_property_with_overriden_name_when_selected +✅ Validates_property_using_expression +``` +### ✅ FluentValidation.Tests.ValidatorTesterTester +``` +✅ Allows_only_one_failure_to_match +✅ Can_use_indexer_in_string_message +✅ Can_use_indexer_in_string_message_inverse +✅ Expected_error_code_check +✅ Expected_message_argument_check +✅ Expected_message_check +✅ Expected_severity_check +✅ Expected_state_check +✅ Matches_any_failure +✅ Matches_model_level_rule +✅ Model_level_check_fails_if_no_model_level_failures +✅ ShouldHaveChildValidator_should_not_throw_when_property_Does_have_child_validator +✅ ShouldHaveChildValidator_should_not_throw_when_property_Does_have_child_validator_and_expecting_a_basetype +✅ ShouldHaveChildValidator_should_not_throw_when_property_has_collection_validators +✅ ShouldHaveChildValidator_should_throw_when_property_has_a_different_child_validator +✅ ShouldHaveChildValidator_should_work_with_DependentRules +✅ ShouldHaveChildvalidator_throws_when_collection_property_Does_not_have_child_validator +✅ ShouldHaveChildValidator_throws_when_property_does_not_have_child_validator +✅ ShouldHaveChildValidator_works_on_model_level_rules +✅ ShouldHaveValidationError_async +✅ ShouldHaveValidationError_async_throws +✅ ShouldHaveValidationError_model_async +✅ ShouldHaveValidationError_model_async_throws +✅ ShouldHaveValidationError_preconstructed_object_does_not_throw_for_unwritable_property +✅ ShouldHaveValidationError_should_not_throw_when_there_are_errors_with_preconstructed_object +✅ ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors +✅ ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: "") +✅ ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: null) +✅ ShouldHaveValidationError_should_not_throw_when_there_are_validation_errors_ruleforeach +✅ ShouldHaveValidationError_Should_support_nested_properties +✅ ShouldHaveValidationError_Should_throw_when_there_are_no_validation_errors +✅ ShouldHaveValidationError_should_throw_when_there_are_no_validation_errors_with_preconstructed_object +✅ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 17, cardNumber: "") +✅ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 17, cardNumber: "cardNumber") +✅ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 17, cardNumber: null) +✅ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_Is_Used(age: 42, cardNumber: "cardNumber") +✅ ShouldHaveValidationError_should_throw_when_there_are_not_validation_errors_ruleforeach +✅ ShouldHaveValidationError_with_an_unmatched_rule_and_a_single_error_should_throw_an_exception +✅ ShouldHaveValidationError_with_an_unmatched_rule_and_multiple_errors_should_throw_an_exception +✅ ShouldHaveValidationErrorFor_takes_account_of_rulesets +✅ ShouldHaveValidationErrorFor_takes_account_of_rulesets_fluent_approach +✅ ShouldNotHaveValidationError_async +✅ ShouldNotHaveValidationError_async_model_throws +✅ ShouldNotHaveValidationError_async_throws +✅ ShouldNotHaveValidationError_model_async +✅ ShouldNotHaveValidationError_should_correctly_handle_explicitly_providing_object_to_validate +✅ ShouldNotHaveValidationError_should_correctly_handle_explicitly_providing_object_to_validate_and_other_property_fails_validation +✅ ShouldNotHaveValidationError_should_have_validation_error_details_when_thrown_ruleforeach +✅ ShouldNotHaveValidationError_should_not_throw_when_there_are_no_errors +✅ ShouldNotHAveValidationError_should_not_throw_When_there_are_no_errors_with_preconstructed_object +✅ ShouldNotHaveValidationError_should_not_throw_when_there_are_not_validation_errors_ruleforeach +✅ ShouldNotHaveValidationError_Should_support_nested_properties +✅ ShouldNotHaveValidationError_should_throw_when_there_are_errors +✅ ShouldNotHaveValidationError_should_throw_when_there_are_errors_with_preconstructed_object +✅ ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 17, cardNumber: "") +✅ ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 17, cardNumber: "cardNumber") +✅ ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 17, cardNumber: null) +✅ ShouldNotHaveValidationError_should_throw_when_there_are_not_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: "cardNumber") +✅ ShouldNotHaveValidationError_should_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: "") +✅ ShouldNotHaveValidationError_should_throw_when_there_are_validation_errors__WhenAsyn_is_used(age: 42, cardNumber: null) +✅ ShouldNotHaveValidationError_should_throw_when_there_are_validation_errors_ruleforeach +✅ Tests_nested_property +✅ Tests_nested_property_reverse +✅ Tests_nested_property_using_obsolete_method +✅ TestValidate_runs_async +✅ TestValidate_runs_async_throws +✅ Unexpected_error_code_check +✅ Unexpected_message_check(withoutErrMsg: "bar", errMessages: ["bar"]) +✅ Unexpected_message_check(withoutErrMsg: "bar", errMessages: ["foo", "bar"]) +✅ Unexpected_message_check(withoutErrMsg: "bar", errMessages: ["foo"]) +✅ Unexpected_message_check(withoutErrMsg: "bar", errMessages: []) +✅ Unexpected_severity_check +✅ Unexpected_state_check ``` \ No newline at end of file diff --git a/__tests__/__outputs__/jest-junit.md b/__tests__/__outputs__/jest-junit.md index 5aecf5d..1579828 100644 --- a/__tests__/__outputs__/jest-junit.md +++ b/__tests__/__outputs__/jest-junit.md @@ -3,12 +3,12 @@ **6** tests were completed in **1s** with **1** passed, **4** failed and **1** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[__tests__\main.test.js](#r0s0)|1✔️|3❌||486ms| -|[__tests__\second.test.js](#r0s1)||1❌|1✖️|82ms| +|[__tests__\main.test.js](#r0s0)|1✅|3❌||486ms| +|[__tests__\second.test.js](#r0s1)||1❌|1⚪|82ms| ### ❌ __tests__\main.test.js ``` Test 1 - ✔️ Passing test + ✅ Passing test Test 1 › Test 1.1 ❌ Failing test Error: expect(received).toBeTruthy() @@ -22,5 +22,5 @@ Test 2 ``` ❌ Timeout test : Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Error: -✖️ Skipped test +⚪ Skipped test ``` \ No newline at end of file diff --git a/__tests__/__outputs__/jest-test-results.md b/__tests__/__outputs__/jest-test-results.md index ed545bf..bc86f3c 100644 --- a/__tests__/__outputs__/jest-test-results.md +++ b/__tests__/__outputs__/jest-test-results.md @@ -3,430 +3,430 @@ **4239** tests were completed in **166s** with **4207** passed, **2** failed and **30** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|e2e/__tests__/asyncAndCallback.test.ts|1✔️|||746ms| -|e2e/__tests__/asyncRegenerator.test.ts|1✔️|||4s| -|e2e/__tests__/autoClearMocks.test.ts|2✔️|||2s| -|e2e/__tests__/autoResetMocks.test.ts|2✔️|||2s| -|e2e/__tests__/autoRestoreMocks.test.ts|2✔️|||2s| -|e2e/__tests__/babelPluginJestHoist.test.ts|1✔️|||6s| -|e2e/__tests__/badSourceMap.test.ts|1✔️|||858ms| -|e2e/__tests__/beforeAllFiltered.ts|1✔️|||958ms| -|e2e/__tests__/beforeEachQueue.ts|1✔️||1✖️|55ms| -|e2e/__tests__/callDoneTwice.test.ts|1✔️|||882ms| -|e2e/__tests__/chaiAssertionLibrary.ts|1✔️|||2s| -|e2e/__tests__/circularInequality.test.ts|1✔️|||1s| -|e2e/__tests__/circusConcurrentEach.test.ts|2✔️|||2s| -|e2e/__tests__/circusDeclarationErrors.test.ts|1✔️|||869ms| -|e2e/__tests__/clearCache.test.ts|2✔️|||1s| -|e2e/__tests__/cliHandlesExactFilenames.test.ts|2✔️|||1s| -|e2e/__tests__/compareDomNodes.test.ts|1✔️|||1s| -|e2e/__tests__/config.test.ts|6✔️|||4s| -|e2e/__tests__/console.test.ts|7✔️|||8s| -|e2e/__tests__/consoleAfterTeardown.test.ts|1✔️|||1s| -|e2e/__tests__/consoleLogOutputWhenRunInBand.test.ts|1✔️|||793ms| -|e2e/__tests__/coverageHandlebars.test.ts|1✔️|||2s| -|e2e/__tests__/coverageRemapping.test.ts|1✔️|||13s| -|e2e/__tests__/coverageReport.test.ts|12✔️|||22s| -|e2e/__tests__/coverageThreshold.test.ts|5✔️|||5s| -|e2e/__tests__/coverageTransformInstrumented.test.ts|1✔️|||5s| -|e2e/__tests__/coverageWithoutTransform.test.ts|1✔️|||1s| -|e2e/__tests__/createProcessObject.test.ts|1✔️|||908ms| -|e2e/__tests__/customInlineSnapshotMatchers.test.ts|1✔️|||2s| -|e2e/__tests__/customMatcherStackTrace.test.ts|2✔️|||2s| -|e2e/__tests__/customReporters.test.ts|9✔️|||7s| -|e2e/__tests__/customResolver.test.ts|1✔️|||826ms| -|e2e/__tests__/customTestSequencers.test.ts|3✔️|||3s| -|e2e/__tests__/debug.test.ts|1✔️|||899ms| -|e2e/__tests__/declarationErrors.test.ts|3✔️|||2s| -|e2e/__tests__/dependencyClash.test.ts|1✔️|||833ms| -|e2e/__tests__/detectOpenHandles.ts|8✔️|||8s| -|e2e/__tests__/domDiffing.test.ts|1✔️|||1s| -|e2e/__tests__/doneInHooks.test.ts|1✔️|||855ms| -|e2e/__tests__/dynamicRequireDependencies.ts|1✔️|||847ms| -|e2e/__tests__/each.test.ts|7✔️|||5s| -|e2e/__tests__/emptyDescribeWithHooks.test.ts|4✔️|||3s| -|e2e/__tests__/emptySuiteError.test.ts|1✔️|||885ms| -|e2e/__tests__/env.test.ts|6✔️|||5s| -|e2e/__tests__/environmentAfterTeardown.test.ts|1✔️|||892ms| -|e2e/__tests__/errorOnDeprecated.test.ts|1✔️||24✖️|56ms| -|e2e/__tests__/esmConfigFile.test.ts|3✔️|||526ms| -|e2e/__tests__/executeTestsOnceInMpr.ts|1✔️|||976ms| -|e2e/__tests__/existentRoots.test.ts|4✔️|||627ms| -|e2e/__tests__/expectAsyncMatcher.test.ts|2✔️|||3s| -|e2e/__tests__/expectInVm.test.ts|1✔️|||2s| -|e2e/__tests__/extraGlobals.test.ts|1✔️|||1s| -|e2e/__tests__/failureDetailsProperty.test.ts|1✔️|||907ms| -|e2e/__tests__/failures.test.ts|7✔️|||10s| -|e2e/__tests__/fakePromises.test.ts|2✔️|||2s| -|e2e/__tests__/fatalWorkerError.test.ts|1✔️|||3s| -|e2e/__tests__/filter.test.ts|7✔️|||5s| -|e2e/__tests__/findRelatedFiles.test.ts|5✔️|||6s| -|e2e/__tests__/focusedTests.test.ts|1✔️|||888ms| -|e2e/__tests__/forceExit.test.ts|1✔️|||2s| -|e2e/__tests__/generatorMock.test.ts|1✔️|||1s| -|e2e/__tests__/global-mutation.test.ts|1✔️|||40ms| -|e2e/__tests__/global.test.ts|1✔️|||31ms| -|e2e/__tests__/globals.test.ts|10✔️|||8s| -|e2e/__tests__/globalSetup.test.ts|10✔️|||14s| -|e2e/__tests__/globalTeardown.test.ts|7✔️|||12s| -|e2e/__tests__/hasteMapMockChanged.test.ts|1✔️|||379ms| -|e2e/__tests__/hasteMapSha1.test.ts|1✔️|||298ms| -|e2e/__tests__/hasteMapSize.test.ts|2✔️|||397ms| -|e2e/__tests__/importedGlobals.test.ts|1✔️|||1s| -|e2e/__tests__/injectGlobals.test.ts|2✔️|||2s| -|e2e/__tests__/jasmineAsync.test.ts|15✔️|||28s| -|e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts|1✔️||1✖️|72ms| -|e2e/__tests__/jest.config.js.test.ts|3✔️|||2s| -|e2e/__tests__/jest.config.ts.test.ts|5✔️|||14s| -|[e2e/__tests__/jestChangedFiles.test.ts](#r0s75)|9✔️|1❌||9s| -|e2e/__tests__/jestEnvironmentJsdom.test.ts|1✔️|||2s| -|e2e/__tests__/jestRequireActual.test.ts|1✔️|||2s| -|e2e/__tests__/jestRequireMock.test.ts|1✔️|||2s| -|e2e/__tests__/json.test.ts|2✔️|||29ms| -|e2e/__tests__/jsonReporter.test.ts|2✔️|||2s| -|e2e/__tests__/lifecycles.ts|1✔️|||861ms| -|e2e/__tests__/listTests.test.ts|2✔️|||945ms| -|e2e/__tests__/locationInResults.test.ts|2✔️|||2s| -|e2e/__tests__/logHeapUsage.test.ts|1✔️|||884ms| -|e2e/__tests__/mockNames.test.ts|8✔️|||7s| -|e2e/__tests__/modernFakeTimers.test.ts|2✔️|||2s| -|e2e/__tests__/moduleNameMapper.test.ts|5✔️|||5s| -|e2e/__tests__/moduleParentNullInTest.ts|1✔️|||886ms| -|e2e/__tests__/multiProjectRunner.test.ts|14✔️|||16s| -|e2e/__tests__/nativeAsyncMock.test.ts|1✔️|||55ms| -|e2e/__tests__/nativeEsm.test.ts|2✔️||1✖️|905ms| -|e2e/__tests__/nativeEsmTypescript.test.ts|1✔️|||956ms| -|e2e/__tests__/nestedEventLoop.test.ts|1✔️|||1s| -|e2e/__tests__/nestedTestDefinitions.test.ts|4✔️|||5s| -|e2e/__tests__/nodePath.test.ts|1✔️|||866ms| -|e2e/__tests__/noTestFound.test.ts|2✔️|||1s| -|e2e/__tests__/noTestsFound.test.ts|5✔️|||3s| -|[e2e/__tests__/onlyChanged.test.ts](#r0s98)|8✔️|1❌||22s| -|e2e/__tests__/onlyFailuresNonWatch.test.ts|1✔️|||3s| -|e2e/__tests__/overrideGlobals.test.ts|2✔️|||2s| -|e2e/__tests__/pnp.test.ts|1✔️|||3s| -|e2e/__tests__/presets.test.ts|2✔️|||2s| -|e2e/__tests__/processExit.test.ts|1✔️|||1s| -|e2e/__tests__/promiseReject.test.ts|1✔️|||967ms| -|e2e/__tests__/regexCharInPath.test.ts|1✔️|||962ms| -|e2e/__tests__/requireAfterTeardown.test.ts|1✔️|||921ms| -|e2e/__tests__/requireMain.test.ts|1✔️|||1s| -|e2e/__tests__/requireMainAfterCreateRequire.test.ts|1✔️|||966ms| -|e2e/__tests__/requireMainIsolateModules.test.ts|1✔️|||976ms| -|e2e/__tests__/requireMainResetModules.test.ts|2✔️|||2s| -|e2e/__tests__/requireV8Module.test.ts|1✔️|||30ms| -|e2e/__tests__/resetModules.test.ts|1✔️|||926ms| -|e2e/__tests__/resolve.test.ts|1✔️|||2s| -|e2e/__tests__/resolveGetPaths.test.ts|1✔️|||1s| -|e2e/__tests__/resolveNodeModule.test.ts|1✔️|||943ms| -|e2e/__tests__/resolveNoFileExtensions.test.ts|2✔️|||1s| -|e2e/__tests__/resolveWithPaths.test.ts|1✔️|||1s| -|e2e/__tests__/runProgrammatically.test.ts|2✔️|||575ms| -|e2e/__tests__/runTestsByPath.test.ts|1✔️|||2s| -|e2e/__tests__/runtimeInternalModuleRegistry.test.ts|1✔️|||1s| -|e2e/__tests__/selectProjects.test.ts|18✔️|||5s| -|e2e/__tests__/setImmediate.test.ts|1✔️|||904ms| -|e2e/__tests__/setupFilesAfterEnvConfig.test.ts|2✔️|||2s| -|e2e/__tests__/showConfig.test.ts|1✔️|||195ms| -|e2e/__tests__/skipBeforeAfterAll.test.ts|1✔️|||1s| -|e2e/__tests__/snapshot-unknown.test.ts|1✔️|||838ms| -|e2e/__tests__/snapshot.test.ts|9✔️|||14s| -|e2e/__tests__/snapshotMockFs.test.ts|1✔️|||883ms| -|e2e/__tests__/snapshotResolver.test.ts|1✔️|||823ms| -|e2e/__tests__/snapshotSerializers.test.ts|2✔️|||2s| -|e2e/__tests__/stackTrace.test.ts|7✔️|||5s| -|e2e/__tests__/stackTraceNoCaptureStackTrace.test.ts|1✔️|||899ms| -|e2e/__tests__/stackTraceSourceMaps.test.ts|1✔️|||2s| -|e2e/__tests__/stackTraceSourceMapsWithCoverage.test.ts|1✔️|||2s| -|e2e/__tests__/supportsDashedArgs.ts|2✔️|||968ms| -|e2e/__tests__/symbol.test.ts|1✔️|||49ms| -|e2e/__tests__/testEnvironment.test.ts|1✔️|||2s| -|e2e/__tests__/testEnvironmentAsync.test.ts|1✔️|||1s| -|e2e/__tests__/testEnvironmentCircus.test.ts|1✔️|||2s| -|e2e/__tests__/testEnvironmentCircusAsync.test.ts|1✔️|||2s| -|e2e/__tests__/testFailureExitCode.test.ts|2✔️|||4s| -|e2e/__tests__/testInRoot.test.ts|1✔️|||1s| -|e2e/__tests__/testNamePattern.test.ts|1✔️|||859ms| -|e2e/__tests__/testNamePatternSkipped.test.ts|1✔️|||991ms| -|e2e/__tests__/testPathPatternReporterMessage.test.ts|1✔️|||3s| -|e2e/__tests__/testResultsProcessor.test.ts|1✔️|||910ms| -|e2e/__tests__/testRetries.test.ts|4✔️|||3s| -|e2e/__tests__/testTodo.test.ts|5✔️|||4s| -|e2e/__tests__/timeouts.test.ts|4✔️|||4s| -|e2e/__tests__/timeoutsLegacy.test.ts|1✔️||3✖️|71ms| -|e2e/__tests__/timerResetMocks.test.ts|2✔️|||2s| -|e2e/__tests__/timerUseRealTimers.test.ts|1✔️|||1s| -|e2e/__tests__/toMatchInlineSnapshot.test.ts|12✔️|||24s| -|e2e/__tests__/toMatchInlineSnapshotWithRetries.test.ts|3✔️|||5s| -|e2e/__tests__/toMatchSnapshot.test.ts|9✔️|||17s| -|e2e/__tests__/toMatchSnapshotWithRetries.test.ts|2✔️|||4s| -|e2e/__tests__/toMatchSnapshotWithStringSerializer.test.ts|3✔️|||4s| -|e2e/__tests__/toThrowErrorMatchingInlineSnapshot.test.ts|4✔️|||4s| -|e2e/__tests__/toThrowErrorMatchingSnapshot.test.ts|5✔️|||4s| -|e2e/__tests__/transform.test.ts|16✔️|||27s| -|e2e/__tests__/transformLinkedModules.test.ts|1✔️|||783ms| -|e2e/__tests__/typescriptCoverage.test.ts|1✔️|||3s| -|e2e/__tests__/unexpectedToken.test.ts|3✔️|||3s| -|e2e/__tests__/useStderr.test.ts|1✔️|||1s| -|e2e/__tests__/v8Coverage.test.ts|2✔️|||2s| -|e2e/__tests__/verbose.test.ts|1✔️|||683ms| -|e2e/__tests__/version.test.ts|1✔️|||138ms| -|e2e/__tests__/watchModeNoAccess.test.ts|1✔️|||4s| -|e2e/__tests__/watchModeOnlyFailed.test.ts|1✔️|||1s| -|e2e/__tests__/watchModePatterns.test.ts|2✔️|||4s| -|e2e/__tests__/watchModeUpdateSnapshot.test.ts|1✔️|||1s| -|e2e/__tests__/workerForceExit.test.ts|2✔️|||5s| -|e2e/__tests__/wrongEnv.test.ts|5✔️|||4s| -|e2e/custom-test-sequencer/a.test.js|1✔️|||29ms| -|e2e/custom-test-sequencer/b.test.js|1✔️|||21ms| -|e2e/custom-test-sequencer/c.test.js|1✔️|||42ms| -|e2e/custom-test-sequencer/d.test.js|1✔️|||21ms| -|e2e/custom-test-sequencer/e.test.js|1✔️|||27ms| -|e2e/test-in-root/spec.js|1✔️|||19ms| -|e2e/test-in-root/test.js|1✔️|||37ms| -|e2e/timer-reset-mocks/after-reset-all-mocks/timerAndMock.test.js|2✔️|||30ms| -|e2e/timer-reset-mocks/with-reset-mocks/timerWithMock.test.js|1✔️|||34ms| -|e2e/v8-coverage/empty-sourcemap/test.ts|1✔️|||31ms| -|examples/angular/app.component.spec.ts|3✔️|||654ms| -|examples/angular/shared/data.service.spec.ts|2✔️|||431ms| -|examples/angular/shared/sub.service.spec.ts|1✔️|||109ms| -|examples/async/__tests__/user.test.js|8✔️|||96ms| -|examples/automatic-mocks/__tests__/automock.test.js|2✔️|||74ms| -|examples/automatic-mocks/__tests__/createMockFromModule.test.js|2✔️|||115ms| -|examples/automatic-mocks/__tests__/disableAutomocking.test.js|1✔️|||24ms| -|examples/enzyme/__tests__/CheckboxWithLabel-test.js|1✔️|||434ms| -|examples/getting-started/sum.test.js|1✔️|||78ms| -|examples/jquery/__tests__/display_user.test.js|1✔️|||196ms| -|examples/jquery/__tests__/fetch_current_user.test.js|2✔️|||196ms| -|examples/manual-mocks/__tests__/file_summarizer.test.js|1✔️|||87ms| -|examples/manual-mocks/__tests__/lodashMocking.test.js|1✔️|||109ms| -|examples/manual-mocks/__tests__/user.test.js|1✔️|||41ms| -|examples/manual-mocks/__tests__/userMocked.test.js|1✔️|||105ms| -|examples/module-mock/__tests__/full_mock.js|1✔️|||60ms| -|examples/module-mock/__tests__/mock_per_test.js|2✔️|||116ms| -|examples/module-mock/__tests__/partial_mock.js|1✔️|||215ms| -|examples/mongodb/__test__/db.test.js|1✔️|||236ms| -|examples/react-native/__tests__/intro.test.js|4✔️|||9s| -|examples/react-testing-library/__tests__/CheckboxWithLabel-test.js|1✔️|||469ms| -|examples/react/__tests__/CheckboxWithLabel-test.js|1✔️|||256ms| -|examples/snapshot/__tests__/clock.react.test.js|1✔️|||62ms| -|examples/snapshot/__tests__/link.react.test.js|4✔️|||181ms| -|examples/timer/__tests__/infinite_timer_game.test.js|1✔️|||94ms| -|examples/timer/__tests__/timer_game.test.js|3✔️|||74ms| -|examples/typescript/__tests__/calc.test.ts|6✔️|||276ms| -|examples/typescript/__tests__/CheckboxWithLabel-test.tsx|1✔️|||227ms| -|examples/typescript/__tests__/sub-test.ts|1✔️|||43ms| -|examples/typescript/__tests__/sum-test.ts|2✔️|||69ms| -|examples/typescript/__tests__/sum.test.js|2✔️|||100ms| -|packages/babel-jest/src/__tests__/index.ts|6✔️|||371ms| -|packages/babel-plugin-jest-hoist/src/__tests__/hoistPlugin.test.ts|4✔️|||347ms| -|packages/diff-sequences/src/__tests__/index.property.test.ts|7✔️|||357ms| -|packages/diff-sequences/src/__tests__/index.test.ts|48✔️|||195ms| -|packages/expect/src/__tests__/assertionCounts.test.ts|6✔️|||60ms| -|packages/expect/src/__tests__/asymmetricMatchers.test.ts|38✔️|||207ms| -|packages/expect/src/__tests__/extend.test.ts|10✔️|||99ms| -|packages/expect/src/__tests__/isError.test.ts|4✔️|||43ms| -|packages/expect/src/__tests__/matchers-toContain.property.test.ts|2✔️|||236ms| -|packages/expect/src/__tests__/matchers-toContainEqual.property.test.ts|2✔️|||287ms| -|packages/expect/src/__tests__/matchers-toEqual.property.test.ts|2✔️|||1s| -|packages/expect/src/__tests__/matchers-toStrictEqual.property.test.ts|3✔️|||394ms| -|packages/expect/src/__tests__/matchers.test.js|592✔️|||862ms| -|packages/expect/src/__tests__/spyMatchers.test.ts|248✔️|||395ms| -|packages/expect/src/__tests__/stacktrace.test.ts|3✔️|||69ms| -|packages/expect/src/__tests__/symbolInObjects.test.ts|3✔️|||33ms| -|packages/expect/src/__tests__/toEqual-dom.test.ts|12✔️|||99ms| -|packages/expect/src/__tests__/toThrowMatchers.test.ts|98✔️|||257ms| -|packages/expect/src/__tests__/utils.test.ts|41✔️|||147ms| -|packages/jest-circus/src/__tests__/afterAll.test.ts|6✔️|||6s| -|packages/jest-circus/src/__tests__/baseTest.test.ts|2✔️|||3s| -|packages/jest-circus/src/__tests__/circusItTestError.test.ts|8✔️|||300ms| -|packages/jest-circus/src/__tests__/circusItTodoTestError.test.ts|3✔️|||81ms| -|packages/jest-circus/src/__tests__/hooks.test.ts|3✔️|||4s| -|packages/jest-circus/src/__tests__/hooksError.test.ts|32✔️|||127ms| -|packages/jest-cli/src/__tests__/cli/args.test.ts|17✔️|||345ms| -|packages/jest-cli/src/init/__tests__/init.test.js|24✔️|||119ms| -|packages/jest-cli/src/init/__tests__/modifyPackageJson.test.ts|4✔️|||30ms| -|packages/jest-config/src/__tests__/Defaults.test.ts|1✔️|||672ms| -|packages/jest-config/src/__tests__/getMaxWorkers.test.ts|7✔️|||67ms| -|packages/jest-config/src/__tests__/normalize.test.js|118✔️|||798ms| -|packages/jest-config/src/__tests__/readConfig.test.ts|1✔️|||76ms| -|packages/jest-config/src/__tests__/readConfigs.test.ts|3✔️|||135ms| -|packages/jest-config/src/__tests__/resolveConfigPath.test.ts|10✔️|||183ms| -|packages/jest-config/src/__tests__/setFromArgv.test.ts|4✔️|||53ms| -|packages/jest-config/src/__tests__/validatePattern.test.ts|4✔️|||52ms| -|packages/jest-console/src/__tests__/bufferedConsole.test.ts|20✔️|||171ms| -|packages/jest-console/src/__tests__/CustomConsole.test.ts|23✔️|||115ms| -|packages/jest-console/src/__tests__/getConsoleOutput.test.ts|12✔️|||56ms| -|packages/jest-core/src/__tests__/FailedTestsCache.test.js|1✔️|||25ms| -|packages/jest-core/src/__tests__/getNoTestsFoundMessage.test.js|5✔️|||61ms| -|packages/jest-core/src/__tests__/globals.test.ts|1✔️|||22ms| -|packages/jest-core/src/__tests__/runJest.test.js|2✔️|||261ms| -|packages/jest-core/src/__tests__/SearchSource.test.ts|27✔️|||3s| -|packages/jest-core/src/__tests__/SnapshotInteractiveMode.test.js|13✔️|||89ms| -|packages/jest-core/src/__tests__/TestScheduler.test.js|8✔️|||520ms| -|packages/jest-core/src/__tests__/testSchedulerHelper.test.js|12✔️|||48ms| -|packages/jest-core/src/__tests__/watch.test.js|80✔️|||7s| -|packages/jest-core/src/__tests__/watchFileChanges.test.ts|1✔️|||2s| -|packages/jest-core/src/__tests__/watchFilenamePatternMode.test.js|2✔️|||165ms| -|packages/jest-core/src/__tests__/watchTestNamePatternMode.test.js|1✔️|||246ms| -|packages/jest-core/src/lib/__tests__/isValidPath.test.ts|3✔️|||166ms| -|packages/jest-core/src/lib/__tests__/logDebugMessages.test.ts|3✔️|||48ms| -|packages/jest-create-cache-key-function/src/__tests__/index.test.ts|1✔️|||75ms| -|packages/jest-diff/src/__tests__/diff.test.ts|107✔️|||625ms| -|packages/jest-diff/src/__tests__/diffStringsRaw.test.ts|2✔️|||55ms| -|packages/jest-diff/src/__tests__/getAlignedDiffs.test.ts|24✔️|||72ms| -|packages/jest-diff/src/__tests__/joinAlignedDiffs.test.ts|6✔️|||44ms| -|packages/jest-docblock/src/__tests__/index.test.ts|36✔️|||177ms| -|packages/jest-each/src/__tests__/array.test.ts|159✔️|||192ms| -|packages/jest-each/src/__tests__/index.test.ts|10✔️|||44ms| -|packages/jest-each/src/__tests__/template.test.ts|242✔️|||483ms| -|packages/jest-environment-jsdom/src/__tests__/jsdom_environment.test.ts|2✔️|||783ms| -|packages/jest-environment-node/src/__tests__/node_environment.test.ts|6✔️|||184ms| -|packages/jest-fake-timers/src/__tests__/legacyFakeTimers.test.ts|50✔️|||302ms| -|packages/jest-fake-timers/src/__tests__/modernFakeTimers.test.ts|40✔️|||317ms| -|packages/jest-get-type/src/__tests__/getType.test.ts|14✔️|||45ms| -|packages/jest-get-type/src/__tests__/isPrimitive.test.ts|18✔️|||36ms| -|packages/jest-globals/src/__tests__/index.ts|1✔️|||533ms| -|packages/jest-haste-map/src/__tests__/get_mock_name.test.js|1✔️|||22ms| -|packages/jest-haste-map/src/__tests__/includes_dotfiles.test.ts|1✔️|||337ms| -|packages/jest-haste-map/src/__tests__/index.test.js|44✔️|||1s| -|packages/jest-haste-map/src/__tests__/worker.test.js|7✔️|||100ms| -|packages/jest-haste-map/src/crawlers/__tests__/node.test.js|10✔️|||170ms| -|packages/jest-haste-map/src/crawlers/__tests__/watchman.test.js|8✔️|||153ms| -|packages/jest-haste-map/src/lib/__tests__/dependencyExtractor.test.js|15✔️|||56ms| -|packages/jest-haste-map/src/lib/__tests__/fast_path.test.js|5✔️|||29ms| -|packages/jest-haste-map/src/lib/__tests__/getPlatformExtension.test.js|1✔️|||35ms| -|packages/jest-haste-map/src/lib/__tests__/isRegExpSupported.test.js|2✔️|||31ms| -|packages/jest-haste-map/src/lib/__tests__/normalizePathSep.test.js|2✔️|||35ms| -|packages/jest-jasmine2/src/__tests__/concurrent.test.ts|3✔️|||24ms| -|packages/jest-jasmine2/src/__tests__/expectationResultFactory.test.ts|7✔️|||70ms| -|packages/jest-jasmine2/src/__tests__/hooksError.test.ts|32✔️|||51ms| -|packages/jest-jasmine2/src/__tests__/iterators.test.ts|4✔️|||43ms| -|packages/jest-jasmine2/src/__tests__/itTestError.test.ts|6✔️|||32ms| -|packages/jest-jasmine2/src/__tests__/itToTestAlias.test.ts|1✔️|||23ms| -|packages/jest-jasmine2/src/__tests__/pTimeout.test.ts|3✔️|||44ms| -|packages/jest-jasmine2/src/__tests__/queueRunner.test.ts|6✔️|||93ms| -|packages/jest-jasmine2/src/__tests__/reporter.test.ts|1✔️|||107ms| -|packages/jest-jasmine2/src/__tests__/Suite.test.ts|1✔️|||84ms| -|packages/jest-jasmine2/src/__tests__/todoError.test.ts|3✔️|||27ms| -|packages/jest-leak-detector/src/__tests__/index.test.ts|6✔️|||986ms| -|packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceable.test.ts|11✔️|||49ms| -|packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceableDom.test.ts|2✔️|||48ms| -|packages/jest-matcher-utils/src/__tests__/index.test.ts|48✔️|||391ms| -|packages/jest-matcher-utils/src/__tests__/printDiffOrStringify.test.ts|21✔️|||114ms| -|packages/jest-matcher-utils/src/__tests__/Replaceable.test.ts|17✔️|||111ms| -|packages/jest-message-util/src/__tests__/messages.test.ts|11✔️|||205ms| -|packages/jest-mock/src/__tests__/index.test.ts|84✔️|||509ms| -|packages/jest-regex-util/src/__tests__/index.test.ts|8✔️|||56ms| -|packages/jest-repl/src/__tests__/jest_repl.test.js|1✔️|||1s| -|packages/jest-repl/src/__tests__/runtime_cli.test.js|4✔️|||4s| -|packages/jest-reporters/src/__tests__/CoverageReporter.test.js|12✔️|||397ms| -|packages/jest-reporters/src/__tests__/CoverageWorker.test.js|2✔️|||199ms| -|packages/jest-reporters/src/__tests__/DefaultReporter.test.js|2✔️|||148ms| -|packages/jest-reporters/src/__tests__/generateEmptyCoverage.test.js|3✔️|||1s| -|packages/jest-reporters/src/__tests__/getResultHeader.test.js|4✔️|||30ms| -|packages/jest-reporters/src/__tests__/getSnapshotStatus.test.js|3✔️|||28ms| -|packages/jest-reporters/src/__tests__/getSnapshotSummary.test.js|4✔️|||49ms| -|packages/jest-reporters/src/__tests__/getWatermarks.test.ts|2✔️|||37ms| -|packages/jest-reporters/src/__tests__/NotifyReporter.test.ts|18✔️|||166ms| -|packages/jest-reporters/src/__tests__/SummaryReporter.test.js|4✔️|||366ms| -|packages/jest-reporters/src/__tests__/utils.test.ts|10✔️|||85ms| -|packages/jest-reporters/src/__tests__/VerboseReporter.test.js|11✔️|||425ms| -|packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts|11✔️|||666ms| -|packages/jest-resolve/src/__tests__/isBuiltinModule.test.ts|4✔️|||36ms| -|packages/jest-resolve/src/__tests__/resolve.test.ts|16✔️|||1s| -|packages/jest-runner/src/__tests__/testRunner.test.ts|2✔️|||905ms| -|packages/jest-runtime/src/__tests__/instrumentation.test.ts|1✔️|||275ms| -|packages/jest-runtime/src/__tests__/runtime_create_mock_from_module.test.js|3✔️|||606ms| -|packages/jest-runtime/src/__tests__/runtime_environment.test.js|2✔️|||497ms| -|packages/jest-runtime/src/__tests__/runtime_internal_module.test.js|4✔️|||727ms| -|packages/jest-runtime/src/__tests__/runtime_jest_fn.js|4✔️|||479ms| -|packages/jest-runtime/src/__tests__/runtime_jest_spy_on.test.js|2✔️|||521ms| -|packages/jest-runtime/src/__tests__/runtime_mock.test.js|4✔️|||743ms| -|packages/jest-runtime/src/__tests__/runtime_module_directories.test.js|4✔️|||525ms| -|packages/jest-runtime/src/__tests__/runtime_node_path.test.js|4✔️|||1s| -|packages/jest-runtime/src/__tests__/runtime_require_actual.test.js|2✔️|||478ms| -|packages/jest-runtime/src/__tests__/runtime_require_cache.test.js|2✔️|||454ms| -|packages/jest-runtime/src/__tests__/runtime_require_mock.test.js|13✔️|||962ms| -|packages/jest-runtime/src/__tests__/runtime_require_module_no_ext.test.js|1✔️|||261ms| -|packages/jest-runtime/src/__tests__/runtime_require_module_or_mock_transitive_deps.test.js|6✔️|||2s| -|packages/jest-runtime/src/__tests__/runtime_require_module_or_mock.test.js|17✔️|||1s| -|packages/jest-runtime/src/__tests__/runtime_require_module.test.js|27✔️|||2s| -|packages/jest-runtime/src/__tests__/runtime_require_resolve.test.ts|5✔️|||707ms| -|packages/jest-runtime/src/__tests__/runtime_wrap.js|2✔️|||263ms| -|packages/jest-runtime/src/__tests__/Runtime-sourceMaps.test.js|1✔️|||584ms| -|packages/jest-runtime/src/__tests__/Runtime-statics.test.js|2✔️|||162ms| -|packages/jest-serializer/src/__tests__/index.test.ts|17✔️|||158ms| -|packages/jest-snapshot/src/__tests__/dedentLines.test.ts|17✔️|||94ms| -|packages/jest-snapshot/src/__tests__/InlineSnapshots.test.ts|22✔️|||1s| -|packages/jest-snapshot/src/__tests__/matcher.test.ts|1✔️|||131ms| -|packages/jest-snapshot/src/__tests__/mockSerializer.test.ts|10✔️|||45ms| -|packages/jest-snapshot/src/__tests__/printSnapshot.test.ts|71✔️|||1s| -|packages/jest-snapshot/src/__tests__/SnapshotResolver.test.ts|10✔️|||98ms| -|packages/jest-snapshot/src/__tests__/throwMatcher.test.ts|3✔️|||481ms| -|packages/jest-snapshot/src/__tests__/utils.test.ts|26✔️|||214ms| -|packages/jest-source-map/src/__tests__/getCallsite.test.ts|3✔️|||86ms| -|packages/jest-test-result/src/__tests__/formatTestResults.test.ts|1✔️|||53ms| -|packages/jest-test-sequencer/src/__tests__/test_sequencer.test.js|8✔️|||251ms| -|packages/jest-transform/src/__tests__/ScriptTransformer.test.ts|22✔️|||2s| -|packages/jest-transform/src/__tests__/shouldInstrument.test.ts|25✔️|||155ms| -|packages/jest-util/src/__tests__/createProcessObject.test.ts|4✔️|||81ms| -|packages/jest-util/src/__tests__/deepCyclicCopy.test.ts|12✔️|||86ms| -|packages/jest-util/src/__tests__/errorWithStack.test.ts|1✔️|||41ms| -|packages/jest-util/src/__tests__/formatTime.test.ts|11✔️|||82ms| -|packages/jest-util/src/__tests__/globsToMatcher.test.ts|4✔️|||56ms| -|packages/jest-util/src/__tests__/installCommonGlobals.test.ts|2✔️|||68ms| -|packages/jest-util/src/__tests__/isInteractive.test.ts|2✔️|||35ms| -|packages/jest-util/src/__tests__/isPromise.test.ts|10✔️|||30ms| -|packages/jest-validate/src/__tests__/validate.test.ts|23✔️|||283ms| -|packages/jest-validate/src/__tests__/validateCLIOptions.test.js|6✔️|||83ms| -|packages/jest-watcher/src/lib/__tests__/formatTestNameByPattern.test.ts|11✔️|||129ms| -|packages/jest-watcher/src/lib/__tests__/prompt.test.ts|3✔️|||91ms| -|packages/jest-watcher/src/lib/__tests__/scroll.test.ts|5✔️|||57ms| -|packages/jest-worker/src/__tests__/Farm.test.js|10✔️|||158ms| -|packages/jest-worker/src/__tests__/FifoQueue.test.js|3✔️|||48ms| -|packages/jest-worker/src/__tests__/index.test.js|8✔️|||230ms| -|packages/jest-worker/src/__tests__/PriorityQueue.test.js|5✔️|||63ms| -|packages/jest-worker/src/__tests__/process-integration.test.js|5✔️|||62ms| -|packages/jest-worker/src/__tests__/thread-integration.test.js|6✔️|||114ms| -|packages/jest-worker/src/__tests__/WorkerPool.test.js|3✔️|||51ms| -|packages/jest-worker/src/base/__tests__/BaseWorkerPool.test.js|11✔️|||653ms| -|packages/jest-worker/src/workers/__tests__/ChildProcessWorker.test.js|17✔️|||184ms| -|packages/jest-worker/src/workers/__tests__/NodeThreadsWorker.test.js|15✔️|||258ms| -|packages/jest-worker/src/workers/__tests__/processChild.test.js|10✔️|||135ms| -|packages/jest-worker/src/workers/__tests__/threadChild.test.js|10✔️|||120ms| -|packages/pretty-format/src/__tests__/AsymmetricMatcher.test.ts|38✔️|||137ms| -|packages/pretty-format/src/__tests__/ConvertAnsi.test.ts|6✔️|||43ms| -|packages/pretty-format/src/__tests__/DOMCollection.test.ts|10✔️|||64ms| -|packages/pretty-format/src/__tests__/DOMElement.test.ts|28✔️|||148ms| -|packages/pretty-format/src/__tests__/Immutable.test.ts|111✔️|||443ms| -|packages/pretty-format/src/__tests__/prettyFormat.test.ts|86✔️|||219ms| -|packages/pretty-format/src/__tests__/react.test.tsx|55✔️|||325ms| -|packages/pretty-format/src/__tests__/ReactElement.test.ts|3✔️|||64ms| +|e2e/__tests__/asyncAndCallback.test.ts|1✅|||746ms| +|e2e/__tests__/asyncRegenerator.test.ts|1✅|||4s| +|e2e/__tests__/autoClearMocks.test.ts|2✅|||2s| +|e2e/__tests__/autoResetMocks.test.ts|2✅|||2s| +|e2e/__tests__/autoRestoreMocks.test.ts|2✅|||2s| +|e2e/__tests__/babelPluginJestHoist.test.ts|1✅|||6s| +|e2e/__tests__/badSourceMap.test.ts|1✅|||858ms| +|e2e/__tests__/beforeAllFiltered.ts|1✅|||958ms| +|e2e/__tests__/beforeEachQueue.ts|1✅||1⚪|55ms| +|e2e/__tests__/callDoneTwice.test.ts|1✅|||882ms| +|e2e/__tests__/chaiAssertionLibrary.ts|1✅|||2s| +|e2e/__tests__/circularInequality.test.ts|1✅|||1s| +|e2e/__tests__/circusConcurrentEach.test.ts|2✅|||2s| +|e2e/__tests__/circusDeclarationErrors.test.ts|1✅|||869ms| +|e2e/__tests__/clearCache.test.ts|2✅|||1s| +|e2e/__tests__/cliHandlesExactFilenames.test.ts|2✅|||1s| +|e2e/__tests__/compareDomNodes.test.ts|1✅|||1s| +|e2e/__tests__/config.test.ts|6✅|||4s| +|e2e/__tests__/console.test.ts|7✅|||8s| +|e2e/__tests__/consoleAfterTeardown.test.ts|1✅|||1s| +|e2e/__tests__/consoleLogOutputWhenRunInBand.test.ts|1✅|||793ms| +|e2e/__tests__/coverageHandlebars.test.ts|1✅|||2s| +|e2e/__tests__/coverageRemapping.test.ts|1✅|||13s| +|e2e/__tests__/coverageReport.test.ts|12✅|||22s| +|e2e/__tests__/coverageThreshold.test.ts|5✅|||5s| +|e2e/__tests__/coverageTransformInstrumented.test.ts|1✅|||5s| +|e2e/__tests__/coverageWithoutTransform.test.ts|1✅|||1s| +|e2e/__tests__/createProcessObject.test.ts|1✅|||908ms| +|e2e/__tests__/customInlineSnapshotMatchers.test.ts|1✅|||2s| +|e2e/__tests__/customMatcherStackTrace.test.ts|2✅|||2s| +|e2e/__tests__/customReporters.test.ts|9✅|||7s| +|e2e/__tests__/customResolver.test.ts|1✅|||826ms| +|e2e/__tests__/customTestSequencers.test.ts|3✅|||3s| +|e2e/__tests__/debug.test.ts|1✅|||899ms| +|e2e/__tests__/declarationErrors.test.ts|3✅|||2s| +|e2e/__tests__/dependencyClash.test.ts|1✅|||833ms| +|e2e/__tests__/detectOpenHandles.ts|8✅|||8s| +|e2e/__tests__/domDiffing.test.ts|1✅|||1s| +|e2e/__tests__/doneInHooks.test.ts|1✅|||855ms| +|e2e/__tests__/dynamicRequireDependencies.ts|1✅|||847ms| +|e2e/__tests__/each.test.ts|7✅|||5s| +|e2e/__tests__/emptyDescribeWithHooks.test.ts|4✅|||3s| +|e2e/__tests__/emptySuiteError.test.ts|1✅|||885ms| +|e2e/__tests__/env.test.ts|6✅|||5s| +|e2e/__tests__/environmentAfterTeardown.test.ts|1✅|||892ms| +|e2e/__tests__/errorOnDeprecated.test.ts|1✅||24⚪|56ms| +|e2e/__tests__/esmConfigFile.test.ts|3✅|||526ms| +|e2e/__tests__/executeTestsOnceInMpr.ts|1✅|||976ms| +|e2e/__tests__/existentRoots.test.ts|4✅|||627ms| +|e2e/__tests__/expectAsyncMatcher.test.ts|2✅|||3s| +|e2e/__tests__/expectInVm.test.ts|1✅|||2s| +|e2e/__tests__/extraGlobals.test.ts|1✅|||1s| +|e2e/__tests__/failureDetailsProperty.test.ts|1✅|||907ms| +|e2e/__tests__/failures.test.ts|7✅|||10s| +|e2e/__tests__/fakePromises.test.ts|2✅|||2s| +|e2e/__tests__/fatalWorkerError.test.ts|1✅|||3s| +|e2e/__tests__/filter.test.ts|7✅|||5s| +|e2e/__tests__/findRelatedFiles.test.ts|5✅|||6s| +|e2e/__tests__/focusedTests.test.ts|1✅|||888ms| +|e2e/__tests__/forceExit.test.ts|1✅|||2s| +|e2e/__tests__/generatorMock.test.ts|1✅|||1s| +|e2e/__tests__/global-mutation.test.ts|1✅|||40ms| +|e2e/__tests__/global.test.ts|1✅|||31ms| +|e2e/__tests__/globals.test.ts|10✅|||8s| +|e2e/__tests__/globalSetup.test.ts|10✅|||14s| +|e2e/__tests__/globalTeardown.test.ts|7✅|||12s| +|e2e/__tests__/hasteMapMockChanged.test.ts|1✅|||379ms| +|e2e/__tests__/hasteMapSha1.test.ts|1✅|||298ms| +|e2e/__tests__/hasteMapSize.test.ts|2✅|||397ms| +|e2e/__tests__/importedGlobals.test.ts|1✅|||1s| +|e2e/__tests__/injectGlobals.test.ts|2✅|||2s| +|e2e/__tests__/jasmineAsync.test.ts|15✅|||28s| +|e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts|1✅||1⚪|72ms| +|e2e/__tests__/jest.config.js.test.ts|3✅|||2s| +|e2e/__tests__/jest.config.ts.test.ts|5✅|||14s| +|[e2e/__tests__/jestChangedFiles.test.ts](#r0s75)|9✅|1❌||9s| +|e2e/__tests__/jestEnvironmentJsdom.test.ts|1✅|||2s| +|e2e/__tests__/jestRequireActual.test.ts|1✅|||2s| +|e2e/__tests__/jestRequireMock.test.ts|1✅|||2s| +|e2e/__tests__/json.test.ts|2✅|||29ms| +|e2e/__tests__/jsonReporter.test.ts|2✅|||2s| +|e2e/__tests__/lifecycles.ts|1✅|||861ms| +|e2e/__tests__/listTests.test.ts|2✅|||945ms| +|e2e/__tests__/locationInResults.test.ts|2✅|||2s| +|e2e/__tests__/logHeapUsage.test.ts|1✅|||884ms| +|e2e/__tests__/mockNames.test.ts|8✅|||7s| +|e2e/__tests__/modernFakeTimers.test.ts|2✅|||2s| +|e2e/__tests__/moduleNameMapper.test.ts|5✅|||5s| +|e2e/__tests__/moduleParentNullInTest.ts|1✅|||886ms| +|e2e/__tests__/multiProjectRunner.test.ts|14✅|||16s| +|e2e/__tests__/nativeAsyncMock.test.ts|1✅|||55ms| +|e2e/__tests__/nativeEsm.test.ts|2✅||1⚪|905ms| +|e2e/__tests__/nativeEsmTypescript.test.ts|1✅|||956ms| +|e2e/__tests__/nestedEventLoop.test.ts|1✅|||1s| +|e2e/__tests__/nestedTestDefinitions.test.ts|4✅|||5s| +|e2e/__tests__/nodePath.test.ts|1✅|||866ms| +|e2e/__tests__/noTestFound.test.ts|2✅|||1s| +|e2e/__tests__/noTestsFound.test.ts|5✅|||3s| +|[e2e/__tests__/onlyChanged.test.ts](#r0s98)|8✅|1❌||22s| +|e2e/__tests__/onlyFailuresNonWatch.test.ts|1✅|||3s| +|e2e/__tests__/overrideGlobals.test.ts|2✅|||2s| +|e2e/__tests__/pnp.test.ts|1✅|||3s| +|e2e/__tests__/presets.test.ts|2✅|||2s| +|e2e/__tests__/processExit.test.ts|1✅|||1s| +|e2e/__tests__/promiseReject.test.ts|1✅|||967ms| +|e2e/__tests__/regexCharInPath.test.ts|1✅|||962ms| +|e2e/__tests__/requireAfterTeardown.test.ts|1✅|||921ms| +|e2e/__tests__/requireMain.test.ts|1✅|||1s| +|e2e/__tests__/requireMainAfterCreateRequire.test.ts|1✅|||966ms| +|e2e/__tests__/requireMainIsolateModules.test.ts|1✅|||976ms| +|e2e/__tests__/requireMainResetModules.test.ts|2✅|||2s| +|e2e/__tests__/requireV8Module.test.ts|1✅|||30ms| +|e2e/__tests__/resetModules.test.ts|1✅|||926ms| +|e2e/__tests__/resolve.test.ts|1✅|||2s| +|e2e/__tests__/resolveGetPaths.test.ts|1✅|||1s| +|e2e/__tests__/resolveNodeModule.test.ts|1✅|||943ms| +|e2e/__tests__/resolveNoFileExtensions.test.ts|2✅|||1s| +|e2e/__tests__/resolveWithPaths.test.ts|1✅|||1s| +|e2e/__tests__/runProgrammatically.test.ts|2✅|||575ms| +|e2e/__tests__/runTestsByPath.test.ts|1✅|||2s| +|e2e/__tests__/runtimeInternalModuleRegistry.test.ts|1✅|||1s| +|e2e/__tests__/selectProjects.test.ts|18✅|||5s| +|e2e/__tests__/setImmediate.test.ts|1✅|||904ms| +|e2e/__tests__/setupFilesAfterEnvConfig.test.ts|2✅|||2s| +|e2e/__tests__/showConfig.test.ts|1✅|||195ms| +|e2e/__tests__/skipBeforeAfterAll.test.ts|1✅|||1s| +|e2e/__tests__/snapshot-unknown.test.ts|1✅|||838ms| +|e2e/__tests__/snapshot.test.ts|9✅|||14s| +|e2e/__tests__/snapshotMockFs.test.ts|1✅|||883ms| +|e2e/__tests__/snapshotResolver.test.ts|1✅|||823ms| +|e2e/__tests__/snapshotSerializers.test.ts|2✅|||2s| +|e2e/__tests__/stackTrace.test.ts|7✅|||5s| +|e2e/__tests__/stackTraceNoCaptureStackTrace.test.ts|1✅|||899ms| +|e2e/__tests__/stackTraceSourceMaps.test.ts|1✅|||2s| +|e2e/__tests__/stackTraceSourceMapsWithCoverage.test.ts|1✅|||2s| +|e2e/__tests__/supportsDashedArgs.ts|2✅|||968ms| +|e2e/__tests__/symbol.test.ts|1✅|||49ms| +|e2e/__tests__/testEnvironment.test.ts|1✅|||2s| +|e2e/__tests__/testEnvironmentAsync.test.ts|1✅|||1s| +|e2e/__tests__/testEnvironmentCircus.test.ts|1✅|||2s| +|e2e/__tests__/testEnvironmentCircusAsync.test.ts|1✅|||2s| +|e2e/__tests__/testFailureExitCode.test.ts|2✅|||4s| +|e2e/__tests__/testInRoot.test.ts|1✅|||1s| +|e2e/__tests__/testNamePattern.test.ts|1✅|||859ms| +|e2e/__tests__/testNamePatternSkipped.test.ts|1✅|||991ms| +|e2e/__tests__/testPathPatternReporterMessage.test.ts|1✅|||3s| +|e2e/__tests__/testResultsProcessor.test.ts|1✅|||910ms| +|e2e/__tests__/testRetries.test.ts|4✅|||3s| +|e2e/__tests__/testTodo.test.ts|5✅|||4s| +|e2e/__tests__/timeouts.test.ts|4✅|||4s| +|e2e/__tests__/timeoutsLegacy.test.ts|1✅||3⚪|71ms| +|e2e/__tests__/timerResetMocks.test.ts|2✅|||2s| +|e2e/__tests__/timerUseRealTimers.test.ts|1✅|||1s| +|e2e/__tests__/toMatchInlineSnapshot.test.ts|12✅|||24s| +|e2e/__tests__/toMatchInlineSnapshotWithRetries.test.ts|3✅|||5s| +|e2e/__tests__/toMatchSnapshot.test.ts|9✅|||17s| +|e2e/__tests__/toMatchSnapshotWithRetries.test.ts|2✅|||4s| +|e2e/__tests__/toMatchSnapshotWithStringSerializer.test.ts|3✅|||4s| +|e2e/__tests__/toThrowErrorMatchingInlineSnapshot.test.ts|4✅|||4s| +|e2e/__tests__/toThrowErrorMatchingSnapshot.test.ts|5✅|||4s| +|e2e/__tests__/transform.test.ts|16✅|||27s| +|e2e/__tests__/transformLinkedModules.test.ts|1✅|||783ms| +|e2e/__tests__/typescriptCoverage.test.ts|1✅|||3s| +|e2e/__tests__/unexpectedToken.test.ts|3✅|||3s| +|e2e/__tests__/useStderr.test.ts|1✅|||1s| +|e2e/__tests__/v8Coverage.test.ts|2✅|||2s| +|e2e/__tests__/verbose.test.ts|1✅|||683ms| +|e2e/__tests__/version.test.ts|1✅|||138ms| +|e2e/__tests__/watchModeNoAccess.test.ts|1✅|||4s| +|e2e/__tests__/watchModeOnlyFailed.test.ts|1✅|||1s| +|e2e/__tests__/watchModePatterns.test.ts|2✅|||4s| +|e2e/__tests__/watchModeUpdateSnapshot.test.ts|1✅|||1s| +|e2e/__tests__/workerForceExit.test.ts|2✅|||5s| +|e2e/__tests__/wrongEnv.test.ts|5✅|||4s| +|e2e/custom-test-sequencer/a.test.js|1✅|||29ms| +|e2e/custom-test-sequencer/b.test.js|1✅|||21ms| +|e2e/custom-test-sequencer/c.test.js|1✅|||42ms| +|e2e/custom-test-sequencer/d.test.js|1✅|||21ms| +|e2e/custom-test-sequencer/e.test.js|1✅|||27ms| +|e2e/test-in-root/spec.js|1✅|||19ms| +|e2e/test-in-root/test.js|1✅|||37ms| +|e2e/timer-reset-mocks/after-reset-all-mocks/timerAndMock.test.js|2✅|||30ms| +|e2e/timer-reset-mocks/with-reset-mocks/timerWithMock.test.js|1✅|||34ms| +|e2e/v8-coverage/empty-sourcemap/test.ts|1✅|||31ms| +|examples/angular/app.component.spec.ts|3✅|||654ms| +|examples/angular/shared/data.service.spec.ts|2✅|||431ms| +|examples/angular/shared/sub.service.spec.ts|1✅|||109ms| +|examples/async/__tests__/user.test.js|8✅|||96ms| +|examples/automatic-mocks/__tests__/automock.test.js|2✅|||74ms| +|examples/automatic-mocks/__tests__/createMockFromModule.test.js|2✅|||115ms| +|examples/automatic-mocks/__tests__/disableAutomocking.test.js|1✅|||24ms| +|examples/enzyme/__tests__/CheckboxWithLabel-test.js|1✅|||434ms| +|examples/getting-started/sum.test.js|1✅|||78ms| +|examples/jquery/__tests__/display_user.test.js|1✅|||196ms| +|examples/jquery/__tests__/fetch_current_user.test.js|2✅|||196ms| +|examples/manual-mocks/__tests__/file_summarizer.test.js|1✅|||87ms| +|examples/manual-mocks/__tests__/lodashMocking.test.js|1✅|||109ms| +|examples/manual-mocks/__tests__/user.test.js|1✅|||41ms| +|examples/manual-mocks/__tests__/userMocked.test.js|1✅|||105ms| +|examples/module-mock/__tests__/full_mock.js|1✅|||60ms| +|examples/module-mock/__tests__/mock_per_test.js|2✅|||116ms| +|examples/module-mock/__tests__/partial_mock.js|1✅|||215ms| +|examples/mongodb/__test__/db.test.js|1✅|||236ms| +|examples/react-native/__tests__/intro.test.js|4✅|||9s| +|examples/react-testing-library/__tests__/CheckboxWithLabel-test.js|1✅|||469ms| +|examples/react/__tests__/CheckboxWithLabel-test.js|1✅|||256ms| +|examples/snapshot/__tests__/clock.react.test.js|1✅|||62ms| +|examples/snapshot/__tests__/link.react.test.js|4✅|||181ms| +|examples/timer/__tests__/infinite_timer_game.test.js|1✅|||94ms| +|examples/timer/__tests__/timer_game.test.js|3✅|||74ms| +|examples/typescript/__tests__/calc.test.ts|6✅|||276ms| +|examples/typescript/__tests__/CheckboxWithLabel-test.tsx|1✅|||227ms| +|examples/typescript/__tests__/sub-test.ts|1✅|||43ms| +|examples/typescript/__tests__/sum-test.ts|2✅|||69ms| +|examples/typescript/__tests__/sum.test.js|2✅|||100ms| +|packages/babel-jest/src/__tests__/index.ts|6✅|||371ms| +|packages/babel-plugin-jest-hoist/src/__tests__/hoistPlugin.test.ts|4✅|||347ms| +|packages/diff-sequences/src/__tests__/index.property.test.ts|7✅|||357ms| +|packages/diff-sequences/src/__tests__/index.test.ts|48✅|||195ms| +|packages/expect/src/__tests__/assertionCounts.test.ts|6✅|||60ms| +|packages/expect/src/__tests__/asymmetricMatchers.test.ts|38✅|||207ms| +|packages/expect/src/__tests__/extend.test.ts|10✅|||99ms| +|packages/expect/src/__tests__/isError.test.ts|4✅|||43ms| +|packages/expect/src/__tests__/matchers-toContain.property.test.ts|2✅|||236ms| +|packages/expect/src/__tests__/matchers-toContainEqual.property.test.ts|2✅|||287ms| +|packages/expect/src/__tests__/matchers-toEqual.property.test.ts|2✅|||1s| +|packages/expect/src/__tests__/matchers-toStrictEqual.property.test.ts|3✅|||394ms| +|packages/expect/src/__tests__/matchers.test.js|592✅|||862ms| +|packages/expect/src/__tests__/spyMatchers.test.ts|248✅|||395ms| +|packages/expect/src/__tests__/stacktrace.test.ts|3✅|||69ms| +|packages/expect/src/__tests__/symbolInObjects.test.ts|3✅|||33ms| +|packages/expect/src/__tests__/toEqual-dom.test.ts|12✅|||99ms| +|packages/expect/src/__tests__/toThrowMatchers.test.ts|98✅|||257ms| +|packages/expect/src/__tests__/utils.test.ts|41✅|||147ms| +|packages/jest-circus/src/__tests__/afterAll.test.ts|6✅|||6s| +|packages/jest-circus/src/__tests__/baseTest.test.ts|2✅|||3s| +|packages/jest-circus/src/__tests__/circusItTestError.test.ts|8✅|||300ms| +|packages/jest-circus/src/__tests__/circusItTodoTestError.test.ts|3✅|||81ms| +|packages/jest-circus/src/__tests__/hooks.test.ts|3✅|||4s| +|packages/jest-circus/src/__tests__/hooksError.test.ts|32✅|||127ms| +|packages/jest-cli/src/__tests__/cli/args.test.ts|17✅|||345ms| +|packages/jest-cli/src/init/__tests__/init.test.js|24✅|||119ms| +|packages/jest-cli/src/init/__tests__/modifyPackageJson.test.ts|4✅|||30ms| +|packages/jest-config/src/__tests__/Defaults.test.ts|1✅|||672ms| +|packages/jest-config/src/__tests__/getMaxWorkers.test.ts|7✅|||67ms| +|packages/jest-config/src/__tests__/normalize.test.js|118✅|||798ms| +|packages/jest-config/src/__tests__/readConfig.test.ts|1✅|||76ms| +|packages/jest-config/src/__tests__/readConfigs.test.ts|3✅|||135ms| +|packages/jest-config/src/__tests__/resolveConfigPath.test.ts|10✅|||183ms| +|packages/jest-config/src/__tests__/setFromArgv.test.ts|4✅|||53ms| +|packages/jest-config/src/__tests__/validatePattern.test.ts|4✅|||52ms| +|packages/jest-console/src/__tests__/bufferedConsole.test.ts|20✅|||171ms| +|packages/jest-console/src/__tests__/CustomConsole.test.ts|23✅|||115ms| +|packages/jest-console/src/__tests__/getConsoleOutput.test.ts|12✅|||56ms| +|packages/jest-core/src/__tests__/FailedTestsCache.test.js|1✅|||25ms| +|packages/jest-core/src/__tests__/getNoTestsFoundMessage.test.js|5✅|||61ms| +|packages/jest-core/src/__tests__/globals.test.ts|1✅|||22ms| +|packages/jest-core/src/__tests__/runJest.test.js|2✅|||261ms| +|packages/jest-core/src/__tests__/SearchSource.test.ts|27✅|||3s| +|packages/jest-core/src/__tests__/SnapshotInteractiveMode.test.js|13✅|||89ms| +|packages/jest-core/src/__tests__/TestScheduler.test.js|8✅|||520ms| +|packages/jest-core/src/__tests__/testSchedulerHelper.test.js|12✅|||48ms| +|packages/jest-core/src/__tests__/watch.test.js|80✅|||7s| +|packages/jest-core/src/__tests__/watchFileChanges.test.ts|1✅|||2s| +|packages/jest-core/src/__tests__/watchFilenamePatternMode.test.js|2✅|||165ms| +|packages/jest-core/src/__tests__/watchTestNamePatternMode.test.js|1✅|||246ms| +|packages/jest-core/src/lib/__tests__/isValidPath.test.ts|3✅|||166ms| +|packages/jest-core/src/lib/__tests__/logDebugMessages.test.ts|3✅|||48ms| +|packages/jest-create-cache-key-function/src/__tests__/index.test.ts|1✅|||75ms| +|packages/jest-diff/src/__tests__/diff.test.ts|107✅|||625ms| +|packages/jest-diff/src/__tests__/diffStringsRaw.test.ts|2✅|||55ms| +|packages/jest-diff/src/__tests__/getAlignedDiffs.test.ts|24✅|||72ms| +|packages/jest-diff/src/__tests__/joinAlignedDiffs.test.ts|6✅|||44ms| +|packages/jest-docblock/src/__tests__/index.test.ts|36✅|||177ms| +|packages/jest-each/src/__tests__/array.test.ts|159✅|||192ms| +|packages/jest-each/src/__tests__/index.test.ts|10✅|||44ms| +|packages/jest-each/src/__tests__/template.test.ts|242✅|||483ms| +|packages/jest-environment-jsdom/src/__tests__/jsdom_environment.test.ts|2✅|||783ms| +|packages/jest-environment-node/src/__tests__/node_environment.test.ts|6✅|||184ms| +|packages/jest-fake-timers/src/__tests__/legacyFakeTimers.test.ts|50✅|||302ms| +|packages/jest-fake-timers/src/__tests__/modernFakeTimers.test.ts|40✅|||317ms| +|packages/jest-get-type/src/__tests__/getType.test.ts|14✅|||45ms| +|packages/jest-get-type/src/__tests__/isPrimitive.test.ts|18✅|||36ms| +|packages/jest-globals/src/__tests__/index.ts|1✅|||533ms| +|packages/jest-haste-map/src/__tests__/get_mock_name.test.js|1✅|||22ms| +|packages/jest-haste-map/src/__tests__/includes_dotfiles.test.ts|1✅|||337ms| +|packages/jest-haste-map/src/__tests__/index.test.js|44✅|||1s| +|packages/jest-haste-map/src/__tests__/worker.test.js|7✅|||100ms| +|packages/jest-haste-map/src/crawlers/__tests__/node.test.js|10✅|||170ms| +|packages/jest-haste-map/src/crawlers/__tests__/watchman.test.js|8✅|||153ms| +|packages/jest-haste-map/src/lib/__tests__/dependencyExtractor.test.js|15✅|||56ms| +|packages/jest-haste-map/src/lib/__tests__/fast_path.test.js|5✅|||29ms| +|packages/jest-haste-map/src/lib/__tests__/getPlatformExtension.test.js|1✅|||35ms| +|packages/jest-haste-map/src/lib/__tests__/isRegExpSupported.test.js|2✅|||31ms| +|packages/jest-haste-map/src/lib/__tests__/normalizePathSep.test.js|2✅|||35ms| +|packages/jest-jasmine2/src/__tests__/concurrent.test.ts|3✅|||24ms| +|packages/jest-jasmine2/src/__tests__/expectationResultFactory.test.ts|7✅|||70ms| +|packages/jest-jasmine2/src/__tests__/hooksError.test.ts|32✅|||51ms| +|packages/jest-jasmine2/src/__tests__/iterators.test.ts|4✅|||43ms| +|packages/jest-jasmine2/src/__tests__/itTestError.test.ts|6✅|||32ms| +|packages/jest-jasmine2/src/__tests__/itToTestAlias.test.ts|1✅|||23ms| +|packages/jest-jasmine2/src/__tests__/pTimeout.test.ts|3✅|||44ms| +|packages/jest-jasmine2/src/__tests__/queueRunner.test.ts|6✅|||93ms| +|packages/jest-jasmine2/src/__tests__/reporter.test.ts|1✅|||107ms| +|packages/jest-jasmine2/src/__tests__/Suite.test.ts|1✅|||84ms| +|packages/jest-jasmine2/src/__tests__/todoError.test.ts|3✅|||27ms| +|packages/jest-leak-detector/src/__tests__/index.test.ts|6✅|||986ms| +|packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceable.test.ts|11✅|||49ms| +|packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceableDom.test.ts|2✅|||48ms| +|packages/jest-matcher-utils/src/__tests__/index.test.ts|48✅|||391ms| +|packages/jest-matcher-utils/src/__tests__/printDiffOrStringify.test.ts|21✅|||114ms| +|packages/jest-matcher-utils/src/__tests__/Replaceable.test.ts|17✅|||111ms| +|packages/jest-message-util/src/__tests__/messages.test.ts|11✅|||205ms| +|packages/jest-mock/src/__tests__/index.test.ts|84✅|||509ms| +|packages/jest-regex-util/src/__tests__/index.test.ts|8✅|||56ms| +|packages/jest-repl/src/__tests__/jest_repl.test.js|1✅|||1s| +|packages/jest-repl/src/__tests__/runtime_cli.test.js|4✅|||4s| +|packages/jest-reporters/src/__tests__/CoverageReporter.test.js|12✅|||397ms| +|packages/jest-reporters/src/__tests__/CoverageWorker.test.js|2✅|||199ms| +|packages/jest-reporters/src/__tests__/DefaultReporter.test.js|2✅|||148ms| +|packages/jest-reporters/src/__tests__/generateEmptyCoverage.test.js|3✅|||1s| +|packages/jest-reporters/src/__tests__/getResultHeader.test.js|4✅|||30ms| +|packages/jest-reporters/src/__tests__/getSnapshotStatus.test.js|3✅|||28ms| +|packages/jest-reporters/src/__tests__/getSnapshotSummary.test.js|4✅|||49ms| +|packages/jest-reporters/src/__tests__/getWatermarks.test.ts|2✅|||37ms| +|packages/jest-reporters/src/__tests__/NotifyReporter.test.ts|18✅|||166ms| +|packages/jest-reporters/src/__tests__/SummaryReporter.test.js|4✅|||366ms| +|packages/jest-reporters/src/__tests__/utils.test.ts|10✅|||85ms| +|packages/jest-reporters/src/__tests__/VerboseReporter.test.js|11✅|||425ms| +|packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts|11✅|||666ms| +|packages/jest-resolve/src/__tests__/isBuiltinModule.test.ts|4✅|||36ms| +|packages/jest-resolve/src/__tests__/resolve.test.ts|16✅|||1s| +|packages/jest-runner/src/__tests__/testRunner.test.ts|2✅|||905ms| +|packages/jest-runtime/src/__tests__/instrumentation.test.ts|1✅|||275ms| +|packages/jest-runtime/src/__tests__/runtime_create_mock_from_module.test.js|3✅|||606ms| +|packages/jest-runtime/src/__tests__/runtime_environment.test.js|2✅|||497ms| +|packages/jest-runtime/src/__tests__/runtime_internal_module.test.js|4✅|||727ms| +|packages/jest-runtime/src/__tests__/runtime_jest_fn.js|4✅|||479ms| +|packages/jest-runtime/src/__tests__/runtime_jest_spy_on.test.js|2✅|||521ms| +|packages/jest-runtime/src/__tests__/runtime_mock.test.js|4✅|||743ms| +|packages/jest-runtime/src/__tests__/runtime_module_directories.test.js|4✅|||525ms| +|packages/jest-runtime/src/__tests__/runtime_node_path.test.js|4✅|||1s| +|packages/jest-runtime/src/__tests__/runtime_require_actual.test.js|2✅|||478ms| +|packages/jest-runtime/src/__tests__/runtime_require_cache.test.js|2✅|||454ms| +|packages/jest-runtime/src/__tests__/runtime_require_mock.test.js|13✅|||962ms| +|packages/jest-runtime/src/__tests__/runtime_require_module_no_ext.test.js|1✅|||261ms| +|packages/jest-runtime/src/__tests__/runtime_require_module_or_mock_transitive_deps.test.js|6✅|||2s| +|packages/jest-runtime/src/__tests__/runtime_require_module_or_mock.test.js|17✅|||1s| +|packages/jest-runtime/src/__tests__/runtime_require_module.test.js|27✅|||2s| +|packages/jest-runtime/src/__tests__/runtime_require_resolve.test.ts|5✅|||707ms| +|packages/jest-runtime/src/__tests__/runtime_wrap.js|2✅|||263ms| +|packages/jest-runtime/src/__tests__/Runtime-sourceMaps.test.js|1✅|||584ms| +|packages/jest-runtime/src/__tests__/Runtime-statics.test.js|2✅|||162ms| +|packages/jest-serializer/src/__tests__/index.test.ts|17✅|||158ms| +|packages/jest-snapshot/src/__tests__/dedentLines.test.ts|17✅|||94ms| +|packages/jest-snapshot/src/__tests__/InlineSnapshots.test.ts|22✅|||1s| +|packages/jest-snapshot/src/__tests__/matcher.test.ts|1✅|||131ms| +|packages/jest-snapshot/src/__tests__/mockSerializer.test.ts|10✅|||45ms| +|packages/jest-snapshot/src/__tests__/printSnapshot.test.ts|71✅|||1s| +|packages/jest-snapshot/src/__tests__/SnapshotResolver.test.ts|10✅|||98ms| +|packages/jest-snapshot/src/__tests__/throwMatcher.test.ts|3✅|||481ms| +|packages/jest-snapshot/src/__tests__/utils.test.ts|26✅|||214ms| +|packages/jest-source-map/src/__tests__/getCallsite.test.ts|3✅|||86ms| +|packages/jest-test-result/src/__tests__/formatTestResults.test.ts|1✅|||53ms| +|packages/jest-test-sequencer/src/__tests__/test_sequencer.test.js|8✅|||251ms| +|packages/jest-transform/src/__tests__/ScriptTransformer.test.ts|22✅|||2s| +|packages/jest-transform/src/__tests__/shouldInstrument.test.ts|25✅|||155ms| +|packages/jest-util/src/__tests__/createProcessObject.test.ts|4✅|||81ms| +|packages/jest-util/src/__tests__/deepCyclicCopy.test.ts|12✅|||86ms| +|packages/jest-util/src/__tests__/errorWithStack.test.ts|1✅|||41ms| +|packages/jest-util/src/__tests__/formatTime.test.ts|11✅|||82ms| +|packages/jest-util/src/__tests__/globsToMatcher.test.ts|4✅|||56ms| +|packages/jest-util/src/__tests__/installCommonGlobals.test.ts|2✅|||68ms| +|packages/jest-util/src/__tests__/isInteractive.test.ts|2✅|||35ms| +|packages/jest-util/src/__tests__/isPromise.test.ts|10✅|||30ms| +|packages/jest-validate/src/__tests__/validate.test.ts|23✅|||283ms| +|packages/jest-validate/src/__tests__/validateCLIOptions.test.js|6✅|||83ms| +|packages/jest-watcher/src/lib/__tests__/formatTestNameByPattern.test.ts|11✅|||129ms| +|packages/jest-watcher/src/lib/__tests__/prompt.test.ts|3✅|||91ms| +|packages/jest-watcher/src/lib/__tests__/scroll.test.ts|5✅|||57ms| +|packages/jest-worker/src/__tests__/Farm.test.js|10✅|||158ms| +|packages/jest-worker/src/__tests__/FifoQueue.test.js|3✅|||48ms| +|packages/jest-worker/src/__tests__/index.test.js|8✅|||230ms| +|packages/jest-worker/src/__tests__/PriorityQueue.test.js|5✅|||63ms| +|packages/jest-worker/src/__tests__/process-integration.test.js|5✅|||62ms| +|packages/jest-worker/src/__tests__/thread-integration.test.js|6✅|||114ms| +|packages/jest-worker/src/__tests__/WorkerPool.test.js|3✅|||51ms| +|packages/jest-worker/src/base/__tests__/BaseWorkerPool.test.js|11✅|||653ms| +|packages/jest-worker/src/workers/__tests__/ChildProcessWorker.test.js|17✅|||184ms| +|packages/jest-worker/src/workers/__tests__/NodeThreadsWorker.test.js|15✅|||258ms| +|packages/jest-worker/src/workers/__tests__/processChild.test.js|10✅|||135ms| +|packages/jest-worker/src/workers/__tests__/threadChild.test.js|10✅|||120ms| +|packages/pretty-format/src/__tests__/AsymmetricMatcher.test.ts|38✅|||137ms| +|packages/pretty-format/src/__tests__/ConvertAnsi.test.ts|6✅|||43ms| +|packages/pretty-format/src/__tests__/DOMCollection.test.ts|10✅|||64ms| +|packages/pretty-format/src/__tests__/DOMElement.test.ts|28✅|||148ms| +|packages/pretty-format/src/__tests__/Immutable.test.ts|111✅|||443ms| +|packages/pretty-format/src/__tests__/prettyFormat.test.ts|86✅|||219ms| +|packages/pretty-format/src/__tests__/react.test.tsx|55✅|||325ms| +|packages/pretty-format/src/__tests__/ReactElement.test.ts|3✅|||64ms| ### ❌ e2e/__tests__/jestChangedFiles.test.ts ``` -✔️ gets hg SCM roots and dedupes them -✔️ gets git SCM roots and dedupes them -✔️ gets mixed git and hg SCM roots and dedupes them -✔️ gets changed files for git -✔️ monitors only root paths for git -✔️ does not find changes in files with no diff, for git -✔️ handles a bad revision for "changedSince", for git +✅ gets hg SCM roots and dedupes them +✅ gets git SCM roots and dedupes them +✅ gets mixed git and hg SCM roots and dedupes them +✅ gets changed files for git +✅ monitors only root paths for git +✅ does not find changes in files with no diff, for git +✅ handles a bad revision for "changedSince", for git ❌ gets changed files for hg Error: abort: empty revision range -✔️ monitors only root paths for hg -✔️ handles a bad revision for "changedSince", for hg +✅ monitors only root paths for hg +✅ handles a bad revision for "changedSince", for hg ``` ### ❌ e2e/__tests__/onlyChanged.test.ts ``` -✔️ run for "onlyChanged" and "changedSince" -✔️ run only changed files -✔️ report test coverage for only changed files -✔️ report test coverage of source on test file change under only changed files -✔️ do not pickup non-tested files when reporting coverage on only changed files -✔️ collect test coverage when using onlyChanged -✔️ onlyChanged in config is overwritten by --all or testPathPattern +✅ run for "onlyChanged" and "changedSince" +✅ run only changed files +✅ report test coverage for only changed files +✅ report test coverage of source on test file change under only changed files +✅ do not pickup non-tested files when reporting coverage on only changed files +✅ collect test coverage when using onlyChanged +✅ onlyChanged in config is overwritten by --all or testPathPattern ❌ gets changed files for hg Error: expect(received).toMatch(expected) -✔️ path on Windows is case-insensitive +✅ path on Windows is case-insensitive ``` \ No newline at end of file diff --git a/__tests__/__outputs__/mocha-json.md b/__tests__/__outputs__/mocha-json.md index 9eadcae..e104bc4 100644 --- a/__tests__/__outputs__/mocha-json.md +++ b/__tests__/__outputs__/mocha-json.md @@ -3,12 +3,12 @@ **6** tests were completed in **12ms** with **1** passed, **4** failed and **1** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[test/main.test.js](#r0s0)|1✔️|3❌||1ms| -|[test/second.test.js](#r0s1)||1❌|1✖️|8ms| +|[test/main.test.js](#r0s0)|1✅|3❌||1ms| +|[test/second.test.js](#r0s1)||1❌|1⚪|8ms| ### ❌ test/main.test.js ``` Test 1 - ✔️ Passing test + ✅ Passing test Test 1 Test 1.1 ❌ Exception in target unit Some error @@ -23,7 +23,7 @@ Test 2 ``` ### ❌ test/second.test.js ``` -✖️ Skipped test +⚪ Skipped test ❌ Timeout test Timeout of 1ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (C:\Users\Michal\Workspace\dorny\test-reporter\reports\mocha\test\second.test.js) ``` \ No newline at end of file diff --git a/__tests__/__outputs__/mocha-test-results.md b/__tests__/__outputs__/mocha-test-results.md index fd85859..a1cb89b 100644 --- a/__tests__/__outputs__/mocha-test-results.md +++ b/__tests__/__outputs__/mocha-test-results.md @@ -1,41 +1,41 @@ ![Tests passed successfully](https://img.shields.io/badge/tests-833%20passed%2C%206%20skipped-success) -## ✔️ fixtures/external/mocha/mocha-test-results.json +## ✅ fixtures/external/mocha/mocha-test-results.json **839** tests were completed in **6s** with **833** passed, **0** failed and **6** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|test/node-unit/buffered-worker-pool.spec.js|14✔️|||8ms| -|test/node-unit/cli/config.spec.js|10✔️|||8ms| -|test/node-unit/cli/node-flags.spec.js|105✔️|||9ms| -|test/node-unit/cli/options.spec.js|36✔️|||250ms| -|test/node-unit/cli/run-helpers.spec.js|9✔️|||8ms| -|test/node-unit/cli/run.spec.js|40✔️|||4ms| -|test/node-unit/mocha.spec.js|24✔️|||33ms| -|test/node-unit/parallel-buffered-runner.spec.js|19✔️|||23ms| -|test/node-unit/reporters/parallel-buffered.spec.js|6✔️|||16ms| -|test/node-unit/serializer.spec.js|40✔️|||31ms| -|test/node-unit/stack-trace-filter.spec.js|2✔️||4✖️|1ms| -|test/node-unit/utils.spec.js|5✔️|||1ms| -|test/node-unit/worker.spec.js|15✔️|||92ms| -|test/unit/context.spec.js|8✔️|||5ms| -|test/unit/duration.spec.js|3✔️|||166ms| -|test/unit/errors.spec.js|13✔️|||5ms| -|test/unit/globals.spec.js|4✔️|||0ms| -|test/unit/grep.spec.js|8✔️|||2ms| -|test/unit/hook-async.spec.js|3✔️|||1ms| -|test/unit/hook-sync-nested.spec.js|4✔️|||1ms| -|test/unit/hook-sync.spec.js|3✔️|||0ms| -|test/unit/hook-timeout.spec.js|1✔️|||0ms| -|test/unit/hook.spec.js|4✔️|||0ms| -|test/unit/mocha.spec.js|115✔️||1✖️|128ms| -|test/unit/overspecified-async.spec.js|1✔️|||3ms| -|test/unit/parse-query.spec.js|2✔️|||1ms| -|test/unit/plugin-loader.spec.js|41✔️||1✖️|16ms| -|test/unit/required-tokens.spec.js|1✔️|||0ms| -|test/unit/root.spec.js|1✔️|||0ms| -|test/unit/runnable.spec.js|55✔️|||122ms| -|test/unit/runner.spec.js|77✔️|||43ms| -|test/unit/suite.spec.js|57✔️|||14ms| -|test/unit/test.spec.js|15✔️|||0ms| -|test/unit/throw.spec.js|9✔️|||9ms| -|test/unit/timeout.spec.js|8✔️|||109ms| -|test/unit/utils.spec.js|75✔️|||24ms| \ No newline at end of file +|test/node-unit/buffered-worker-pool.spec.js|14✅|||8ms| +|test/node-unit/cli/config.spec.js|10✅|||8ms| +|test/node-unit/cli/node-flags.spec.js|105✅|||9ms| +|test/node-unit/cli/options.spec.js|36✅|||250ms| +|test/node-unit/cli/run-helpers.spec.js|9✅|||8ms| +|test/node-unit/cli/run.spec.js|40✅|||4ms| +|test/node-unit/mocha.spec.js|24✅|||33ms| +|test/node-unit/parallel-buffered-runner.spec.js|19✅|||23ms| +|test/node-unit/reporters/parallel-buffered.spec.js|6✅|||16ms| +|test/node-unit/serializer.spec.js|40✅|||31ms| +|test/node-unit/stack-trace-filter.spec.js|2✅||4⚪|1ms| +|test/node-unit/utils.spec.js|5✅|||1ms| +|test/node-unit/worker.spec.js|15✅|||92ms| +|test/unit/context.spec.js|8✅|||5ms| +|test/unit/duration.spec.js|3✅|||166ms| +|test/unit/errors.spec.js|13✅|||5ms| +|test/unit/globals.spec.js|4✅|||0ms| +|test/unit/grep.spec.js|8✅|||2ms| +|test/unit/hook-async.spec.js|3✅|||1ms| +|test/unit/hook-sync-nested.spec.js|4✅|||1ms| +|test/unit/hook-sync.spec.js|3✅|||0ms| +|test/unit/hook-timeout.spec.js|1✅|||0ms| +|test/unit/hook.spec.js|4✅|||0ms| +|test/unit/mocha.spec.js|115✅||1⚪|128ms| +|test/unit/overspecified-async.spec.js|1✅|||3ms| +|test/unit/parse-query.spec.js|2✅|||1ms| +|test/unit/plugin-loader.spec.js|41✅||1⚪|16ms| +|test/unit/required-tokens.spec.js|1✅|||0ms| +|test/unit/root.spec.js|1✅|||0ms| +|test/unit/runnable.spec.js|55✅|||122ms| +|test/unit/runner.spec.js|77✅|||43ms| +|test/unit/suite.spec.js|57✅|||14ms| +|test/unit/test.spec.js|15✅|||0ms| +|test/unit/throw.spec.js|9✅|||9ms| +|test/unit/timeout.spec.js|8✅|||109ms| +|test/unit/utils.spec.js|75✅|||24ms| \ No newline at end of file diff --git a/__tests__/__outputs__/provider-test-results.md b/__tests__/__outputs__/provider-test-results.md index 79b13aa..2cfa0ba 100644 --- a/__tests__/__outputs__/provider-test-results.md +++ b/__tests__/__outputs__/provider-test-results.md @@ -3,368 +3,368 @@ **269** tests were completed in **0ms** with **268** passed, **1** failed and **0** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[test/builder_test.dart](#r0s0)|24✔️|||402ms| -|[test/change_notifier_provider_test.dart](#r0s1)|10✔️|||306ms| -|[test/consumer_test.dart](#r0s2)|18✔️|||340ms| -|[test/context_test.dart](#r0s3)|31✔️|||698ms| -|[test/future_provider_test.dart](#r0s4)|10✔️|||305ms| -|[test/inherited_provider_test.dart](#r0s5)|81✔️|||1s| -|[test/listenable_provider_test.dart](#r0s6)|16✔️|||353ms| -|[test/listenable_proxy_provider_test.dart](#r0s7)|12✔️|||373ms| -|[test/multi_provider_test.dart](#r0s8)|3✔️|||198ms| -|[test/provider_test.dart](#r0s9)|11✔️|||306ms| -|[test/proxy_provider_test.dart](#r0s10)|16✔️|||438ms| -|[test/reassemble_test.dart](#r0s11)|3✔️|||221ms| -|[test/selector_test.dart](#r0s12)|17✔️|||364ms| -|[test/stateful_provider_test.dart](#r0s13)|4✔️|||254ms| -|[test/stream_provider_test.dart](#r0s14)|8✔️|||282ms| -|[test/value_listenable_provider_test.dart](#r0s15)|4✔️|1❌||327ms| -### ✔️ test/builder_test.dart +|[test/builder_test.dart](#r0s0)|24✅|||402ms| +|[test/change_notifier_provider_test.dart](#r0s1)|10✅|||306ms| +|[test/consumer_test.dart](#r0s2)|18✅|||340ms| +|[test/context_test.dart](#r0s3)|31✅|||698ms| +|[test/future_provider_test.dart](#r0s4)|10✅|||305ms| +|[test/inherited_provider_test.dart](#r0s5)|81✅|||1s| +|[test/listenable_provider_test.dart](#r0s6)|16✅|||353ms| +|[test/listenable_proxy_provider_test.dart](#r0s7)|12✅|||373ms| +|[test/multi_provider_test.dart](#r0s8)|3✅|||198ms| +|[test/provider_test.dart](#r0s9)|11✅|||306ms| +|[test/proxy_provider_test.dart](#r0s10)|16✅|||438ms| +|[test/reassemble_test.dart](#r0s11)|3✅|||221ms| +|[test/selector_test.dart](#r0s12)|17✅|||364ms| +|[test/stateful_provider_test.dart](#r0s13)|4✅|||254ms| +|[test/stream_provider_test.dart](#r0s14)|8✅|||282ms| +|[test/value_listenable_provider_test.dart](#r0s15)|4✅|1❌||327ms| +### ✅ test/builder_test.dart ``` ChangeNotifierProvider - ✔️ default - ✔️ .value + ✅ default + ✅ .value ListenableProvider - ✔️ default - ✔️ .value + ✅ default + ✅ .value Provider - ✔️ default - ✔️ .value + ✅ default + ✅ .value ProxyProvider - ✔️ 0 - ✔️ 1 - ✔️ 2 - ✔️ 3 - ✔️ 4 - ✔️ 5 - ✔️ 6 + ✅ 0 + ✅ 1 + ✅ 2 + ✅ 3 + ✅ 4 + ✅ 5 + ✅ 6 MultiProvider - ✔️ with 1 ChangeNotifierProvider default - ✔️ with 2 ChangeNotifierProvider default - ✔️ with ListenableProvider default - ✔️ with Provider default - ✔️ with ProxyProvider0 - ✔️ with ProxyProvider1 - ✔️ with ProxyProvider2 - ✔️ with ProxyProvider3 - ✔️ with ProxyProvider4 - ✔️ with ProxyProvider5 - ✔️ with ProxyProvider6 + ✅ with 1 ChangeNotifierProvider default + ✅ with 2 ChangeNotifierProvider default + ✅ with ListenableProvider default + ✅ with Provider default + ✅ with ProxyProvider0 + ✅ with ProxyProvider1 + ✅ with ProxyProvider2 + ✅ with ProxyProvider3 + ✅ with ProxyProvider4 + ✅ with ProxyProvider5 + ✅ with ProxyProvider6 ``` -### ✔️ test/change_notifier_provider_test.dart +### ✅ test/change_notifier_provider_test.dart ``` -✔️ Use builder property, not child +✅ Use builder property, not child ChangeNotifierProvider - ✔️ value - ✔️ builder - ✔️ builder1 - ✔️ builder2 - ✔️ builder3 - ✔️ builder4 - ✔️ builder5 - ✔️ builder6 - ✔️ builder0 + ✅ value + ✅ builder + ✅ builder1 + ✅ builder2 + ✅ builder3 + ✅ builder4 + ✅ builder5 + ✅ builder6 + ✅ builder0 ``` -### ✔️ test/consumer_test.dart +### ✅ test/consumer_test.dart ``` consumer - ✔️ obtains value from Provider - ✔️ crashed with no builder - ✔️ can be used inside MultiProvider + ✅ obtains value from Provider + ✅ crashed with no builder + ✅ can be used inside MultiProvider consumer2 - ✔️ obtains value from Provider - ✔️ crashed with no builder - ✔️ can be used inside MultiProvider + ✅ obtains value from Provider + ✅ crashed with no builder + ✅ can be used inside MultiProvider consumer3 - ✔️ obtains value from Provider - ✔️ crashed with no builder - ✔️ can be used inside MultiProvider + ✅ obtains value from Provider + ✅ crashed with no builder + ✅ can be used inside MultiProvider consumer4 - ✔️ obtains value from Provider - ✔️ crashed with no builder - ✔️ can be used inside MultiProvider + ✅ obtains value from Provider + ✅ crashed with no builder + ✅ can be used inside MultiProvider consumer5 - ✔️ obtains value from Provider - ✔️ crashed with no builder - ✔️ can be used inside MultiProvider + ✅ obtains value from Provider + ✅ crashed with no builder + ✅ can be used inside MultiProvider consumer6 - ✔️ obtains value from Provider - ✔️ crashed with no builder - ✔️ can be used inside MultiProvider + ✅ obtains value from Provider + ✅ crashed with no builder + ✅ can be used inside MultiProvider ``` -### ✔️ test/context_test.dart +### ✅ test/context_test.dart ``` -✔️ watch in layoutbuilder -✔️ select in layoutbuilder -✔️ cannot select in listView -✔️ watch in listView -✔️ watch in gridView -✔️ clears select dependencies for all dependents +✅ watch in layoutbuilder +✅ select in layoutbuilder +✅ cannot select in listView +✅ watch in listView +✅ watch in gridView +✅ clears select dependencies for all dependents BuildContext - ✔️ internal selected value is updated - ✔️ create can use read without being lazy - ✔️ watch can be used inside InheritedProvider.update - ✔️ select doesn't fail if it loads a provider that depends on other providers - ✔️ don't call old selectors if the child rebuilds individually - ✔️ selects throws inside click handlers - ✔️ select throws if try to read dynamic - ✔️ select throws ProviderNotFoundException - ✔️ select throws if watch called inside the callback from build - ✔️ select throws if read called inside the callback from build - ✔️ select throws if select called inside the callback from build - ✔️ select throws if read called inside the callback on dependency change - ✔️ select throws if watch called inside the callback on dependency change - ✔️ select throws if select called inside the callback on dependency change - ✔️ can call read inside didChangeDependencies - ✔️ select cannot be called inside didChangeDependencies - ✔️ select in initState throws - ✔️ watch in initState throws - ✔️ read in initState works - ✔️ consumer can be removed and selector stops to be called - ✔️ context.select deeply compares maps - ✔️ context.select deeply compares lists - ✔️ context.select deeply compares iterables - ✔️ context.select deeply compares sets - ✔️ context.watch listens to value changes + ✅ internal selected value is updated + ✅ create can use read without being lazy + ✅ watch can be used inside InheritedProvider.update + ✅ select doesn't fail if it loads a provider that depends on other providers + ✅ don't call old selectors if the child rebuilds individually + ✅ selects throws inside click handlers + ✅ select throws if try to read dynamic + ✅ select throws ProviderNotFoundException + ✅ select throws if watch called inside the callback from build + ✅ select throws if read called inside the callback from build + ✅ select throws if select called inside the callback from build + ✅ select throws if read called inside the callback on dependency change + ✅ select throws if watch called inside the callback on dependency change + ✅ select throws if select called inside the callback on dependency change + ✅ can call read inside didChangeDependencies + ✅ select cannot be called inside didChangeDependencies + ✅ select in initState throws + ✅ watch in initState throws + ✅ read in initState works + ✅ consumer can be removed and selector stops to be called + ✅ context.select deeply compares maps + ✅ context.select deeply compares lists + ✅ context.select deeply compares iterables + ✅ context.select deeply compares sets + ✅ context.watch listens to value changes ``` -### ✔️ test/future_provider_test.dart +### ✅ test/future_provider_test.dart ``` -✔️ works with MultiProvider -✔️ (catchError) previous future completes after transition is no-op -✔️ previous future completes after transition is no-op -✔️ transition from future to future preserve state -✔️ throws if future has error and catchError is missing -✔️ calls catchError if present and future has error -✔️ works with null -✔️ create and dispose future with builder -✔️ FutureProvider() crashes if builder is null +✅ works with MultiProvider +✅ (catchError) previous future completes after transition is no-op +✅ previous future completes after transition is no-op +✅ transition from future to future preserve state +✅ throws if future has error and catchError is missing +✅ calls catchError if present and future has error +✅ works with null +✅ create and dispose future with builder +✅ FutureProvider() crashes if builder is null FutureProvider() - ✔️ crashes if builder is null + ✅ crashes if builder is null ``` -### ✔️ test/inherited_provider_test.dart +### ✅ test/inherited_provider_test.dart ``` -✔️ regression test #377 -✔️ rebuild on dependency flags update -✔️ properly update debug flags if a create triggers another deferred create -✔️ properly update debug flags if a create triggers another deferred create -✔️ properly update debug flags if an update triggers another create/update -✔️ properly update debug flags if a create triggers another create/update -✔️ Provider.of(listen: false) outside of build works when it loads a provider -✔️ new value is available in didChangeDependencies -✔️ builder receives the current value and updates independently from `update` -✔️ builder can _not_ rebuild when provider updates -✔️ builder rebuilds if provider is recreated -✔️ provider.of throws if listen:true outside of the widget tree -✔️ InheritedProvider throws if no child is provided with default constructor -✔️ InheritedProvider throws if no child is provided with value constructor -✔️ DeferredInheritedProvider throws if no child is provided with default constructor -✔️ DeferredInheritedProvider throws if no child is provided with value constructor -✔️ startListening markNeedsNotifyDependents -✔️ InheritedProvider can be subclassed -✔️ DeferredInheritedProvider can be subclassed -✔️ can be used with MultiProvider -✔️ throw if the widget ctor changes -✔️ InheritedProvider lazy loading can be disabled -✔️ InheritedProvider.value lazy loading can be disabled -✔️ InheritedProvider subclass don't have to specify default lazy value -✔️ DeferredInheritedProvider lazy loading can be disabled -✔️ DeferredInheritedProvider.value lazy loading can be disabled -✔️ selector -✔️ can select multiple types from same provider -✔️ can select same type on two different providers -✔️ can select same type twice on same provider -✔️ Provider.of has a proper error message if context is null +✅ regression test #377 +✅ rebuild on dependency flags update +✅ properly update debug flags if a create triggers another deferred create +✅ properly update debug flags if a create triggers another deferred create +✅ properly update debug flags if an update triggers another create/update +✅ properly update debug flags if a create triggers another create/update +✅ Provider.of(listen: false) outside of build works when it loads a provider +✅ new value is available in didChangeDependencies +✅ builder receives the current value and updates independently from `update` +✅ builder can _not_ rebuild when provider updates +✅ builder rebuilds if provider is recreated +✅ provider.of throws if listen:true outside of the widget tree +✅ InheritedProvider throws if no child is provided with default constructor +✅ InheritedProvider throws if no child is provided with value constructor +✅ DeferredInheritedProvider throws if no child is provided with default constructor +✅ DeferredInheritedProvider throws if no child is provided with value constructor +✅ startListening markNeedsNotifyDependents +✅ InheritedProvider can be subclassed +✅ DeferredInheritedProvider can be subclassed +✅ can be used with MultiProvider +✅ throw if the widget ctor changes +✅ InheritedProvider lazy loading can be disabled +✅ InheritedProvider.value lazy loading can be disabled +✅ InheritedProvider subclass don't have to specify default lazy value +✅ DeferredInheritedProvider lazy loading can be disabled +✅ DeferredInheritedProvider.value lazy loading can be disabled +✅ selector +✅ can select multiple types from same provider +✅ can select same type on two different providers +✅ can select same type twice on same provider +✅ Provider.of has a proper error message if context is null diagnostics - ✔️ InheritedProvider.value - ✔️ InheritedProvider doesn't break lazy loading - ✔️ InheritedProvider show if listening - ✔️ DeferredInheritedProvider.value - ✔️ DeferredInheritedProvider + ✅ InheritedProvider.value + ✅ InheritedProvider doesn't break lazy loading + ✅ InheritedProvider show if listening + ✅ DeferredInheritedProvider.value + ✅ DeferredInheritedProvider InheritedProvider.value() - ✔️ markNeedsNotifyDependents during startListening is noop - ✔️ startListening called again when create returns new value - ✔️ startListening - ✔️ stopListening not called twice if rebuild doesn't have listeners - ✔️ removeListener cannot be null - ✔️ pass down current value - ✔️ default updateShouldNotify - ✔️ custom updateShouldNotify + ✅ markNeedsNotifyDependents during startListening is noop + ✅ startListening called again when create returns new value + ✅ startListening + ✅ stopListening not called twice if rebuild doesn't have listeners + ✅ removeListener cannot be null + ✅ pass down current value + ✅ default updateShouldNotify + ✅ custom updateShouldNotify InheritedProvider() - ✔️ hasValue - ✔️ provider calls update if rebuilding only due to didChangeDependencies - ✔️ provider notifying dependents doesn't call update - ✔️ update can call Provider.of with listen:true - ✔️ update lazy loaded can call Provider.of with listen:true - ✔️ markNeedsNotifyDependents during startListening is noop - ✔️ update can obtain parent of the same type than self - ✔️ _debugCheckInvalidValueType - ✔️ startListening - ✔️ startListening called again when create returns new value - ✔️ stopListening not called twice if rebuild doesn't have listeners - ✔️ removeListener cannot be null - ✔️ fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType - ✔️ builder is called on every rebuild and after a dependency change - ✔️ builder with no updateShouldNotify use == - ✔️ builder calls updateShouldNotify callback - ✔️ initialValue is transmitted to valueBuilder - ✔️ calls builder again if dependencies change - ✔️ exposes initialValue if valueBuilder is null - ✔️ call dispose on unmount - ✔️ builder unmount, dispose not called if value never read - ✔️ call dispose after new value - ✔️ valueBuilder works without initialBuilder - ✔️ calls initialValueBuilder lazily once - ✔️ throws if both builder and initialBuilder are missing + ✅ hasValue + ✅ provider calls update if rebuilding only due to didChangeDependencies + ✅ provider notifying dependents doesn't call update + ✅ update can call Provider.of with listen:true + ✅ update lazy loaded can call Provider.of with listen:true + ✅ markNeedsNotifyDependents during startListening is noop + ✅ update can obtain parent of the same type than self + ✅ _debugCheckInvalidValueType + ✅ startListening + ✅ startListening called again when create returns new value + ✅ stopListening not called twice if rebuild doesn't have listeners + ✅ removeListener cannot be null + ✅ fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType + ✅ builder is called on every rebuild and after a dependency change + ✅ builder with no updateShouldNotify use == + ✅ builder calls updateShouldNotify callback + ✅ initialValue is transmitted to valueBuilder + ✅ calls builder again if dependencies change + ✅ exposes initialValue if valueBuilder is null + ✅ call dispose on unmount + ✅ builder unmount, dispose not called if value never read + ✅ call dispose after new value + ✅ valueBuilder works without initialBuilder + ✅ calls initialValueBuilder lazily once + ✅ throws if both builder and initialBuilder are missing DeferredInheritedProvider.value() - ✔️ hasValue - ✔️ startListening - ✔️ stopListening cannot be null - ✔️ startListening doesn't need setState if already initialized - ✔️ setState without updateShouldNotify - ✔️ setState with updateShouldNotify - ✔️ startListening never leave the widget uninitialized - ✔️ startListening called again on controller change + ✅ hasValue + ✅ startListening + ✅ stopListening cannot be null + ✅ startListening doesn't need setState if already initialized + ✅ setState without updateShouldNotify + ✅ setState with updateShouldNotify + ✅ startListening never leave the widget uninitialized + ✅ startListening called again on controller change DeferredInheritedProvider() - ✔️ create can't call inherited widgets - ✔️ creates the value lazily - ✔️ dispose - ✔️ dispose no-op if never built + ✅ create can't call inherited widgets + ✅ creates the value lazily + ✅ dispose + ✅ dispose no-op if never built ``` -### ✔️ test/listenable_provider_test.dart +### ✅ test/listenable_provider_test.dart ``` ListenableProvider - ✔️ works with MultiProvider - ✔️ asserts that the created notifier can have listeners - ✔️ don't listen again if listenable instance doesn't change - ✔️ works with null (default) - ✔️ works with null (create) - ✔️ stateful create called once - ✔️ dispose called on unmount - ✔️ dispose can be null - ✔️ changing listenable rebuilds descendants - ✔️ rebuilding with the same provider don't rebuilds descendants - ✔️ notifylistener rebuilds descendants + ✅ works with MultiProvider + ✅ asserts that the created notifier can have listeners + ✅ don't listen again if listenable instance doesn't change + ✅ works with null (default) + ✅ works with null (create) + ✅ stateful create called once + ✅ dispose called on unmount + ✅ dispose can be null + ✅ changing listenable rebuilds descendants + ✅ rebuilding with the same provider don't rebuilds descendants + ✅ notifylistener rebuilds descendants ListenableProvider value constructor - ✔️ pass down key - ✔️ changing the Listenable instance rebuilds dependents + ✅ pass down key + ✅ changing the Listenable instance rebuilds dependents ListenableProvider stateful constructor - ✔️ called with context - ✔️ pass down key - ✔️ throws if create is null + ✅ called with context + ✅ pass down key + ✅ throws if create is null ``` -### ✔️ test/listenable_proxy_provider_test.dart +### ✅ test/listenable_proxy_provider_test.dart ``` ListenableProxyProvider - ✔️ throws if update is missing - ✔️ asserts that the created notifier has no listener - ✔️ asserts that the created notifier has no listener after rebuild - ✔️ rebuilds dependendents when listeners are called - ✔️ update returning a new Listenable disposes the previously created value and update dependents - ✔️ disposes of created value + ✅ throws if update is missing + ✅ asserts that the created notifier has no listener + ✅ asserts that the created notifier has no listener after rebuild + ✅ rebuilds dependendents when listeners are called + ✅ update returning a new Listenable disposes the previously created value and update dependents + ✅ disposes of created value ListenableProxyProvider variants - ✔️ ListenableProxyProvider - ✔️ ListenableProxyProvider2 - ✔️ ListenableProxyProvider3 - ✔️ ListenableProxyProvider4 - ✔️ ListenableProxyProvider5 - ✔️ ListenableProxyProvider6 + ✅ ListenableProxyProvider + ✅ ListenableProxyProvider2 + ✅ ListenableProxyProvider3 + ✅ ListenableProxyProvider4 + ✅ ListenableProxyProvider5 + ✅ ListenableProxyProvider6 ``` -### ✔️ test/multi_provider_test.dart +### ✅ test/multi_provider_test.dart ``` MultiProvider - ✔️ throw if providers is null - ✔️ MultiProvider children can only access parent providers - ✔️ MultiProvider.providers with ignored child + ✅ throw if providers is null + ✅ MultiProvider children can only access parent providers + ✅ MultiProvider.providers with ignored child ``` -### ✔️ test/provider_test.dart +### ✅ test/provider_test.dart ``` -✔️ works with MultiProvider +✅ works with MultiProvider Provider.of - ✔️ throws if T is dynamic - ✔️ listen defaults to true when building widgets - ✔️ listen defaults to false outside of the widget tree - ✔️ listen:false doesn't trigger rebuild - ✔️ listen:true outside of the widget tree throws + ✅ throws if T is dynamic + ✅ listen defaults to true when building widgets + ✅ listen defaults to false outside of the widget tree + ✅ listen:false doesn't trigger rebuild + ✅ listen:true outside of the widget tree throws Provider - ✔️ throws if the provided value is a Listenable/Stream - ✔️ debugCheckInvalidValueType can be disabled - ✔️ simple usage - ✔️ throws an error if no provider found - ✔️ update should notify + ✅ throws if the provided value is a Listenable/Stream + ✅ debugCheckInvalidValueType can be disabled + ✅ simple usage + ✅ throws an error if no provider found + ✅ update should notify ``` -### ✔️ test/proxy_provider_test.dart +### ✅ test/proxy_provider_test.dart ``` ProxyProvider - ✔️ throws if the provided value is a Listenable/Stream - ✔️ debugCheckInvalidValueType can be disabled - ✔️ create creates initial value - ✔️ consume another providers - ✔️ rebuild descendants if value change - ✔️ call dispose when unmounted with the latest result - ✔️ don't rebuild descendants if value doesn't change - ✔️ pass down updateShouldNotify - ✔️ works with MultiProvider - ✔️ update callback can trigger descendants setState synchronously - ✔️ throws if update is null + ✅ throws if the provided value is a Listenable/Stream + ✅ debugCheckInvalidValueType can be disabled + ✅ create creates initial value + ✅ consume another providers + ✅ rebuild descendants if value change + ✅ call dispose when unmounted with the latest result + ✅ don't rebuild descendants if value doesn't change + ✅ pass down updateShouldNotify + ✅ works with MultiProvider + ✅ update callback can trigger descendants setState synchronously + ✅ throws if update is null ProxyProvider variants - ✔️ ProxyProvider2 - ✔️ ProxyProvider3 - ✔️ ProxyProvider4 - ✔️ ProxyProvider5 - ✔️ ProxyProvider6 + ✅ ProxyProvider2 + ✅ ProxyProvider3 + ✅ ProxyProvider4 + ✅ ProxyProvider5 + ✅ ProxyProvider6 ``` -### ✔️ test/reassemble_test.dart +### ✅ test/reassemble_test.dart ``` -✔️ ReassembleHandler -✔️ unevaluated create -✔️ unevaluated create +✅ ReassembleHandler +✅ unevaluated create +✅ unevaluated create ``` -### ✔️ test/selector_test.dart +### ✅ test/selector_test.dart ``` -✔️ asserts that builder/selector are not null -✔️ Deep compare maps by default -✔️ Deep compare iterables by default -✔️ Deep compare sets by default -✔️ Deep compare lists by default -✔️ custom shouldRebuid -✔️ passes `child` and `key` -✔️ calls builder if the callback changes -✔️ works with MultiProvider -✔️ don't call builder again if it rebuilds but selector returns the same thing -✔️ call builder again if it rebuilds abd selector returns the a different variable -✔️ Selector -✔️ Selector2 -✔️ Selector3 -✔️ Selector4 -✔️ Selector5 -✔️ Selector6 +✅ asserts that builder/selector are not null +✅ Deep compare maps by default +✅ Deep compare iterables by default +✅ Deep compare sets by default +✅ Deep compare lists by default +✅ custom shouldRebuid +✅ passes `child` and `key` +✅ calls builder if the callback changes +✅ works with MultiProvider +✅ don't call builder again if it rebuilds but selector returns the same thing +✅ call builder again if it rebuilds abd selector returns the a different variable +✅ Selector +✅ Selector2 +✅ Selector3 +✅ Selector4 +✅ Selector5 +✅ Selector6 ``` -### ✔️ test/stateful_provider_test.dart +### ✅ test/stateful_provider_test.dart ``` -✔️ asserts -✔️ works with MultiProvider -✔️ calls create only once -✔️ dispose +✅ asserts +✅ works with MultiProvider +✅ calls create only once +✅ dispose ``` -### ✔️ test/stream_provider_test.dart +### ✅ test/stream_provider_test.dart ``` -✔️ works with MultiProvider -✔️ transition from stream to stream preserve state -✔️ throws if stream has error and catchError is missing -✔️ calls catchError if present and stream has error -✔️ works with null -✔️ StreamProvider() crashes if builder is null +✅ works with MultiProvider +✅ transition from stream to stream preserve state +✅ throws if stream has error and catchError is missing +✅ calls catchError if present and stream has error +✅ works with null +✅ StreamProvider() crashes if builder is null StreamProvider() - ✔️ create and dispose stream with builder - ✔️ crashes if builder is null + ✅ create and dispose stream with builder + ✅ crashes if builder is null ``` ### ❌ test/value_listenable_provider_test.dart ``` valueListenableProvider - ✔️ rebuilds when value change - ✔️ don't rebuild dependents by default - ✔️ pass keys - ✔️ don't listen again if stream instance doesn't change + ✅ rebuilds when value change + ✅ don't rebuild dependents by default + ✅ pass keys + ✅ don't listen again if stream instance doesn't change ❌ pass updateShouldNotify The following TestFailure object was thrown running a test: Expected: <2> diff --git a/__tests__/__outputs__/pulsar-test-results-no-merge.md b/__tests__/__outputs__/pulsar-test-results-no-merge.md index dbf7601..cc873e0 100644 --- a/__tests__/__outputs__/pulsar-test-results-no-merge.md +++ b/__tests__/__outputs__/pulsar-test-results-no-merge.md @@ -3,10 +3,10 @@ **2** tests were completed in **116ms** with **0** passed, **1** failed and **1** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1❌|1✖️|116ms| +|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1❌|1⚪|116ms| ### ❌ org.apache.pulsar.AddMissingPatchVersionTest ``` -✖️ testVersionStrings +⚪ testVersionStrings ❌ testVersionStrings java.lang.AssertionError: expected [1.2.1] but found [1.2.0] ``` \ No newline at end of file diff --git a/__tests__/__outputs__/pulsar-test-results.md b/__tests__/__outputs__/pulsar-test-results.md index 88e8bea..058f71b 100644 --- a/__tests__/__outputs__/pulsar-test-results.md +++ b/__tests__/__outputs__/pulsar-test-results.md @@ -3,1516 +3,1516 @@ **808** tests were completed in **2127s** with **793** passed, **1** failed and **14** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1❌|1✖️|116ms| -|[org.apache.pulsar.broker.admin.AdminApiOffloadTest](#r0s1)|7✔️|||19s| -|[org.apache.pulsar.broker.auth.AuthenticationServiceTest](#r0s2)|2✔️|||185ms| -|[org.apache.pulsar.broker.auth.AuthLogsTest](#r0s3)|2✔️|||1s| -|[org.apache.pulsar.broker.auth.AuthorizationTest](#r0s4)|1✔️|||2s| -|[org.apache.pulsar.broker.lookup.http.HttpTopicLookupv2Test](#r0s5)|4✔️|||2s| -|[org.apache.pulsar.broker.namespace.NamespaceCreateBundlesTest](#r0s6)|2✔️|||33s| -|[org.apache.pulsar.broker.namespace.NamespaceOwnershipListenerTests](#r0s7)|2✔️|||32s| -|[org.apache.pulsar.broker.namespace.NamespaceServiceTest](#r0s8)|10✔️|||75s| -|[org.apache.pulsar.broker.namespace.NamespaceUnloadingTest](#r0s9)|2✔️|||14s| -|[org.apache.pulsar.broker.namespace.OwnerShipCacheForCurrentServerTest](#r0s10)|1✔️|||16s| -|[org.apache.pulsar.broker.namespace.OwnershipCacheTest](#r0s11)|8✔️|||16s| -|[org.apache.pulsar.broker.protocol.ProtocolHandlersTest](#r0s12)|6✔️|||946ms| -|[org.apache.pulsar.broker.protocol.ProtocolHandlerUtilsTest](#r0s13)|3✔️|||7s| -|[org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoaderTest](#r0s14)|1✔️|||15ms| -|[org.apache.pulsar.broker.PulsarServiceTest](#r0s15)|2✔️|||96ms| -|[org.apache.pulsar.broker.service.MessagePublishBufferThrottleTest](#r0s16)|3✔️|||14s| -|[org.apache.pulsar.broker.service.ReplicatorTest](#r0s17)|22✔️|||40s| -|[org.apache.pulsar.broker.service.TopicOwnerTest](#r0s18)|8✔️|||114s| -|[org.apache.pulsar.broker.SLAMonitoringTest](#r0s19)|4✔️|||9s| -|[org.apache.pulsar.broker.stats.BookieClientsStatsGeneratorTest](#r0s20)|2✔️|||49ms| -|[org.apache.pulsar.broker.stats.ConsumerStatsTest](#r0s21)|3✔️|||21s| -|[org.apache.pulsar.broker.stats.ManagedCursorMetricsTest](#r0s22)|1✔️|||281ms| -|[org.apache.pulsar.broker.stats.ManagedLedgerMetricsTest](#r0s23)|1✔️|||285ms| -|[org.apache.pulsar.broker.stats.prometheus.AggregatedNamespaceStatsTest](#r0s24)|1✔️|||40ms| -|[org.apache.pulsar.broker.stats.PrometheusMetricsTest](#r0s25)|15✔️|||83s| -|[org.apache.pulsar.broker.stats.SubscriptionStatsTest](#r0s26)|2✔️|||2s| -|[org.apache.pulsar.broker.systopic.NamespaceEventsSystemTopicServiceTest](#r0s27)|1✔️|||1s| -|[org.apache.pulsar.broker.transaction.buffer.InMemTransactionBufferReaderTest](#r0s28)|3✔️|||28ms| -|[org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest](#r0s29)|4✔️|||93ms| -|[org.apache.pulsar.broker.transaction.buffer.TransactionBufferTest](#r0s30)|7✔️|||81ms| -|[org.apache.pulsar.broker.transaction.buffer.TransactionEntryImplTest](#r0s31)|1✔️|||14ms| -|[org.apache.pulsar.broker.transaction.buffer.TransactionLowWaterMarkTest](#r0s32)|2✔️|||38s| -|[org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest](#r0s33)|2✔️||1✖️|49s| -|[org.apache.pulsar.broker.transaction.coordinator.TransactionCoordinatorClientTest](#r0s34)|3✔️|||95ms| -|[org.apache.pulsar.broker.transaction.coordinator.TransactionMetaStoreAssignmentTest](#r0s35)|1✔️|||1s| -|[org.apache.pulsar.broker.transaction.pendingack.PendingAckInMemoryDeleteTest](#r0s36)|2✔️||1✖️|57s| -|[org.apache.pulsar.broker.transaction.TransactionConsumeTest](#r0s37)|2✔️|||30s| -|[org.apache.pulsar.broker.web.RestExceptionTest](#r0s38)|3✔️|||37ms| -|[org.apache.pulsar.broker.web.WebServiceTest](#r0s39)|9✔️|||27s| -|[org.apache.pulsar.client.impl.AdminApiKeyStoreTlsAuthTest](#r0s40)|4✔️|||8s| -|[org.apache.pulsar.client.impl.BatchMessageIdImplSerializationTest](#r0s41)|4✔️|||30ms| -|[org.apache.pulsar.client.impl.BatchMessageIndexAckDisableTest](#r0s42)|4✔️|||14s| -|[org.apache.pulsar.client.impl.BatchMessageIndexAckTest](#r0s43)|5✔️|||44s| -|[org.apache.pulsar.client.impl.BrokerClientIntegrationTest](#r0s44)|15✔️|||148s| -|[org.apache.pulsar.client.impl.CompactedOutBatchMessageTest](#r0s45)|1✔️|||1s| -|[org.apache.pulsar.client.impl.ConsumerAckResponseTest](#r0s46)|1✔️|||549ms| -|[org.apache.pulsar.client.impl.ConsumerConfigurationTest](#r0s47)|4✔️|||12s| -|[org.apache.pulsar.client.impl.ConsumerDedupPermitsUpdate](#r0s48)|7✔️|||4s| -|[org.apache.pulsar.client.impl.ConsumerUnsubscribeTest](#r0s49)|1✔️|||129ms| -|[org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithAuth](#r0s50)|3✔️|||23s| -|[org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithoutAuth](#r0s51)|3✔️|||8s| -|[org.apache.pulsar.client.impl.KeyStoreTlsTest](#r0s52)|1✔️|||183ms| -|[org.apache.pulsar.client.impl.MessageChecksumTest](#r0s53)|3✔️|||47s| -|[org.apache.pulsar.client.impl.MessageChunkingTest](#r0s54)|8✔️||1✖️|73s| -|[org.apache.pulsar.client.impl.MessageParserTest](#r0s55)|2✔️|||5s| -|[org.apache.pulsar.client.impl.MultiTopicsReaderTest](#r0s56)|8✔️|||35s| -|[org.apache.pulsar.client.impl.NegativeAcksTest](#r0s57)|32✔️|||11s| -|[org.apache.pulsar.client.impl.PatternTopicsConsumerImplTest](#r0s58)|11✔️|||63s| -|[org.apache.pulsar.client.impl.PerMessageUnAcknowledgedRedeliveryTest](#r0s59)|5✔️|||34s| -|[org.apache.pulsar.client.impl.PulsarMultiHostClientTest](#r0s60)|3✔️|||15s| -|[org.apache.pulsar.client.impl.RawMessageSerDeserTest](#r0s61)|1✔️|||10ms| -|[org.apache.pulsar.client.impl.SchemaDeleteTest](#r0s62)|1✔️|||2s| -|[org.apache.pulsar.client.impl.SequenceIdWithErrorTest](#r0s63)|3✔️||2✖️|18s| -|[org.apache.pulsar.client.impl.TopicDoesNotExistsTest](#r0s64)|2✔️|||4s| -|[org.apache.pulsar.client.impl.TopicFromMessageTest](#r0s65)|5✔️|||14s| -|[org.apache.pulsar.client.impl.TopicsConsumerImplTest](#r0s66)|17✔️|||133s| -|[org.apache.pulsar.client.impl.UnAcknowledgedMessagesTimeoutTest](#r0s67)|7✔️|||44s| -|[org.apache.pulsar.client.impl.ZeroQueueSizeTest](#r0s68)|14✔️|||16s| -|[org.apache.pulsar.common.api.raw.RawMessageImplTest](#r0s69)|1✔️|||316ms| -|[org.apache.pulsar.common.compression.CommandsTest](#r0s70)|1✔️|||30ms| -|[org.apache.pulsar.common.compression.CompressorCodecBackwardCompatTest](#r0s71)|6✔️|||223ms| -|[org.apache.pulsar.common.compression.CompressorCodecTest](#r0s72)|45✔️|||737ms| -|[org.apache.pulsar.common.compression.Crc32cChecksumTest](#r0s73)|6✔️|||5s| -|[org.apache.pulsar.common.lookup.data.LookupDataTest](#r0s74)|4✔️|||2s| -|[org.apache.pulsar.common.naming.MetadataTests](#r0s75)|2✔️|||161ms| -|[org.apache.pulsar.common.naming.NamespaceBundlesTest](#r0s76)|5✔️|||99ms| -|[org.apache.pulsar.common.naming.NamespaceBundleTest](#r0s77)|6✔️|||64ms| -|[org.apache.pulsar.common.naming.NamespaceNameTest](#r0s78)|2✔️|||207ms| -|[org.apache.pulsar.common.naming.ServiceConfigurationTest](#r0s79)|4✔️|||48ms| -|[org.apache.pulsar.common.naming.TopicNameTest](#r0s80)|4✔️|||529ms| -|[org.apache.pulsar.common.net.ServiceURITest](#r0s81)|21✔️|||237ms| -|[org.apache.pulsar.common.policies.data.AutoFailoverPolicyDataTest](#r0s82)|1✔️|||15ms| -|[org.apache.pulsar.common.policies.data.AutoFailoverPolicyTypeTest](#r0s83)|1✔️|||19ms| -|[org.apache.pulsar.common.policies.data.AutoTopicCreationOverrideTest](#r0s84)|6✔️|||64ms| -|[org.apache.pulsar.common.policies.data.BacklogQuotaTest](#r0s85)|1✔️|||12ms| -|[org.apache.pulsar.common.policies.data.ClusterDataTest](#r0s86)|1✔️|||9ms| -|[org.apache.pulsar.common.policies.data.ConsumerStatsTest](#r0s87)|1✔️|||8ms| -|[org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfigTest](#r0s88)|2✔️|||948ms| -|[org.apache.pulsar.common.policies.data.LocalPolicesTest](#r0s89)|1✔️|||48ms| -|[org.apache.pulsar.common.policies.data.NamespaceIsolationDataTest](#r0s90)|1✔️|||76ms| -|[org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest](#r0s91)|1✔️|||45ms| -|[org.apache.pulsar.common.policies.data.OffloadPoliciesTest](#r0s92)|6✔️|||216ms| -|[org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest](#r0s93)|1✔️|||12ms| -|[org.apache.pulsar.common.policies.data.PersistencePoliciesTest](#r0s94)|1✔️|||19ms| -|[org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest](#r0s95)|1✔️|||29ms| -|[org.apache.pulsar.common.policies.data.PersistentTopicStatsTest](#r0s96)|2✔️|||51ms| -|[org.apache.pulsar.common.policies.data.PoliciesDataTest](#r0s97)|4✔️|||1s| -|[org.apache.pulsar.common.policies.data.PublisherStatsTest](#r0s98)|2✔️|||37ms| -|[org.apache.pulsar.common.policies.data.ReplicatorStatsTest](#r0s99)|2✔️|||30ms| -|[org.apache.pulsar.common.policies.data.ResourceQuotaTest](#r0s100)|2✔️|||45ms| -|[org.apache.pulsar.common.policies.data.RetentionPolicesTest](#r0s101)|1✔️|||8ms| -|[org.apache.pulsar.common.policies.impl.AutoFailoverPolicyFactoryTest](#r0s102)|1✔️|||22ms| -|[org.apache.pulsar.common.policies.impl.MinAvailablePolicyTest](#r0s103)|1✔️|||1ms| -|[org.apache.pulsar.common.policies.impl.NamespaceIsolationPoliciesTest](#r0s104)|7✔️|||265ms| -|[org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicyImplTest](#r0s105)|7✔️|||309ms| -|[org.apache.pulsar.common.protocol.ByteBufPairTest](#r0s106)|2✔️|||5s| -|[org.apache.pulsar.common.protocol.CommandUtilsTests](#r0s107)|7✔️|||3s| -|[org.apache.pulsar.common.protocol.MarkersTest](#r0s108)|6✔️|||3s| -|[org.apache.pulsar.common.protocol.PulsarDecoderTest](#r0s109)|1✔️|||4s| -|[org.apache.pulsar.common.stats.JvmDefaultGCMetricsLoggerTest](#r0s110)|1✔️|||82ms| -|[org.apache.pulsar.common.util.collections.BitSetRecyclableRecyclableTest](#r0s111)|2✔️|||13ms| -|[org.apache.pulsar.common.util.collections.ConcurrentBitSetRecyclableTest](#r0s112)|2✔️|||63ms| -|[org.apache.pulsar.common.util.collections.ConcurrentLongHashMapTest](#r0s113)|13✔️|||28s| -|[org.apache.pulsar.common.util.collections.ConcurrentLongPairSetTest](#r0s114)|15✔️|||2s| -|[org.apache.pulsar.common.util.collections.ConcurrentOpenHashMapTest](#r0s115)|12✔️|||9s| -|[org.apache.pulsar.common.util.collections.ConcurrentOpenHashSetTest](#r0s116)|11✔️|||7s| -|[org.apache.pulsar.common.util.collections.ConcurrentOpenLongPairRangeSetTest](#r0s117)|13✔️|||1s| -|[org.apache.pulsar.common.util.collections.ConcurrentSortedLongPairSetTest](#r0s118)|9✔️|||342ms| -|[org.apache.pulsar.common.util.collections.FieldParserTest](#r0s119)|2✔️|||64ms| -|[org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueueTest](#r0s120)|6✔️|||350ms| -|[org.apache.pulsar.common.util.collections.GrowablePriorityLongPairQueueTest](#r0s121)|15✔️|||3s| -|[org.apache.pulsar.common.util.collections.TripleLongPriorityQueueTest](#r0s122)|3✔️|||238ms| -|[org.apache.pulsar.common.util.FieldParserTest](#r0s123)|1✔️|||242ms| -|[org.apache.pulsar.common.util.FileModifiedTimeUpdaterTest](#r0s124)|6✔️|||6s| -|[org.apache.pulsar.common.util.netty.ChannelFuturesTest](#r0s125)|5✔️|||2s| -|[org.apache.pulsar.common.util.RateLimiterTest](#r0s126)|11✔️|||7s| -|[org.apache.pulsar.common.util.ReflectionsTest](#r0s127)|12✔️|||172ms| -|[org.apache.pulsar.common.util.RelativeTimeUtilTest](#r0s128)|1✔️|||39ms| -|[org.apache.pulsar.discovery.service.web.DiscoveryServiceWebTest](#r0s129)|1✔️|||5s| -|[org.apache.pulsar.functions.worker.PulsarFunctionE2ESecurityTest](#r0s130)|2✔️|||28s| -|[org.apache.pulsar.functions.worker.PulsarFunctionPublishTest](#r0s131)|3✔️|||42s| -|[org.apache.pulsar.functions.worker.PulsarFunctionTlsTest](#r0s132)|1✔️|||12s| -|[org.apache.pulsar.io.PulsarFunctionTlsTest](#r0s133)|1✔️|||30s| -|[org.apache.pulsar.proxy.server.AdminProxyHandlerTest](#r0s134)|1✔️|||474ms| -|[org.apache.pulsar.proxy.server.AuthedAdminProxyHandlerTest](#r0s135)|1✔️|||2s| -|[org.apache.pulsar.proxy.server.FunctionWorkerRoutingTest](#r0s136)|1✔️|||10ms| -|[org.apache.pulsar.proxy.server.ProxyAdditionalServletTest](#r0s137)|1✔️|||125ms| -|[org.apache.pulsar.proxy.server.ProxyAuthenticatedProducerConsumerTest](#r0s138)|1✔️|||2s| -|[org.apache.pulsar.proxy.server.ProxyAuthenticationTest](#r0s139)|1✔️|||17s| -|[org.apache.pulsar.proxy.server.ProxyConnectionThrottlingTest](#r0s140)|1✔️|||2s| -|[org.apache.pulsar.proxy.server.ProxyEnableHAProxyProtocolTest](#r0s141)|1✔️|||511ms| -|[org.apache.pulsar.proxy.server.ProxyForwardAuthDataTest](#r0s142)|1✔️|||32s| -|[org.apache.pulsar.proxy.server.ProxyIsAHttpProxyTest](#r0s143)|10✔️|||2s| -|[org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithAuth](#r0s144)|3✔️|||7s| -|[org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithoutAuth](#r0s145)|3✔️|||7s| -|[org.apache.pulsar.proxy.server.ProxyLookupThrottlingTest](#r0s146)|1✔️|||3s| -|[org.apache.pulsar.proxy.server.ProxyParserTest](#r0s147)|5✔️|||1s| -|[org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest](#r0s148)|1✔️|||10s| -|[org.apache.pulsar.proxy.server.ProxyStatsTest](#r0s149)|3✔️|||533ms| -|[org.apache.pulsar.proxy.server.ProxyTest](#r0s150)|6✔️|||3s| -|[org.apache.pulsar.proxy.server.ProxyTlsTest](#r0s151)|2✔️|||414ms| -|[org.apache.pulsar.proxy.server.ProxyTlsTestWithAuth](#r0s152)|1✔️|||4ms| -|[org.apache.pulsar.proxy.server.ProxyWithAuthorizationNegTest](#r0s153)|1✔️|||2s| -|[org.apache.pulsar.proxy.server.ProxyWithAuthorizationTest](#r0s154)|13✔️|||33s| -|[org.apache.pulsar.proxy.server.ProxyWithoutServiceDiscoveryTest](#r0s155)|1✔️|||2s| -|[org.apache.pulsar.proxy.server.SuperUserAuthedAdminProxyHandlerTest](#r0s156)|3✔️|||8s| -|[org.apache.pulsar.proxy.server.UnauthedAdminProxyHandlerTest](#r0s157)|2✔️|||114ms| -|[org.apache.pulsar.PulsarBrokerStarterTest](#r0s158)|9✔️|||591ms| -|[org.apache.pulsar.schema.compatibility.SchemaCompatibilityCheckTest](#r0s159)|23✔️|||107s| -|[org.apache.pulsar.schema.PartitionedTopicSchemaTest](#r0s160)|1✔️|||29s| -|[org.apache.pulsar.schema.SchemaTest](#r0s161)|3✔️|||31s| -|[org.apache.pulsar.stats.client.PulsarBrokerStatsClientTest](#r0s162)|2✔️|||41s| -|[org.apache.pulsar.tests.EnumValuesDataProviderTest](#r0s163)|6✔️|||23ms| -|[org.apache.pulsar.tests.TestRetrySupportBeforeMethodRetryTest](#r0s164)|1✔️||4✖️|36ms| -|[org.apache.pulsar.tests.TestRetrySupportRetryTest](#r0s165)|1✔️||4✖️|27ms| -|[org.apache.pulsar.tests.TestRetrySupportSuccessTest](#r0s166)|3✔️|||1ms| -|[org.apache.pulsar.tests.ThreadDumpUtilTest](#r0s167)|2✔️|||17ms| -|[org.apache.pulsar.utils.SimpleTextOutputStreamTest](#r0s168)|4✔️|||50ms| -|[org.apache.pulsar.utils.StatsOutputStreamTest](#r0s169)|6✔️|||59ms| -|[org.apache.pulsar.websocket.proxy.ProxyAuthenticationTest](#r0s170)|4✔️|||29s| -|[org.apache.pulsar.websocket.proxy.ProxyAuthorizationTest](#r0s171)|1✔️|||1s| -|[org.apache.pulsar.websocket.proxy.ProxyConfigurationTest](#r0s172)|2✔️|||9s| -|[org.apache.pulsar.websocket.proxy.ProxyPublishConsumeTlsTest](#r0s173)|1✔️|||11s| -|[org.apache.pulsar.websocket.proxy.ProxyPublishConsumeWithoutZKTest](#r0s174)|1✔️|||7s| -|[org.apache.pulsar.websocket.proxy.v1.V1_ProxyAuthenticationTest](#r0s175)|4✔️|||30s| +|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1❌|1⚪|116ms| +|[org.apache.pulsar.broker.admin.AdminApiOffloadTest](#r0s1)|7✅|||19s| +|[org.apache.pulsar.broker.auth.AuthenticationServiceTest](#r0s2)|2✅|||185ms| +|[org.apache.pulsar.broker.auth.AuthLogsTest](#r0s3)|2✅|||1s| +|[org.apache.pulsar.broker.auth.AuthorizationTest](#r0s4)|1✅|||2s| +|[org.apache.pulsar.broker.lookup.http.HttpTopicLookupv2Test](#r0s5)|4✅|||2s| +|[org.apache.pulsar.broker.namespace.NamespaceCreateBundlesTest](#r0s6)|2✅|||33s| +|[org.apache.pulsar.broker.namespace.NamespaceOwnershipListenerTests](#r0s7)|2✅|||32s| +|[org.apache.pulsar.broker.namespace.NamespaceServiceTest](#r0s8)|10✅|||75s| +|[org.apache.pulsar.broker.namespace.NamespaceUnloadingTest](#r0s9)|2✅|||14s| +|[org.apache.pulsar.broker.namespace.OwnerShipCacheForCurrentServerTest](#r0s10)|1✅|||16s| +|[org.apache.pulsar.broker.namespace.OwnershipCacheTest](#r0s11)|8✅|||16s| +|[org.apache.pulsar.broker.protocol.ProtocolHandlersTest](#r0s12)|6✅|||946ms| +|[org.apache.pulsar.broker.protocol.ProtocolHandlerUtilsTest](#r0s13)|3✅|||7s| +|[org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoaderTest](#r0s14)|1✅|||15ms| +|[org.apache.pulsar.broker.PulsarServiceTest](#r0s15)|2✅|||96ms| +|[org.apache.pulsar.broker.service.MessagePublishBufferThrottleTest](#r0s16)|3✅|||14s| +|[org.apache.pulsar.broker.service.ReplicatorTest](#r0s17)|22✅|||40s| +|[org.apache.pulsar.broker.service.TopicOwnerTest](#r0s18)|8✅|||114s| +|[org.apache.pulsar.broker.SLAMonitoringTest](#r0s19)|4✅|||9s| +|[org.apache.pulsar.broker.stats.BookieClientsStatsGeneratorTest](#r0s20)|2✅|||49ms| +|[org.apache.pulsar.broker.stats.ConsumerStatsTest](#r0s21)|3✅|||21s| +|[org.apache.pulsar.broker.stats.ManagedCursorMetricsTest](#r0s22)|1✅|||281ms| +|[org.apache.pulsar.broker.stats.ManagedLedgerMetricsTest](#r0s23)|1✅|||285ms| +|[org.apache.pulsar.broker.stats.prometheus.AggregatedNamespaceStatsTest](#r0s24)|1✅|||40ms| +|[org.apache.pulsar.broker.stats.PrometheusMetricsTest](#r0s25)|15✅|||83s| +|[org.apache.pulsar.broker.stats.SubscriptionStatsTest](#r0s26)|2✅|||2s| +|[org.apache.pulsar.broker.systopic.NamespaceEventsSystemTopicServiceTest](#r0s27)|1✅|||1s| +|[org.apache.pulsar.broker.transaction.buffer.InMemTransactionBufferReaderTest](#r0s28)|3✅|||28ms| +|[org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest](#r0s29)|4✅|||93ms| +|[org.apache.pulsar.broker.transaction.buffer.TransactionBufferTest](#r0s30)|7✅|||81ms| +|[org.apache.pulsar.broker.transaction.buffer.TransactionEntryImplTest](#r0s31)|1✅|||14ms| +|[org.apache.pulsar.broker.transaction.buffer.TransactionLowWaterMarkTest](#r0s32)|2✅|||38s| +|[org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest](#r0s33)|2✅||1⚪|49s| +|[org.apache.pulsar.broker.transaction.coordinator.TransactionCoordinatorClientTest](#r0s34)|3✅|||95ms| +|[org.apache.pulsar.broker.transaction.coordinator.TransactionMetaStoreAssignmentTest](#r0s35)|1✅|||1s| +|[org.apache.pulsar.broker.transaction.pendingack.PendingAckInMemoryDeleteTest](#r0s36)|2✅||1⚪|57s| +|[org.apache.pulsar.broker.transaction.TransactionConsumeTest](#r0s37)|2✅|||30s| +|[org.apache.pulsar.broker.web.RestExceptionTest](#r0s38)|3✅|||37ms| +|[org.apache.pulsar.broker.web.WebServiceTest](#r0s39)|9✅|||27s| +|[org.apache.pulsar.client.impl.AdminApiKeyStoreTlsAuthTest](#r0s40)|4✅|||8s| +|[org.apache.pulsar.client.impl.BatchMessageIdImplSerializationTest](#r0s41)|4✅|||30ms| +|[org.apache.pulsar.client.impl.BatchMessageIndexAckDisableTest](#r0s42)|4✅|||14s| +|[org.apache.pulsar.client.impl.BatchMessageIndexAckTest](#r0s43)|5✅|||44s| +|[org.apache.pulsar.client.impl.BrokerClientIntegrationTest](#r0s44)|15✅|||148s| +|[org.apache.pulsar.client.impl.CompactedOutBatchMessageTest](#r0s45)|1✅|||1s| +|[org.apache.pulsar.client.impl.ConsumerAckResponseTest](#r0s46)|1✅|||549ms| +|[org.apache.pulsar.client.impl.ConsumerConfigurationTest](#r0s47)|4✅|||12s| +|[org.apache.pulsar.client.impl.ConsumerDedupPermitsUpdate](#r0s48)|7✅|||4s| +|[org.apache.pulsar.client.impl.ConsumerUnsubscribeTest](#r0s49)|1✅|||129ms| +|[org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithAuth](#r0s50)|3✅|||23s| +|[org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithoutAuth](#r0s51)|3✅|||8s| +|[org.apache.pulsar.client.impl.KeyStoreTlsTest](#r0s52)|1✅|||183ms| +|[org.apache.pulsar.client.impl.MessageChecksumTest](#r0s53)|3✅|||47s| +|[org.apache.pulsar.client.impl.MessageChunkingTest](#r0s54)|8✅||1⚪|73s| +|[org.apache.pulsar.client.impl.MessageParserTest](#r0s55)|2✅|||5s| +|[org.apache.pulsar.client.impl.MultiTopicsReaderTest](#r0s56)|8✅|||35s| +|[org.apache.pulsar.client.impl.NegativeAcksTest](#r0s57)|32✅|||11s| +|[org.apache.pulsar.client.impl.PatternTopicsConsumerImplTest](#r0s58)|11✅|||63s| +|[org.apache.pulsar.client.impl.PerMessageUnAcknowledgedRedeliveryTest](#r0s59)|5✅|||34s| +|[org.apache.pulsar.client.impl.PulsarMultiHostClientTest](#r0s60)|3✅|||15s| +|[org.apache.pulsar.client.impl.RawMessageSerDeserTest](#r0s61)|1✅|||10ms| +|[org.apache.pulsar.client.impl.SchemaDeleteTest](#r0s62)|1✅|||2s| +|[org.apache.pulsar.client.impl.SequenceIdWithErrorTest](#r0s63)|3✅||2⚪|18s| +|[org.apache.pulsar.client.impl.TopicDoesNotExistsTest](#r0s64)|2✅|||4s| +|[org.apache.pulsar.client.impl.TopicFromMessageTest](#r0s65)|5✅|||14s| +|[org.apache.pulsar.client.impl.TopicsConsumerImplTest](#r0s66)|17✅|||133s| +|[org.apache.pulsar.client.impl.UnAcknowledgedMessagesTimeoutTest](#r0s67)|7✅|||44s| +|[org.apache.pulsar.client.impl.ZeroQueueSizeTest](#r0s68)|14✅|||16s| +|[org.apache.pulsar.common.api.raw.RawMessageImplTest](#r0s69)|1✅|||316ms| +|[org.apache.pulsar.common.compression.CommandsTest](#r0s70)|1✅|||30ms| +|[org.apache.pulsar.common.compression.CompressorCodecBackwardCompatTest](#r0s71)|6✅|||223ms| +|[org.apache.pulsar.common.compression.CompressorCodecTest](#r0s72)|45✅|||737ms| +|[org.apache.pulsar.common.compression.Crc32cChecksumTest](#r0s73)|6✅|||5s| +|[org.apache.pulsar.common.lookup.data.LookupDataTest](#r0s74)|4✅|||2s| +|[org.apache.pulsar.common.naming.MetadataTests](#r0s75)|2✅|||161ms| +|[org.apache.pulsar.common.naming.NamespaceBundlesTest](#r0s76)|5✅|||99ms| +|[org.apache.pulsar.common.naming.NamespaceBundleTest](#r0s77)|6✅|||64ms| +|[org.apache.pulsar.common.naming.NamespaceNameTest](#r0s78)|2✅|||207ms| +|[org.apache.pulsar.common.naming.ServiceConfigurationTest](#r0s79)|4✅|||48ms| +|[org.apache.pulsar.common.naming.TopicNameTest](#r0s80)|4✅|||529ms| +|[org.apache.pulsar.common.net.ServiceURITest](#r0s81)|21✅|||237ms| +|[org.apache.pulsar.common.policies.data.AutoFailoverPolicyDataTest](#r0s82)|1✅|||15ms| +|[org.apache.pulsar.common.policies.data.AutoFailoverPolicyTypeTest](#r0s83)|1✅|||19ms| +|[org.apache.pulsar.common.policies.data.AutoTopicCreationOverrideTest](#r0s84)|6✅|||64ms| +|[org.apache.pulsar.common.policies.data.BacklogQuotaTest](#r0s85)|1✅|||12ms| +|[org.apache.pulsar.common.policies.data.ClusterDataTest](#r0s86)|1✅|||9ms| +|[org.apache.pulsar.common.policies.data.ConsumerStatsTest](#r0s87)|1✅|||8ms| +|[org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfigTest](#r0s88)|2✅|||948ms| +|[org.apache.pulsar.common.policies.data.LocalPolicesTest](#r0s89)|1✅|||48ms| +|[org.apache.pulsar.common.policies.data.NamespaceIsolationDataTest](#r0s90)|1✅|||76ms| +|[org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest](#r0s91)|1✅|||45ms| +|[org.apache.pulsar.common.policies.data.OffloadPoliciesTest](#r0s92)|6✅|||216ms| +|[org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest](#r0s93)|1✅|||12ms| +|[org.apache.pulsar.common.policies.data.PersistencePoliciesTest](#r0s94)|1✅|||19ms| +|[org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest](#r0s95)|1✅|||29ms| +|[org.apache.pulsar.common.policies.data.PersistentTopicStatsTest](#r0s96)|2✅|||51ms| +|[org.apache.pulsar.common.policies.data.PoliciesDataTest](#r0s97)|4✅|||1s| +|[org.apache.pulsar.common.policies.data.PublisherStatsTest](#r0s98)|2✅|||37ms| +|[org.apache.pulsar.common.policies.data.ReplicatorStatsTest](#r0s99)|2✅|||30ms| +|[org.apache.pulsar.common.policies.data.ResourceQuotaTest](#r0s100)|2✅|||45ms| +|[org.apache.pulsar.common.policies.data.RetentionPolicesTest](#r0s101)|1✅|||8ms| +|[org.apache.pulsar.common.policies.impl.AutoFailoverPolicyFactoryTest](#r0s102)|1✅|||22ms| +|[org.apache.pulsar.common.policies.impl.MinAvailablePolicyTest](#r0s103)|1✅|||1ms| +|[org.apache.pulsar.common.policies.impl.NamespaceIsolationPoliciesTest](#r0s104)|7✅|||265ms| +|[org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicyImplTest](#r0s105)|7✅|||309ms| +|[org.apache.pulsar.common.protocol.ByteBufPairTest](#r0s106)|2✅|||5s| +|[org.apache.pulsar.common.protocol.CommandUtilsTests](#r0s107)|7✅|||3s| +|[org.apache.pulsar.common.protocol.MarkersTest](#r0s108)|6✅|||3s| +|[org.apache.pulsar.common.protocol.PulsarDecoderTest](#r0s109)|1✅|||4s| +|[org.apache.pulsar.common.stats.JvmDefaultGCMetricsLoggerTest](#r0s110)|1✅|||82ms| +|[org.apache.pulsar.common.util.collections.BitSetRecyclableRecyclableTest](#r0s111)|2✅|||13ms| +|[org.apache.pulsar.common.util.collections.ConcurrentBitSetRecyclableTest](#r0s112)|2✅|||63ms| +|[org.apache.pulsar.common.util.collections.ConcurrentLongHashMapTest](#r0s113)|13✅|||28s| +|[org.apache.pulsar.common.util.collections.ConcurrentLongPairSetTest](#r0s114)|15✅|||2s| +|[org.apache.pulsar.common.util.collections.ConcurrentOpenHashMapTest](#r0s115)|12✅|||9s| +|[org.apache.pulsar.common.util.collections.ConcurrentOpenHashSetTest](#r0s116)|11✅|||7s| +|[org.apache.pulsar.common.util.collections.ConcurrentOpenLongPairRangeSetTest](#r0s117)|13✅|||1s| +|[org.apache.pulsar.common.util.collections.ConcurrentSortedLongPairSetTest](#r0s118)|9✅|||342ms| +|[org.apache.pulsar.common.util.collections.FieldParserTest](#r0s119)|2✅|||64ms| +|[org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueueTest](#r0s120)|6✅|||350ms| +|[org.apache.pulsar.common.util.collections.GrowablePriorityLongPairQueueTest](#r0s121)|15✅|||3s| +|[org.apache.pulsar.common.util.collections.TripleLongPriorityQueueTest](#r0s122)|3✅|||238ms| +|[org.apache.pulsar.common.util.FieldParserTest](#r0s123)|1✅|||242ms| +|[org.apache.pulsar.common.util.FileModifiedTimeUpdaterTest](#r0s124)|6✅|||6s| +|[org.apache.pulsar.common.util.netty.ChannelFuturesTest](#r0s125)|5✅|||2s| +|[org.apache.pulsar.common.util.RateLimiterTest](#r0s126)|11✅|||7s| +|[org.apache.pulsar.common.util.ReflectionsTest](#r0s127)|12✅|||172ms| +|[org.apache.pulsar.common.util.RelativeTimeUtilTest](#r0s128)|1✅|||39ms| +|[org.apache.pulsar.discovery.service.web.DiscoveryServiceWebTest](#r0s129)|1✅|||5s| +|[org.apache.pulsar.functions.worker.PulsarFunctionE2ESecurityTest](#r0s130)|2✅|||28s| +|[org.apache.pulsar.functions.worker.PulsarFunctionPublishTest](#r0s131)|3✅|||42s| +|[org.apache.pulsar.functions.worker.PulsarFunctionTlsTest](#r0s132)|1✅|||12s| +|[org.apache.pulsar.io.PulsarFunctionTlsTest](#r0s133)|1✅|||30s| +|[org.apache.pulsar.proxy.server.AdminProxyHandlerTest](#r0s134)|1✅|||474ms| +|[org.apache.pulsar.proxy.server.AuthedAdminProxyHandlerTest](#r0s135)|1✅|||2s| +|[org.apache.pulsar.proxy.server.FunctionWorkerRoutingTest](#r0s136)|1✅|||10ms| +|[org.apache.pulsar.proxy.server.ProxyAdditionalServletTest](#r0s137)|1✅|||125ms| +|[org.apache.pulsar.proxy.server.ProxyAuthenticatedProducerConsumerTest](#r0s138)|1✅|||2s| +|[org.apache.pulsar.proxy.server.ProxyAuthenticationTest](#r0s139)|1✅|||17s| +|[org.apache.pulsar.proxy.server.ProxyConnectionThrottlingTest](#r0s140)|1✅|||2s| +|[org.apache.pulsar.proxy.server.ProxyEnableHAProxyProtocolTest](#r0s141)|1✅|||511ms| +|[org.apache.pulsar.proxy.server.ProxyForwardAuthDataTest](#r0s142)|1✅|||32s| +|[org.apache.pulsar.proxy.server.ProxyIsAHttpProxyTest](#r0s143)|10✅|||2s| +|[org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithAuth](#r0s144)|3✅|||7s| +|[org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithoutAuth](#r0s145)|3✅|||7s| +|[org.apache.pulsar.proxy.server.ProxyLookupThrottlingTest](#r0s146)|1✅|||3s| +|[org.apache.pulsar.proxy.server.ProxyParserTest](#r0s147)|5✅|||1s| +|[org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest](#r0s148)|1✅|||10s| +|[org.apache.pulsar.proxy.server.ProxyStatsTest](#r0s149)|3✅|||533ms| +|[org.apache.pulsar.proxy.server.ProxyTest](#r0s150)|6✅|||3s| +|[org.apache.pulsar.proxy.server.ProxyTlsTest](#r0s151)|2✅|||414ms| +|[org.apache.pulsar.proxy.server.ProxyTlsTestWithAuth](#r0s152)|1✅|||4ms| +|[org.apache.pulsar.proxy.server.ProxyWithAuthorizationNegTest](#r0s153)|1✅|||2s| +|[org.apache.pulsar.proxy.server.ProxyWithAuthorizationTest](#r0s154)|13✅|||33s| +|[org.apache.pulsar.proxy.server.ProxyWithoutServiceDiscoveryTest](#r0s155)|1✅|||2s| +|[org.apache.pulsar.proxy.server.SuperUserAuthedAdminProxyHandlerTest](#r0s156)|3✅|||8s| +|[org.apache.pulsar.proxy.server.UnauthedAdminProxyHandlerTest](#r0s157)|2✅|||114ms| +|[org.apache.pulsar.PulsarBrokerStarterTest](#r0s158)|9✅|||591ms| +|[org.apache.pulsar.schema.compatibility.SchemaCompatibilityCheckTest](#r0s159)|23✅|||107s| +|[org.apache.pulsar.schema.PartitionedTopicSchemaTest](#r0s160)|1✅|||29s| +|[org.apache.pulsar.schema.SchemaTest](#r0s161)|3✅|||31s| +|[org.apache.pulsar.stats.client.PulsarBrokerStatsClientTest](#r0s162)|2✅|||41s| +|[org.apache.pulsar.tests.EnumValuesDataProviderTest](#r0s163)|6✅|||23ms| +|[org.apache.pulsar.tests.TestRetrySupportBeforeMethodRetryTest](#r0s164)|1✅||4⚪|36ms| +|[org.apache.pulsar.tests.TestRetrySupportRetryTest](#r0s165)|1✅||4⚪|27ms| +|[org.apache.pulsar.tests.TestRetrySupportSuccessTest](#r0s166)|3✅|||1ms| +|[org.apache.pulsar.tests.ThreadDumpUtilTest](#r0s167)|2✅|||17ms| +|[org.apache.pulsar.utils.SimpleTextOutputStreamTest](#r0s168)|4✅|||50ms| +|[org.apache.pulsar.utils.StatsOutputStreamTest](#r0s169)|6✅|||59ms| +|[org.apache.pulsar.websocket.proxy.ProxyAuthenticationTest](#r0s170)|4✅|||29s| +|[org.apache.pulsar.websocket.proxy.ProxyAuthorizationTest](#r0s171)|1✅|||1s| +|[org.apache.pulsar.websocket.proxy.ProxyConfigurationTest](#r0s172)|2✅|||9s| +|[org.apache.pulsar.websocket.proxy.ProxyPublishConsumeTlsTest](#r0s173)|1✅|||11s| +|[org.apache.pulsar.websocket.proxy.ProxyPublishConsumeWithoutZKTest](#r0s174)|1✅|||7s| +|[org.apache.pulsar.websocket.proxy.v1.V1_ProxyAuthenticationTest](#r0s175)|4✅|||30s| ### ❌ org.apache.pulsar.AddMissingPatchVersionTest ``` -✖️ testVersionStrings +⚪ testVersionStrings ❌ testVersionStrings java.lang.AssertionError: expected [1.2.1] but found [1.2.0] ``` -### ✔️ org.apache.pulsar.broker.admin.AdminApiOffloadTest +### ✅ org.apache.pulsar.broker.admin.AdminApiOffloadTest ``` -✔️ testOffloadPoliciesAppliedApi -✔️ testOffloadV2 -✔️ testTopicLevelOffloadNonPartitioned -✔️ testTopicLevelOffloadPartitioned -✔️ testOffloadV1 -✔️ testOffloadPolicies -✔️ testOffloadPoliciesApi +✅ testOffloadPoliciesAppliedApi +✅ testOffloadV2 +✅ testTopicLevelOffloadNonPartitioned +✅ testTopicLevelOffloadPartitioned +✅ testOffloadV1 +✅ testOffloadPolicies +✅ testOffloadPoliciesApi ``` -### ✔️ org.apache.pulsar.broker.auth.AuthenticationServiceTest +### ✅ org.apache.pulsar.broker.auth.AuthenticationServiceTest ``` -✔️ testAuthentication -✔️ testAuthenticationHttp +✅ testAuthentication +✅ testAuthenticationHttp ``` -### ✔️ org.apache.pulsar.broker.auth.AuthLogsTest +### ✅ org.apache.pulsar.broker.auth.AuthLogsTest ``` -✔️ httpEndpoint -✔️ binaryEndpoint +✅ httpEndpoint +✅ binaryEndpoint ``` -### ✔️ org.apache.pulsar.broker.auth.AuthorizationTest +### ✅ org.apache.pulsar.broker.auth.AuthorizationTest ``` -✔️ simple +✅ simple ``` -### ✔️ org.apache.pulsar.broker.lookup.http.HttpTopicLookupv2Test +### ✅ org.apache.pulsar.broker.lookup.http.HttpTopicLookupv2Test ``` -✔️ crossColoLookup -✔️ testNotEnoughLookupPermits -✔️ testValidateReplicationSettingsOnNamespace -✔️ testDataPojo +✅ crossColoLookup +✅ testNotEnoughLookupPermits +✅ testValidateReplicationSettingsOnNamespace +✅ testDataPojo ``` -### ✔️ org.apache.pulsar.broker.namespace.NamespaceCreateBundlesTest +### ✅ org.apache.pulsar.broker.namespace.NamespaceCreateBundlesTest ``` -✔️ testCreateNamespaceWithDefaultBundles -✔️ testSplitBundleUpdatesLocalPoliciesWithoutOverwriting +✅ testCreateNamespaceWithDefaultBundles +✅ testSplitBundleUpdatesLocalPoliciesWithoutOverwriting ``` -### ✔️ org.apache.pulsar.broker.namespace.NamespaceOwnershipListenerTests +### ✅ org.apache.pulsar.broker.namespace.NamespaceOwnershipListenerTests ``` -✔️ testGetAllPartitions -✔️ testNamespaceBundleOwnershipListener +✅ testGetAllPartitions +✅ testNamespaceBundleOwnershipListener ``` -### ✔️ org.apache.pulsar.broker.namespace.NamespaceServiceTest +### ✅ org.apache.pulsar.broker.namespace.NamespaceServiceTest ``` -✔️ testSplitMapWithRefreshedStatMap -✔️ testRemoveOwnershipNamespaceBundle -✔️ testIsServiceUnitDisabled -✔️ testLoadReportDeserialize -✔️ testCreateLookupResult -✔️ testUnloadNamespaceBundleWithStuckTopic -✔️ testUnloadNamespaceBundleFailure -✔️ testSplitAndOwnBundles -✔️ testCreateNamespaceWithDefaultNumberOfBundles -✔️ testRemoveOwnershipAndSplitBundle +✅ testSplitMapWithRefreshedStatMap +✅ testRemoveOwnershipNamespaceBundle +✅ testIsServiceUnitDisabled +✅ testLoadReportDeserialize +✅ testCreateLookupResult +✅ testUnloadNamespaceBundleWithStuckTopic +✅ testUnloadNamespaceBundleFailure +✅ testSplitAndOwnBundles +✅ testCreateNamespaceWithDefaultNumberOfBundles +✅ testRemoveOwnershipAndSplitBundle ``` -### ✔️ org.apache.pulsar.broker.namespace.NamespaceUnloadingTest +### ✅ org.apache.pulsar.broker.namespace.NamespaceUnloadingTest ``` -✔️ testUnloadNotLoadedNamespace -✔️ testUnloadPartiallyLoadedNamespace +✅ testUnloadNotLoadedNamespace +✅ testUnloadPartiallyLoadedNamespace ``` -### ✔️ org.apache.pulsar.broker.namespace.OwnerShipCacheForCurrentServerTest +### ✅ org.apache.pulsar.broker.namespace.OwnerShipCacheForCurrentServerTest ``` -✔️ testOwnershipForCurrentServer +✅ testOwnershipForCurrentServer ``` -### ✔️ org.apache.pulsar.broker.namespace.OwnershipCacheTest +### ✅ org.apache.pulsar.broker.namespace.OwnershipCacheTest ``` -✔️ testGetOwnedServiceUnits -✔️ testRemoveOwnership -✔️ testGetOwnedServiceUnit -✔️ testGetOrSetOwner -✔️ testConstructor -✔️ testGetOwner -✔️ testDisableOwnership -✔️ testReestablishOwnership +✅ testGetOwnedServiceUnits +✅ testRemoveOwnership +✅ testGetOwnedServiceUnit +✅ testGetOrSetOwner +✅ testConstructor +✅ testGetOwner +✅ testDisableOwnership +✅ testReestablishOwnership ``` -### ✔️ org.apache.pulsar.broker.protocol.ProtocolHandlersTest +### ✅ org.apache.pulsar.broker.protocol.ProtocolHandlersTest ``` -✔️ testStart -✔️ testGetProtocol -✔️ testNewChannelInitializersSuccess -✔️ testInitialize -✔️ testNewChannelInitializersOverlapped -✔️ testGetProtocolDataToAdvertise +✅ testStart +✅ testGetProtocol +✅ testNewChannelInitializersSuccess +✅ testInitialize +✅ testNewChannelInitializersOverlapped +✅ testGetProtocolDataToAdvertise ``` -### ✔️ org.apache.pulsar.broker.protocol.ProtocolHandlerUtilsTest +### ✅ org.apache.pulsar.broker.protocol.ProtocolHandlerUtilsTest ``` -✔️ testLoadProtocolHandler -✔️ testLoadProtocolHandlerBlankHandlerClass -✔️ testLoadProtocolHandlerWrongHandlerClass +✅ testLoadProtocolHandler +✅ testLoadProtocolHandlerBlankHandlerClass +✅ testLoadProtocolHandlerWrongHandlerClass ``` -### ✔️ org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoaderTest +### ✅ org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoaderTest ``` -✔️ testWrapper +✅ testWrapper ``` -### ✔️ org.apache.pulsar.broker.PulsarServiceTest +### ✅ org.apache.pulsar.broker.PulsarServiceTest ``` -✔️ testGetWorkerService -✔️ testGetWorkerServiceException +✅ testGetWorkerService +✅ testGetWorkerServiceException ``` -### ✔️ org.apache.pulsar.broker.service.MessagePublishBufferThrottleTest +### ✅ org.apache.pulsar.broker.service.MessagePublishBufferThrottleTest ``` -✔️ testMessagePublishBufferThrottleEnable -✔️ testBlockByPublishRateLimiting -✔️ testMessagePublishBufferThrottleDisabled +✅ testMessagePublishBufferThrottleEnable +✅ testBlockByPublishRateLimiting +✅ testMessagePublishBufferThrottleDisabled ``` -### ✔️ org.apache.pulsar.broker.service.ReplicatorTest +### ✅ org.apache.pulsar.broker.service.ReplicatorTest ``` -✔️ testResumptionAfterBacklogRelaxed -✔️ testReplicationOverrides -✔️ testResetCursorNotFail -✔️ testUpdateGlobalTopicPartition -✔️ testReplication -✔️ testReplicatorOnPartitionedTopic -✔️ testConcurrentReplicator -✔️ testTopicReplicatedAndProducerCreate -✔️ testDeleteReplicatorFailure -✔️ testReplicatorOnPartitionedTopic -✔️ testReplicationForBatchMessages -✔️ testReplicatorClearBacklog -✔️ verifyChecksumAfterReplication -✔️ testCloseReplicatorStartProducer -✔️ activeBrokerParse -✔️ testReplicatePeekAndSkip -✔️ testReplication -✔️ testReplicatedCluster -✔️ testTopicReplicatedAndProducerCreate -✔️ testConfigChange -✔️ testFailures -✔️ testReplicatorProducerClosing +✅ testResumptionAfterBacklogRelaxed +✅ testReplicationOverrides +✅ testResetCursorNotFail +✅ testUpdateGlobalTopicPartition +✅ testReplication +✅ testReplicatorOnPartitionedTopic +✅ testConcurrentReplicator +✅ testTopicReplicatedAndProducerCreate +✅ testDeleteReplicatorFailure +✅ testReplicatorOnPartitionedTopic +✅ testReplicationForBatchMessages +✅ testReplicatorClearBacklog +✅ verifyChecksumAfterReplication +✅ testCloseReplicatorStartProducer +✅ activeBrokerParse +✅ testReplicatePeekAndSkip +✅ testReplication +✅ testReplicatedCluster +✅ testTopicReplicatedAndProducerCreate +✅ testConfigChange +✅ testFailures +✅ testReplicatorProducerClosing ``` -### ✔️ org.apache.pulsar.broker.service.TopicOwnerTest +### ✅ org.apache.pulsar.broker.service.TopicOwnerTest ``` -✔️ testReleaseOwnershipWithZookeeperDisconnectedBeforeOwnershipNodeDeleted -✔️ testAcquireOwnershipWithZookeeperDisconnectedAfterOwnershipNodeCreated -✔️ testConnectToInvalidateBundleCacheBroker -✔️ testAcquireOwnershipWithZookeeperDisconnectedBeforeOwnershipNodeCreated -✔️ testLookupPartitionedTopic -✔️ testListNonPersistentTopic -✔️ testReleaseOwnershipWithZookeeperDisconnectedAfterOwnershipNodeDeleted -✔️ testReestablishOwnershipAfterInvalidateCache +✅ testReleaseOwnershipWithZookeeperDisconnectedBeforeOwnershipNodeDeleted +✅ testAcquireOwnershipWithZookeeperDisconnectedAfterOwnershipNodeCreated +✅ testConnectToInvalidateBundleCacheBroker +✅ testAcquireOwnershipWithZookeeperDisconnectedBeforeOwnershipNodeCreated +✅ testLookupPartitionedTopic +✅ testListNonPersistentTopic +✅ testReleaseOwnershipWithZookeeperDisconnectedAfterOwnershipNodeDeleted +✅ testReestablishOwnershipAfterInvalidateCache ``` -### ✔️ org.apache.pulsar.broker.SLAMonitoringTest +### ✅ org.apache.pulsar.broker.SLAMonitoringTest ``` -✔️ testOwnedNamespaces -✔️ testOwnershipAfterSetup -✔️ testUnloadIfBrokerCrashes -✔️ testOwnershipViaAdminAfterSetup +✅ testOwnedNamespaces +✅ testOwnershipAfterSetup +✅ testUnloadIfBrokerCrashes +✅ testOwnershipViaAdminAfterSetup ``` -### ✔️ org.apache.pulsar.broker.stats.BookieClientsStatsGeneratorTest +### ✅ org.apache.pulsar.broker.stats.BookieClientsStatsGeneratorTest ``` -✔️ testJvmDirectMemoryUsedMetric -✔️ testBookieClientStatsGenerator +✅ testJvmDirectMemoryUsedMetric +✅ testBookieClientStatsGenerator ``` -### ✔️ org.apache.pulsar.broker.stats.ConsumerStatsTest +### ✅ org.apache.pulsar.broker.stats.ConsumerStatsTest ``` -✔️ testAckStatsOnPartitionedTopicForExclusiveSubscription -✔️ testConsumerStatsOnZeroMaxUnackedMessagesPerConsumer -✔️ testUpdateStatsForActiveConsumerAndSubscription +✅ testAckStatsOnPartitionedTopicForExclusiveSubscription +✅ testConsumerStatsOnZeroMaxUnackedMessagesPerConsumer +✅ testUpdateStatsForActiveConsumerAndSubscription ``` -### ✔️ org.apache.pulsar.broker.stats.ManagedCursorMetricsTest +### ✅ org.apache.pulsar.broker.stats.ManagedCursorMetricsTest ``` -✔️ testManagedCursorMetrics +✅ testManagedCursorMetrics ``` -### ✔️ org.apache.pulsar.broker.stats.ManagedLedgerMetricsTest +### ✅ org.apache.pulsar.broker.stats.ManagedLedgerMetricsTest ``` -✔️ testManagedLedgerMetrics +✅ testManagedLedgerMetrics ``` -### ✔️ org.apache.pulsar.broker.stats.prometheus.AggregatedNamespaceStatsTest +### ✅ org.apache.pulsar.broker.stats.prometheus.AggregatedNamespaceStatsTest ``` -✔️ testSimpleAggregation +✅ testSimpleAggregation ``` -### ✔️ org.apache.pulsar.broker.stats.PrometheusMetricsTest +### ✅ org.apache.pulsar.broker.stats.PrometheusMetricsTest ``` -✔️ testPerTopicStats -✔️ testAuthMetrics -✔️ testPerTopicExpiredStat -✔️ testPerProducerStats -✔️ testMetricsTopicCount -✔️ testManagedLedgerBookieClientStats -✔️ testDuplicateMetricTypeDefinitions -✔️ testExpiringTokenMetrics -✔️ testPerConsumerStats -✔️ testPerNamespaceStats -✔️ testManagedCursorPersistStats -✔️ testDuplicateMetricTypeDefinitions -✔️ testExpiredTokenMetrics -✔️ testManagedLedgerCacheStats -✔️ testManagedLedgerStats +✅ testPerTopicStats +✅ testAuthMetrics +✅ testPerTopicExpiredStat +✅ testPerProducerStats +✅ testMetricsTopicCount +✅ testManagedLedgerBookieClientStats +✅ testDuplicateMetricTypeDefinitions +✅ testExpiringTokenMetrics +✅ testPerConsumerStats +✅ testPerNamespaceStats +✅ testManagedCursorPersistStats +✅ testDuplicateMetricTypeDefinitions +✅ testExpiredTokenMetrics +✅ testManagedLedgerCacheStats +✅ testManagedLedgerStats ``` -### ✔️ org.apache.pulsar.broker.stats.SubscriptionStatsTest +### ✅ org.apache.pulsar.broker.stats.SubscriptionStatsTest ``` -✔️ testConsumersAfterMarkDelete -✔️ testNonContiguousDeletedMessagesRanges +✅ testConsumersAfterMarkDelete +✅ testNonContiguousDeletedMessagesRanges ``` -### ✔️ org.apache.pulsar.broker.systopic.NamespaceEventsSystemTopicServiceTest +### ✅ org.apache.pulsar.broker.systopic.NamespaceEventsSystemTopicServiceTest ``` -✔️ testSendAndReceiveNamespaceEvents +✅ testSendAndReceiveNamespaceEvents ``` -### ✔️ org.apache.pulsar.broker.transaction.buffer.InMemTransactionBufferReaderTest +### ✅ org.apache.pulsar.broker.transaction.buffer.InMemTransactionBufferReaderTest ``` -✔️ testCloseReleaseAllEntries -✔️ testInvalidNumEntriesArgument -✔️ testEndOfTransactionException +✅ testCloseReleaseAllEntries +✅ testInvalidNumEntriesArgument +✅ testEndOfTransactionException ``` -### ✔️ org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest ``` -✔️ testAbortOnTopic -✔️ testAbortOnSubscription -✔️ testCommitOnTopic -✔️ testCommitOnSubscription +✅ testAbortOnTopic +✅ testAbortOnSubscription +✅ testCommitOnTopic +✅ testCommitOnSubscription ``` -### ✔️ org.apache.pulsar.broker.transaction.buffer.TransactionBufferTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionBufferTest ``` -✔️ testOpenReaderOnNonExistentTxn -✔️ testAbortCommittedTxn -✔️ testAbortTxn -✔️ testAbortNonExistentTxn -✔️ testCommitNonExistentTxn -✔️ testCommitTxn -✔️ testOpenReaderOnAnOpenTxn +✅ testOpenReaderOnNonExistentTxn +✅ testAbortCommittedTxn +✅ testAbortTxn +✅ testAbortNonExistentTxn +✅ testCommitNonExistentTxn +✅ testCommitTxn +✅ testOpenReaderOnAnOpenTxn ``` -### ✔️ org.apache.pulsar.broker.transaction.buffer.TransactionEntryImplTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionEntryImplTest ``` -✔️ testCloseShouldReleaseBuffer +✅ testCloseShouldReleaseBuffer ``` -### ✔️ org.apache.pulsar.broker.transaction.buffer.TransactionLowWaterMarkTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionLowWaterMarkTest ``` -✔️ testTransactionBufferLowWaterMark -✔️ testPendingAckLowWaterMark +✅ testTransactionBufferLowWaterMark +✅ testPendingAckLowWaterMark ``` -### ✔️ org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest ``` -✔️ commitTxnTest -✔️ abortTxnTest -✖️ commitTxnTest +✅ commitTxnTest +✅ abortTxnTest +⚪ commitTxnTest ``` -### ✔️ org.apache.pulsar.broker.transaction.coordinator.TransactionCoordinatorClientTest +### ✅ org.apache.pulsar.broker.transaction.coordinator.TransactionCoordinatorClientTest ``` -✔️ testClientStart -✔️ testCommitAndAbort -✔️ testNewTxn +✅ testClientStart +✅ testCommitAndAbort +✅ testNewTxn ``` -### ✔️ org.apache.pulsar.broker.transaction.coordinator.TransactionMetaStoreAssignmentTest +### ✅ org.apache.pulsar.broker.transaction.coordinator.TransactionMetaStoreAssignmentTest ``` -✔️ testTransactionMetaStoreAssignAndFailover +✅ testTransactionMetaStoreAssignAndFailover ``` -### ✔️ org.apache.pulsar.broker.transaction.pendingack.PendingAckInMemoryDeleteTest +### ✅ org.apache.pulsar.broker.transaction.pendingack.PendingAckInMemoryDeleteTest ``` -✖️ txnAckTestNoBatchAndSharedSubMemoryDeleteTest -✔️ txnAckTestNoBatchAndSharedSubMemoryDeleteTest -✔️ txnAckTestBatchAndSharedSubMemoryDeleteTest +⚪ txnAckTestNoBatchAndSharedSubMemoryDeleteTest +✅ txnAckTestNoBatchAndSharedSubMemoryDeleteTest +✅ txnAckTestBatchAndSharedSubMemoryDeleteTest ``` -### ✔️ org.apache.pulsar.broker.transaction.TransactionConsumeTest +### ✅ org.apache.pulsar.broker.transaction.TransactionConsumeTest ``` -✔️ noSortedTest -✔️ sortedTest +✅ noSortedTest +✅ sortedTest ``` -### ✔️ org.apache.pulsar.broker.web.RestExceptionTest +### ✅ org.apache.pulsar.broker.web.RestExceptionTest ``` -✔️ testRestException -✔️ testWebApplicationException -✔️ testOtherException +✅ testRestException +✅ testWebApplicationException +✅ testOtherException ``` -### ✔️ org.apache.pulsar.broker.web.WebServiceTest +### ✅ org.apache.pulsar.broker.web.WebServiceTest ``` -✔️ testTlsAuthDisallowInsecure -✔️ testBrokerReady -✔️ testDefaultClientVersion -✔️ testTlsEnabled -✔️ testTlsAuthAllowInsecure -✔️ testSplitPath -✔️ testMaxRequestSize -✔️ testTlsDisabled -✔️ testRateLimiting +✅ testTlsAuthDisallowInsecure +✅ testBrokerReady +✅ testDefaultClientVersion +✅ testTlsEnabled +✅ testTlsAuthAllowInsecure +✅ testSplitPath +✅ testMaxRequestSize +✅ testTlsDisabled +✅ testRateLimiting ``` -### ✔️ org.apache.pulsar.client.impl.AdminApiKeyStoreTlsAuthTest +### ✅ org.apache.pulsar.client.impl.AdminApiKeyStoreTlsAuthTest ``` -✔️ testAuthorizedUserAsOriginalPrincipal -✔️ testSuperUserCantListNamespaces -✔️ testPersistentList -✔️ testSuperUserCanListTenants +✅ testAuthorizedUserAsOriginalPrincipal +✅ testSuperUserCantListNamespaces +✅ testPersistentList +✅ testSuperUserCanListTenants ``` -### ✔️ org.apache.pulsar.client.impl.BatchMessageIdImplSerializationTest +### ✅ org.apache.pulsar.client.impl.BatchMessageIdImplSerializationTest ``` -✔️ testSerializationEmpty -✔️ testSerialization1 -✔️ testSerializationNull -✔️ testSerialization2 +✅ testSerializationEmpty +✅ testSerialization1 +✅ testSerializationNull +✅ testSerialization2 ``` -### ✔️ org.apache.pulsar.client.impl.BatchMessageIndexAckDisableTest +### ✅ org.apache.pulsar.client.impl.BatchMessageIndexAckDisableTest ``` -✔️ testBatchMessageIndexAckForExclusiveSubscription -✔️ testBatchMessageIndexAckForSharedSubscription -✔️ testBatchMessageIndexAckForExclusiveSubscription -✔️ testBatchMessageIndexAckForSharedSubscription +✅ testBatchMessageIndexAckForExclusiveSubscription +✅ testBatchMessageIndexAckForSharedSubscription +✅ testBatchMessageIndexAckForExclusiveSubscription +✅ testBatchMessageIndexAckForSharedSubscription ``` -### ✔️ org.apache.pulsar.client.impl.BatchMessageIndexAckTest +### ✅ org.apache.pulsar.client.impl.BatchMessageIndexAckTest ``` -✔️ testBatchMessageIndexAckForSharedSubscription -✔️ testBatchMessageIndexAckForSharedSubscription -✔️ testDoNotRecycleAckSetMultipleTimes -✔️ testBatchMessageIndexAckForExclusiveSubscription -✔️ testBatchMessageIndexAckForExclusiveSubscription +✅ testBatchMessageIndexAckForSharedSubscription +✅ testBatchMessageIndexAckForSharedSubscription +✅ testDoNotRecycleAckSetMultipleTimes +✅ testBatchMessageIndexAckForExclusiveSubscription +✅ testBatchMessageIndexAckForExclusiveSubscription ``` -### ✔️ org.apache.pulsar.client.impl.BrokerClientIntegrationTest +### ✅ org.apache.pulsar.client.impl.BrokerClientIntegrationTest ``` -✔️ testDisconnectClientWithoutClosingConnection -✔️ testResetCursor -✔️ testResetCursor -✔️ testCloseBrokerService -✔️ testUnsupportedBatchMessageConsumer -✔️ testAvroSchemaProducerConsumerWithSpecifiedReaderAndWriter -✔️ testJsonSchemaProducerConsumerWithSpecifiedReaderAndWriter -✔️ testOperationTimeout -✔️ testCleanProducer -✔️ testUnsupportedBatchMessageConsumer -✔️ testCloseConnectionOnBrokerRejectedRequest -✔️ testAddEntryOperationTimeout -✔️ testInvalidDynamicConfiguration -✔️ testMaxConcurrentTopicLoading -✔️ testCloseConnectionOnInternalServerError +✅ testDisconnectClientWithoutClosingConnection +✅ testResetCursor +✅ testResetCursor +✅ testCloseBrokerService +✅ testUnsupportedBatchMessageConsumer +✅ testAvroSchemaProducerConsumerWithSpecifiedReaderAndWriter +✅ testJsonSchemaProducerConsumerWithSpecifiedReaderAndWriter +✅ testOperationTimeout +✅ testCleanProducer +✅ testUnsupportedBatchMessageConsumer +✅ testCloseConnectionOnBrokerRejectedRequest +✅ testAddEntryOperationTimeout +✅ testInvalidDynamicConfiguration +✅ testMaxConcurrentTopicLoading +✅ testCloseConnectionOnInternalServerError ``` -### ✔️ org.apache.pulsar.client.impl.CompactedOutBatchMessageTest +### ✅ org.apache.pulsar.client.impl.CompactedOutBatchMessageTest ``` -✔️ testCompactedOutMessages +✅ testCompactedOutMessages ``` -### ✔️ org.apache.pulsar.client.impl.ConsumerAckResponseTest +### ✅ org.apache.pulsar.client.impl.ConsumerAckResponseTest ``` -✔️ testAckResponse +✅ testAckResponse ``` -### ✔️ org.apache.pulsar.client.impl.ConsumerConfigurationTest -``` -✔️ testReadCompactNonPersistentExclusive -✔️ testReadCompactPersistentExclusive -✔️ testReadCompactPersistentFailover -✔️ testReadCompactPersistentShared -``` -### ✔️ org.apache.pulsar.client.impl.ConsumerDedupPermitsUpdate -``` -✔️ testConsumerDedup -✔️ testConsumerDedup -✔️ testConsumerDedup -✔️ testConsumerDedup -✔️ testConsumerDedup -✔️ testConsumerDedup -✔️ testConsumerDedup -``` -### ✔️ org.apache.pulsar.client.impl.ConsumerUnsubscribeTest -``` -✔️ testConsumerUnsubscribeReference -``` -### ✔️ org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithAuth -``` -✔️ testTlsClientAuthOverHTTPProtocol -✔️ testTlsClientAuthOverBinaryProtocol -✔️ testTlsLargeSizeMessage -``` -### ✔️ org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithoutAuth -``` -✔️ testTlsClientAuthOverHTTPProtocol -✔️ testTlsClientAuthOverBinaryProtocol -✔️ testTlsLargeSizeMessage -``` -### ✔️ org.apache.pulsar.client.impl.KeyStoreTlsTest -``` -✔️ testValidate -``` -### ✔️ org.apache.pulsar.client.impl.MessageChecksumTest -``` -✔️ testChecksumCompatibilityInMixedVersionBrokerCluster -✔️ testTamperingMessageIsDetected -✔️ testChecksumCompatibilityInMixedVersionBrokerCluster -``` -### ✔️ org.apache.pulsar.client.impl.MessageChunkingTest -``` -✔️ testPublishWithFailure -✔️ testInvalidUseCaseForChunking -✔️ testLargeMessage -✔️ testExpireIncompleteChunkMessage -✔️ testInvalidConfig -✔️ testLargeMessageAckTimeOut -✔️ testLargeMessageAckTimeOut -✔️ testLargeMessage -✖️ testMaxPendingChunkMessages -``` -### ✔️ org.apache.pulsar.client.impl.MessageParserTest -``` -✔️ testWithoutBatches -✔️ testWithBatches -``` -### ✔️ org.apache.pulsar.client.impl.MultiTopicsReaderTest -``` -✔️ testReadMessageWithBatchingWithMessageInclusive -✔️ testKeyHashRangeReader -✔️ testRemoveSubscriptionForReaderNeedRemoveCursor -✔️ testReadMessageWithBatching -✔️ testReadMessageWithoutBatchingWithMessageInclusive -✔️ testMultiReaderSeek -✔️ testReadMessageWithoutBatching -✔️ testReaderWithTimeLong -``` -### ✔️ org.apache.pulsar.client.impl.NegativeAcksTest -``` -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -✔️ testNegativeAcks -``` -### ✔️ org.apache.pulsar.client.impl.PatternTopicsConsumerImplTest -``` -✔️ testStartEmptyPatternConsumer -✔️ testBinaryProtoToGetTopicsOfNamespaceAll -✔️ testPatternTopicsSubscribeWithBuilderFail -✔️ testPubRateOnNonPersistent -✔️ testTopicDeletion -✔️ testAutoUnbubscribePatternConsumer -✔️ testTopicsPatternFilter -✔️ testBinaryProtoToGetTopicsOfNamespaceNonPersistent -✔️ testBinaryProtoToGetTopicsOfNamespacePersistent -✔️ testTopicsListMinus -✔️ testAutoSubscribePatternConsumer -``` -### ✔️ org.apache.pulsar.client.impl.PerMessageUnAcknowledgedRedeliveryTest -``` -✔️ testSharedAckedNormalTopic -✔️ testUnAckedMessageTrackerSize -✔️ testSharedAckedPartitionedTopic -✔️ testExclusiveAckedNormalTopic -✔️ testFailoverAckedNormalTopic -``` -### ✔️ org.apache.pulsar.client.impl.PulsarMultiHostClientTest -``` -✔️ testMultiHostUrlRetrySuccess -✔️ testGetPartitionedTopicDataTimeout -✔️ testGetPartitionedTopicMetaData -``` -### ✔️ org.apache.pulsar.client.impl.RawMessageSerDeserTest -``` -✔️ testSerializationAndDeserialization -``` -### ✔️ org.apache.pulsar.client.impl.SchemaDeleteTest -``` -✔️ createTopicDeleteTopicCreateTopic -``` -### ✔️ org.apache.pulsar.client.impl.SequenceIdWithErrorTest -``` -✔️ testCheckSequenceId -✔️ testDeleteTopicWithMissingData -✔️ testTopicWithWildCardChar -✖️ testCrashBrokerWithoutCursorLedgerLeak -✖️ testSkipCorruptDataLedger -``` -### ✔️ org.apache.pulsar.client.impl.TopicDoesNotExistsTest -``` -✔️ testCreateConsumerOnNotExistsTopic -✔️ testCreateProducerOnNotExistsTopic -``` -### ✔️ org.apache.pulsar.client.impl.TopicFromMessageTest -``` -✔️ testSingleTopicConsumerNoBatchFullName -✔️ testMultiTopicConsumerBatchShortName -✔️ testSingleTopicConsumerNoBatchShortName -✔️ testMultiTopicConsumerNoBatchShortName -✔️ testSingleTopicConsumerBatchShortName -``` -### ✔️ org.apache.pulsar.client.impl.TopicsConsumerImplTest -``` -✔️ testTopicAutoUpdatePartitions -✔️ testDifferentTopicsNameSubscribe -✔️ testGetLastMessageId -✔️ testConsumerUnackedRedelivery -✔️ testSubscriptionMustCompleteWhenOperationTimeoutOnMultipleTopics -✔️ testConsumerDistributionInFailoverSubscriptionWhenUpdatePartitions -✔️ multiTopicsInDifferentNameSpace -✔️ testDefaultBacklogTTL -✔️ testGetConsumersAndGetTopics -✔️ testSubscribeUnsubscribeSingleTopic -✔️ testResubscribeSameTopic -✔️ testSyncProducerAndConsumer -✔️ testPartitionsUpdatesForMultipleTopics -✔️ testTopicsNameSubscribeWithBuilderFail -✔️ testMultiTopicsMessageListener -✔️ testTopicNameValid -✔️ testAsyncConsumer -``` -### ✔️ org.apache.pulsar.client.impl.UnAcknowledgedMessagesTimeoutTest -``` -✔️ testCheckUnAcknowledgedMessageTimer -✔️ testExclusiveSingleAckedNormalTopic -✔️ testFailoverSingleAckedPartitionedTopic -✔️ testSharedSingleAckedPartitionedTopic -✔️ testAckTimeoutMinValue -✔️ testExclusiveCumulativeAckedNormalTopic -✔️ testSingleMessageBatch -``` -### ✔️ org.apache.pulsar.client.impl.ZeroQueueSizeTest -``` -✔️ zeroQueueSizeSharedSubscription -✔️ testPauseAndResume -✔️ testZeroQueueSizeMessageRedeliveryForAsyncReceive -✔️ zeroQueueSizeConsumerListener -✔️ zeroQueueSizeFailoverSubscription -✔️ validQueueSizeConfig -✔️ zeroQueueSizeNormalConsumer -✔️ zeroQueueSizeReceieveAsyncInCompatibility -✔️ InvalidQueueSizeConfig -✔️ testZeroQueueSizeMessageRedeliveryForListener -✔️ testZeroQueueSizeMessageRedelivery -✔️ zeroQueueSizePartitionedTopicInCompatibility -✔️ testFailedZeroQueueSizeBatchMessage -✔️ testPauseAndResumeWithUnloading -``` -### ✔️ org.apache.pulsar.common.api.raw.RawMessageImplTest -``` -✔️ testGetProperties -``` -### ✔️ org.apache.pulsar.common.compression.CommandsTest -``` -✔️ testChecksumSendCommand -``` -### ✔️ org.apache.pulsar.common.compression.CompressorCodecBackwardCompatTest -``` -✔️ testCompressDecompress -✔️ testCompressDecompress -✔️ testCompressDecompress -✔️ testCompressDecompress -✔️ testCompressDecompress -✔️ testCompressDecompress -``` -### ✔️ org.apache.pulsar.common.compression.CompressorCodecTest -``` -✔️ testCompressDecompress -✔️ testMultpileUsages -✔️ testMultpileUsages -✔️ testCompressDecompress -✔️ testMultpileUsages -✔️ testCompressDecompress -✔️ testMultpileUsages -✔️ testCompressDecompress -✔️ testDecompressFromSampleBuffer -✔️ testDecompressReadonlyByteBuf -✔️ testDecompressReadonlyByteBuf -✔️ testCodecProvider -✔️ testEmptyInput -✔️ testEmptyInput -✔️ testCompressDecompress -✔️ testCodecProvider -✔️ testDecompressFromSampleBuffer -✔️ testMultpileUsages -✔️ testCodecProvider -✔️ testEmptyInput -✔️ testDecompressReadonlyByteBuf -✔️ testCompressDecompress -✔️ testDecompressReadonlyByteBuf -✔️ testCompressDecompress -✔️ testCompressDecompress -✔️ testMultpileUsages -✔️ testEmptyInput -✔️ testDecompressReadonlyByteBuf -✔️ testDecompressFromSampleBuffer -✔️ testDecompressFromSampleBuffer -✔️ testDecompressFromSampleBuffer -✔️ testDecompressReadonlyByteBuf -✔️ testDecompressReadonlyByteBuf -✔️ testMultpileUsages -✔️ testCompressDecompress -✔️ testCodecProvider -✔️ testMultpileUsages -✔️ testCompressDecompress -✔️ testMultpileUsages -✔️ testDecompressReadonlyByteBuf -✔️ testEmptyInput -✔️ testCodecProvider -✔️ testDecompressReadonlyByteBuf -✔️ testDecompressReadonlyByteBuf -✔️ testMultpileUsages -``` -### ✔️ org.apache.pulsar.common.compression.Crc32cChecksumTest -``` -✔️ testCrc32cHardware -✔️ testCrc32cDirectMemoryHardware -✔️ testCrc32c -✔️ testCrc32cSoftware -✔️ testCrc32cIncremental -✔️ testCrc32cIncrementalUsingProvider -``` -### ✔️ org.apache.pulsar.common.lookup.data.LookupDataTest -``` -✔️ testLoadReportSerialization -✔️ testUrlEncoder -✔️ serializeToJsonTest -✔️ withConstructor -``` -### ✔️ org.apache.pulsar.common.naming.MetadataTests -``` -✔️ testInvalidMetadata -✔️ testValidMetadata -``` -### ✔️ org.apache.pulsar.common.naming.NamespaceBundlesTest -``` -✔️ testConstructor -✔️ testSplitBundleInTwo -✔️ testsplitBundles -✔️ testFindBundle -✔️ testSplitBundleByFixBoundary -``` -### ✔️ org.apache.pulsar.common.naming.NamespaceBundleTest -``` -✔️ testIncludes -✔️ testGetBundle -✔️ testCompareTo -✔️ testConstructor -✔️ testToString -✔️ testEquals -``` -### ✔️ org.apache.pulsar.common.naming.NamespaceNameTest -``` -✔️ namespace -✔️ testNewScheme -``` -### ✔️ org.apache.pulsar.common.naming.ServiceConfigurationTest -``` -✔️ testOptionalSettingPresent -✔️ testOptionalSettingEmpty -✔️ testInit -✔️ testInitFailure +### ✅ org.apache.pulsar.client.impl.ConsumerConfigurationTest +``` +✅ testReadCompactNonPersistentExclusive +✅ testReadCompactPersistentExclusive +✅ testReadCompactPersistentFailover +✅ testReadCompactPersistentShared +``` +### ✅ org.apache.pulsar.client.impl.ConsumerDedupPermitsUpdate +``` +✅ testConsumerDedup +✅ testConsumerDedup +✅ testConsumerDedup +✅ testConsumerDedup +✅ testConsumerDedup +✅ testConsumerDedup +✅ testConsumerDedup +``` +### ✅ org.apache.pulsar.client.impl.ConsumerUnsubscribeTest +``` +✅ testConsumerUnsubscribeReference +``` +### ✅ org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithAuth +``` +✅ testTlsClientAuthOverHTTPProtocol +✅ testTlsClientAuthOverBinaryProtocol +✅ testTlsLargeSizeMessage +``` +### ✅ org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithoutAuth +``` +✅ testTlsClientAuthOverHTTPProtocol +✅ testTlsClientAuthOverBinaryProtocol +✅ testTlsLargeSizeMessage +``` +### ✅ org.apache.pulsar.client.impl.KeyStoreTlsTest +``` +✅ testValidate +``` +### ✅ org.apache.pulsar.client.impl.MessageChecksumTest +``` +✅ testChecksumCompatibilityInMixedVersionBrokerCluster +✅ testTamperingMessageIsDetected +✅ testChecksumCompatibilityInMixedVersionBrokerCluster +``` +### ✅ org.apache.pulsar.client.impl.MessageChunkingTest +``` +✅ testPublishWithFailure +✅ testInvalidUseCaseForChunking +✅ testLargeMessage +✅ testExpireIncompleteChunkMessage +✅ testInvalidConfig +✅ testLargeMessageAckTimeOut +✅ testLargeMessageAckTimeOut +✅ testLargeMessage +⚪ testMaxPendingChunkMessages +``` +### ✅ org.apache.pulsar.client.impl.MessageParserTest +``` +✅ testWithoutBatches +✅ testWithBatches +``` +### ✅ org.apache.pulsar.client.impl.MultiTopicsReaderTest +``` +✅ testReadMessageWithBatchingWithMessageInclusive +✅ testKeyHashRangeReader +✅ testRemoveSubscriptionForReaderNeedRemoveCursor +✅ testReadMessageWithBatching +✅ testReadMessageWithoutBatchingWithMessageInclusive +✅ testMultiReaderSeek +✅ testReadMessageWithoutBatching +✅ testReaderWithTimeLong +``` +### ✅ org.apache.pulsar.client.impl.NegativeAcksTest +``` +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +✅ testNegativeAcks +``` +### ✅ org.apache.pulsar.client.impl.PatternTopicsConsumerImplTest +``` +✅ testStartEmptyPatternConsumer +✅ testBinaryProtoToGetTopicsOfNamespaceAll +✅ testPatternTopicsSubscribeWithBuilderFail +✅ testPubRateOnNonPersistent +✅ testTopicDeletion +✅ testAutoUnbubscribePatternConsumer +✅ testTopicsPatternFilter +✅ testBinaryProtoToGetTopicsOfNamespaceNonPersistent +✅ testBinaryProtoToGetTopicsOfNamespacePersistent +✅ testTopicsListMinus +✅ testAutoSubscribePatternConsumer +``` +### ✅ org.apache.pulsar.client.impl.PerMessageUnAcknowledgedRedeliveryTest +``` +✅ testSharedAckedNormalTopic +✅ testUnAckedMessageTrackerSize +✅ testSharedAckedPartitionedTopic +✅ testExclusiveAckedNormalTopic +✅ testFailoverAckedNormalTopic +``` +### ✅ org.apache.pulsar.client.impl.PulsarMultiHostClientTest +``` +✅ testMultiHostUrlRetrySuccess +✅ testGetPartitionedTopicDataTimeout +✅ testGetPartitionedTopicMetaData +``` +### ✅ org.apache.pulsar.client.impl.RawMessageSerDeserTest +``` +✅ testSerializationAndDeserialization +``` +### ✅ org.apache.pulsar.client.impl.SchemaDeleteTest +``` +✅ createTopicDeleteTopicCreateTopic +``` +### ✅ org.apache.pulsar.client.impl.SequenceIdWithErrorTest +``` +✅ testCheckSequenceId +✅ testDeleteTopicWithMissingData +✅ testTopicWithWildCardChar +⚪ testCrashBrokerWithoutCursorLedgerLeak +⚪ testSkipCorruptDataLedger +``` +### ✅ org.apache.pulsar.client.impl.TopicDoesNotExistsTest +``` +✅ testCreateConsumerOnNotExistsTopic +✅ testCreateProducerOnNotExistsTopic +``` +### ✅ org.apache.pulsar.client.impl.TopicFromMessageTest +``` +✅ testSingleTopicConsumerNoBatchFullName +✅ testMultiTopicConsumerBatchShortName +✅ testSingleTopicConsumerNoBatchShortName +✅ testMultiTopicConsumerNoBatchShortName +✅ testSingleTopicConsumerBatchShortName +``` +### ✅ org.apache.pulsar.client.impl.TopicsConsumerImplTest +``` +✅ testTopicAutoUpdatePartitions +✅ testDifferentTopicsNameSubscribe +✅ testGetLastMessageId +✅ testConsumerUnackedRedelivery +✅ testSubscriptionMustCompleteWhenOperationTimeoutOnMultipleTopics +✅ testConsumerDistributionInFailoverSubscriptionWhenUpdatePartitions +✅ multiTopicsInDifferentNameSpace +✅ testDefaultBacklogTTL +✅ testGetConsumersAndGetTopics +✅ testSubscribeUnsubscribeSingleTopic +✅ testResubscribeSameTopic +✅ testSyncProducerAndConsumer +✅ testPartitionsUpdatesForMultipleTopics +✅ testTopicsNameSubscribeWithBuilderFail +✅ testMultiTopicsMessageListener +✅ testTopicNameValid +✅ testAsyncConsumer +``` +### ✅ org.apache.pulsar.client.impl.UnAcknowledgedMessagesTimeoutTest +``` +✅ testCheckUnAcknowledgedMessageTimer +✅ testExclusiveSingleAckedNormalTopic +✅ testFailoverSingleAckedPartitionedTopic +✅ testSharedSingleAckedPartitionedTopic +✅ testAckTimeoutMinValue +✅ testExclusiveCumulativeAckedNormalTopic +✅ testSingleMessageBatch +``` +### ✅ org.apache.pulsar.client.impl.ZeroQueueSizeTest +``` +✅ zeroQueueSizeSharedSubscription +✅ testPauseAndResume +✅ testZeroQueueSizeMessageRedeliveryForAsyncReceive +✅ zeroQueueSizeConsumerListener +✅ zeroQueueSizeFailoverSubscription +✅ validQueueSizeConfig +✅ zeroQueueSizeNormalConsumer +✅ zeroQueueSizeReceieveAsyncInCompatibility +✅ InvalidQueueSizeConfig +✅ testZeroQueueSizeMessageRedeliveryForListener +✅ testZeroQueueSizeMessageRedelivery +✅ zeroQueueSizePartitionedTopicInCompatibility +✅ testFailedZeroQueueSizeBatchMessage +✅ testPauseAndResumeWithUnloading +``` +### ✅ org.apache.pulsar.common.api.raw.RawMessageImplTest +``` +✅ testGetProperties +``` +### ✅ org.apache.pulsar.common.compression.CommandsTest +``` +✅ testChecksumSendCommand +``` +### ✅ org.apache.pulsar.common.compression.CompressorCodecBackwardCompatTest +``` +✅ testCompressDecompress +✅ testCompressDecompress +✅ testCompressDecompress +✅ testCompressDecompress +✅ testCompressDecompress +✅ testCompressDecompress +``` +### ✅ org.apache.pulsar.common.compression.CompressorCodecTest +``` +✅ testCompressDecompress +✅ testMultpileUsages +✅ testMultpileUsages +✅ testCompressDecompress +✅ testMultpileUsages +✅ testCompressDecompress +✅ testMultpileUsages +✅ testCompressDecompress +✅ testDecompressFromSampleBuffer +✅ testDecompressReadonlyByteBuf +✅ testDecompressReadonlyByteBuf +✅ testCodecProvider +✅ testEmptyInput +✅ testEmptyInput +✅ testCompressDecompress +✅ testCodecProvider +✅ testDecompressFromSampleBuffer +✅ testMultpileUsages +✅ testCodecProvider +✅ testEmptyInput +✅ testDecompressReadonlyByteBuf +✅ testCompressDecompress +✅ testDecompressReadonlyByteBuf +✅ testCompressDecompress +✅ testCompressDecompress +✅ testMultpileUsages +✅ testEmptyInput +✅ testDecompressReadonlyByteBuf +✅ testDecompressFromSampleBuffer +✅ testDecompressFromSampleBuffer +✅ testDecompressFromSampleBuffer +✅ testDecompressReadonlyByteBuf +✅ testDecompressReadonlyByteBuf +✅ testMultpileUsages +✅ testCompressDecompress +✅ testCodecProvider +✅ testMultpileUsages +✅ testCompressDecompress +✅ testMultpileUsages +✅ testDecompressReadonlyByteBuf +✅ testEmptyInput +✅ testCodecProvider +✅ testDecompressReadonlyByteBuf +✅ testDecompressReadonlyByteBuf +✅ testMultpileUsages +``` +### ✅ org.apache.pulsar.common.compression.Crc32cChecksumTest +``` +✅ testCrc32cHardware +✅ testCrc32cDirectMemoryHardware +✅ testCrc32c +✅ testCrc32cSoftware +✅ testCrc32cIncremental +✅ testCrc32cIncrementalUsingProvider +``` +### ✅ org.apache.pulsar.common.lookup.data.LookupDataTest +``` +✅ testLoadReportSerialization +✅ testUrlEncoder +✅ serializeToJsonTest +✅ withConstructor +``` +### ✅ org.apache.pulsar.common.naming.MetadataTests +``` +✅ testInvalidMetadata +✅ testValidMetadata +``` +### ✅ org.apache.pulsar.common.naming.NamespaceBundlesTest +``` +✅ testConstructor +✅ testSplitBundleInTwo +✅ testsplitBundles +✅ testFindBundle +✅ testSplitBundleByFixBoundary +``` +### ✅ org.apache.pulsar.common.naming.NamespaceBundleTest +``` +✅ testIncludes +✅ testGetBundle +✅ testCompareTo +✅ testConstructor +✅ testToString +✅ testEquals +``` +### ✅ org.apache.pulsar.common.naming.NamespaceNameTest +``` +✅ namespace +✅ testNewScheme +``` +### ✅ org.apache.pulsar.common.naming.ServiceConfigurationTest +``` +✅ testOptionalSettingPresent +✅ testOptionalSettingEmpty +✅ testInit +✅ testInitFailure ``` -### ✔️ org.apache.pulsar.common.naming.TopicNameTest +### ✅ org.apache.pulsar.common.naming.TopicNameTest ``` -✔️ testShortTopicName -✔️ topic -✔️ testTopicNameWithoutCluster -✔️ testDecodeEncode +✅ testShortTopicName +✅ topic +✅ testTopicNameWithoutCluster +✅ testDecodeEncode ``` -### ✔️ org.apache.pulsar.common.net.ServiceURITest +### ✅ org.apache.pulsar.common.net.ServiceURITest ``` -✔️ testEmptyServiceUriString -✔️ testMultipleHostsSemiColon -✔️ testInvalidServiceUris -✔️ testMultipleHostsWithoutHttpPorts -✔️ testRootPath -✔️ testMultipleHostsMixedPorts -✔️ testMultipleHostsWithoutPulsarTlsPorts -✔️ testUserInfoWithMultipleHosts -✔️ testMultipleHostsComma -✔️ testMultipleHostsMixed -✔️ testUserInfo -✔️ testIpv6UriWithoutPulsarPort -✔️ testMultiIpv6Uri -✔️ testMultiIpv6UriWithoutPulsarPort -✔️ testEmptyPath -✔️ testNullServiceUriString -✔️ testNullServiceUriInstance -✔️ testMissingServiceName -✔️ testMultipleHostsWithoutHttpsPorts -✔️ testMultipleHostsWithoutPulsarPorts -✔️ testIpv6Uri +✅ testEmptyServiceUriString +✅ testMultipleHostsSemiColon +✅ testInvalidServiceUris +✅ testMultipleHostsWithoutHttpPorts +✅ testRootPath +✅ testMultipleHostsMixedPorts +✅ testMultipleHostsWithoutPulsarTlsPorts +✅ testUserInfoWithMultipleHosts +✅ testMultipleHostsComma +✅ testMultipleHostsMixed +✅ testUserInfo +✅ testIpv6UriWithoutPulsarPort +✅ testMultiIpv6Uri +✅ testMultiIpv6UriWithoutPulsarPort +✅ testEmptyPath +✅ testNullServiceUriString +✅ testNullServiceUriInstance +✅ testMissingServiceName +✅ testMultipleHostsWithoutHttpsPorts +✅ testMultipleHostsWithoutPulsarPorts +✅ testIpv6Uri ``` -### ✔️ org.apache.pulsar.common.policies.data.AutoFailoverPolicyDataTest +### ✅ org.apache.pulsar.common.policies.data.AutoFailoverPolicyDataTest ``` -✔️ testAutoFailoverPolicyData +✅ testAutoFailoverPolicyData ``` -### ✔️ org.apache.pulsar.common.policies.data.AutoFailoverPolicyTypeTest +### ✅ org.apache.pulsar.common.policies.data.AutoFailoverPolicyTypeTest ``` -✔️ testAutoFailoverPolicyType +✅ testAutoFailoverPolicyType ``` -### ✔️ org.apache.pulsar.common.policies.data.AutoTopicCreationOverrideTest +### ✅ org.apache.pulsar.common.policies.data.AutoTopicCreationOverrideTest ``` -✔️ testInvalidTopicType -✔️ testNumPartitionsTooLow -✔️ testNumPartitionsNotSet -✔️ testValidOverrideNonPartitioned -✔️ testNumPartitionsOnNonPartitioned -✔️ testValidOverridePartitioned +✅ testInvalidTopicType +✅ testNumPartitionsTooLow +✅ testNumPartitionsNotSet +✅ testValidOverrideNonPartitioned +✅ testNumPartitionsOnNonPartitioned +✅ testValidOverridePartitioned ``` -### ✔️ org.apache.pulsar.common.policies.data.BacklogQuotaTest +### ✅ org.apache.pulsar.common.policies.data.BacklogQuotaTest ``` -✔️ testBacklogQuotaIdentity +✅ testBacklogQuotaIdentity ``` -### ✔️ org.apache.pulsar.common.policies.data.ClusterDataTest +### ✅ org.apache.pulsar.common.policies.data.ClusterDataTest ``` -✔️ simple +✅ simple ``` -### ✔️ org.apache.pulsar.common.policies.data.ConsumerStatsTest +### ✅ org.apache.pulsar.common.policies.data.ConsumerStatsTest ``` -✔️ testConsumerStats +✅ testConsumerStats ``` -### ✔️ org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfigTest +### ✅ org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfigTest ``` -✔️ testDecodeFailed -✔️ testEncodeDecodeSuccessfully +✅ testDecodeFailed +✅ testEncodeDecodeSuccessfully ``` -### ✔️ org.apache.pulsar.common.policies.data.LocalPolicesTest +### ✅ org.apache.pulsar.common.policies.data.LocalPolicesTest ``` -✔️ testLocalPolices +✅ testLocalPolices ``` -### ✔️ org.apache.pulsar.common.policies.data.NamespaceIsolationDataTest +### ✅ org.apache.pulsar.common.policies.data.NamespaceIsolationDataTest ``` -✔️ testNamespaceIsolationData +✅ testNamespaceIsolationData ``` -### ✔️ org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest +### ✅ org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest ``` -✔️ testSerialization +✅ testSerialization ``` -### ✔️ org.apache.pulsar.common.policies.data.OffloadPoliciesTest +### ✅ org.apache.pulsar.common.policies.data.OffloadPoliciesTest ``` -✔️ testGcsConfiguration -✔️ mergeTest -✔️ compatibleWithConfigFileTest -✔️ testCreateByProperties -✔️ testS3Configuration -✔️ oldPoliciesCompatibleTest +✅ testGcsConfiguration +✅ mergeTest +✅ compatibleWithConfigFileTest +✅ testCreateByProperties +✅ testS3Configuration +✅ oldPoliciesCompatibleTest ``` -### ✔️ org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest +### ✅ org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest ``` -✔️ testPartitionedTopicStats +✅ testPartitionedTopicStats ``` -### ✔️ org.apache.pulsar.common.policies.data.PersistencePoliciesTest +### ✅ org.apache.pulsar.common.policies.data.PersistencePoliciesTest ``` -✔️ testPersistencePolicies +✅ testPersistencePolicies ``` -### ✔️ org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest +### ✅ org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest ``` -✔️ testPersistentOfflineTopicStats +✅ testPersistentOfflineTopicStats ``` -### ✔️ org.apache.pulsar.common.policies.data.PersistentTopicStatsTest +### ✅ org.apache.pulsar.common.policies.data.PersistentTopicStatsTest ``` -✔️ testPersistentTopicStatsAggregation -✔️ testPersistentTopicStats +✅ testPersistentTopicStatsAggregation +✅ testPersistentTopicStats ``` -### ✔️ org.apache.pulsar.common.policies.data.PoliciesDataTest +### ✅ org.apache.pulsar.common.policies.data.PoliciesDataTest ``` -✔️ propertyAdmin -✔️ policies -✔️ bundlesData -✔️ bundlesPolicies +✅ propertyAdmin +✅ policies +✅ bundlesData +✅ bundlesPolicies ``` -### ✔️ org.apache.pulsar.common.policies.data.PublisherStatsTest +### ✅ org.apache.pulsar.common.policies.data.PublisherStatsTest ``` -✔️ testPublisherStats -✔️ testPublisherStatsAggregation +✅ testPublisherStats +✅ testPublisherStatsAggregation ``` -### ✔️ org.apache.pulsar.common.policies.data.ReplicatorStatsTest +### ✅ org.apache.pulsar.common.policies.data.ReplicatorStatsTest ``` -✔️ testReplicatorStatsAdd -✔️ testReplicatorStatsNull +✅ testReplicatorStatsAdd +✅ testReplicatorStatsNull ``` -### ✔️ org.apache.pulsar.common.policies.data.ResourceQuotaTest +### ✅ org.apache.pulsar.common.policies.data.ResourceQuotaTest ``` -✔️ testResourceQuotaDefault -✔️ testResourceQuotaEqual +✅ testResourceQuotaDefault +✅ testResourceQuotaEqual ``` -### ✔️ org.apache.pulsar.common.policies.data.RetentionPolicesTest +### ✅ org.apache.pulsar.common.policies.data.RetentionPolicesTest ``` -✔️ testRetentionPolices +✅ testRetentionPolices ``` -### ✔️ org.apache.pulsar.common.policies.impl.AutoFailoverPolicyFactoryTest +### ✅ org.apache.pulsar.common.policies.impl.AutoFailoverPolicyFactoryTest ``` -✔️ testAutoFailoverPolicyFactory +✅ testAutoFailoverPolicyFactory ``` -### ✔️ org.apache.pulsar.common.policies.impl.MinAvailablePolicyTest +### ✅ org.apache.pulsar.common.policies.impl.MinAvailablePolicyTest ``` -✔️ testMinAvailablePolicty +✅ testMinAvailablePolicty ``` -### ✔️ org.apache.pulsar.common.policies.impl.NamespaceIsolationPoliciesTest +### ✅ org.apache.pulsar.common.policies.impl.NamespaceIsolationPoliciesTest ``` -✔️ testBrokerAssignment -✔️ testGetNamespaceIsolationPolicyByName -✔️ testDeletePolicy -✔️ testSetPolicy -✔️ testJsonSerialization -✔️ testDefaultConstructor -✔️ testGetNamespaceIsolationPolicyByNamespace +✅ testBrokerAssignment +✅ testGetNamespaceIsolationPolicyByName +✅ testDeletePolicy +✅ testSetPolicy +✅ testJsonSerialization +✅ testDefaultConstructor +✅ testGetNamespaceIsolationPolicyByNamespace ``` -### ✔️ org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicyImplTest +### ✅ org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicyImplTest ``` -✔️ testFindBrokers -✔️ testGetSecondaryBrokers -✔️ testShouldFailover -✔️ testGetPrimaryBrokers -✔️ testGetAvailablePrimaryBrokers -✔️ testConstructor -✔️ testIsPrimaryOrSecondaryBroker +✅ testFindBrokers +✅ testGetSecondaryBrokers +✅ testShouldFailover +✅ testGetPrimaryBrokers +✅ testGetAvailablePrimaryBrokers +✅ testConstructor +✅ testIsPrimaryOrSecondaryBroker ``` -### ✔️ org.apache.pulsar.common.protocol.ByteBufPairTest +### ✅ org.apache.pulsar.common.protocol.ByteBufPairTest ``` -✔️ testEncoder -✔️ testDoubleByteBuf +✅ testEncoder +✅ testDoubleByteBuf ``` -### ✔️ org.apache.pulsar.common.protocol.CommandUtilsTests +### ✅ org.apache.pulsar.common.protocol.CommandUtilsTests ``` -✔️ testSkipBrokerEntryMetadata -✔️ testPeekBrokerEntryMetadata -✔️ testParseBrokerEntryMetadata -✔️ testMetadataFromCommandSubscribe -✔️ testMetadataFromCommandProducer -✔️ testAddBrokerEntryMetadata -✔️ testByteBufComposite +✅ testSkipBrokerEntryMetadata +✅ testPeekBrokerEntryMetadata +✅ testParseBrokerEntryMetadata +✅ testMetadataFromCommandSubscribe +✅ testMetadataFromCommandProducer +✅ testAddBrokerEntryMetadata +✅ testByteBufComposite ``` -### ✔️ org.apache.pulsar.common.protocol.MarkersTest +### ✅ org.apache.pulsar.common.protocol.MarkersTest ``` -✔️ testSnapshot -✔️ testTxnAbortMarker -✔️ testUpdate -✔️ testTxnCommitMarker -✔️ testSnapshotRequest -✔️ testSnapshotResponse +✅ testSnapshot +✅ testTxnAbortMarker +✅ testUpdate +✅ testTxnCommitMarker +✅ testSnapshotRequest +✅ testSnapshotResponse ``` -### ✔️ org.apache.pulsar.common.protocol.PulsarDecoderTest +### ✅ org.apache.pulsar.common.protocol.PulsarDecoderTest ``` -✔️ testChannelRead +✅ testChannelRead ``` -### ✔️ org.apache.pulsar.common.stats.JvmDefaultGCMetricsLoggerTest +### ✅ org.apache.pulsar.common.stats.JvmDefaultGCMetricsLoggerTest ``` -✔️ testInvokeJVMInternals +✅ testInvokeJVMInternals ``` -### ✔️ org.apache.pulsar.common.util.collections.BitSetRecyclableRecyclableTest +### ✅ org.apache.pulsar.common.util.collections.BitSetRecyclableRecyclableTest ``` -✔️ testResetWords -✔️ testRecycle +✅ testResetWords +✅ testRecycle ``` -### ✔️ org.apache.pulsar.common.util.collections.ConcurrentBitSetRecyclableTest +### ✅ org.apache.pulsar.common.util.collections.ConcurrentBitSetRecyclableTest ``` -✔️ testRecycle -✔️ testGenerateByBitSet -``` -### ✔️ org.apache.pulsar.common.util.collections.ConcurrentLongHashMapTest -``` -✔️ testRehashingWithDeletes -✔️ concurrentInsertionsAndReads -✔️ testRemove -✔️ testRehashing -✔️ simpleInsertions -✔️ testComputeIfAbsent -✔️ testConstructor -✔️ testPutIfAbsent -✔️ testIteration -✔️ testHashConflictWithDeletion -✔️ concurrentInsertions -✔️ stressConcurrentInsertionsAndReads -✔️ testNegativeUsedBucketCount -``` -### ✔️ org.apache.pulsar.common.util.collections.ConcurrentLongPairSetTest -``` -✔️ concurrentInsertionsAndReads -✔️ testEqualsObjects -✔️ testIfRemoval -✔️ testRehashing -✔️ testToString -✔️ testRemove -✔️ testItems -✔️ testRehashingWithDeletes -✔️ testHashConflictWithDeletion -✔️ testIteration -✔️ simpleInsertions -✔️ testRehashingRemoval -✔️ testRemoval -✔️ testConstructor -✔️ concurrentInsertions -``` -### ✔️ org.apache.pulsar.common.util.collections.ConcurrentOpenHashMapTest -``` -✔️ testRemove -✔️ simpleInsertions -✔️ testPutIfAbsent -✔️ concurrentInsertions -✔️ testHashConflictWithDeletion -✔️ testRehashingWithDeletes -✔️ testComputeIfAbsent -✔️ testRehashing -✔️ testIteration -✔️ testEqualsKeys -✔️ concurrentInsertionsAndReads -✔️ testConstructor -``` -### ✔️ org.apache.pulsar.common.util.collections.ConcurrentOpenHashSetTest -``` -✔️ concurrentInsertions -✔️ testRehashing -✔️ testRemoval -✔️ testEqualsObjects -✔️ testHashConflictWithDeletion -✔️ testConstructor -✔️ concurrentInsertionsAndReads -✔️ testIteration -✔️ simpleInsertions -✔️ testRehashingWithDeletes -✔️ testRemove -``` -### ✔️ org.apache.pulsar.common.util.collections.ConcurrentOpenLongPairRangeSetTest -``` -✔️ testAddForDifferentKey -✔️ testToString -✔️ testCacheFlagConflict -✔️ testDeleteWithLeastMost -✔️ testDeleteForDifferentKey -✔️ testLastRange -✔️ testAddCompareCompareWithGuava -✔️ testSpanWithGuava -✔️ testDeleteCompareWithGuava -✔️ testFirstRange -✔️ testAddForSameKey -✔️ testDeleteWithAtMost -✔️ testRangeContaining -``` -### ✔️ org.apache.pulsar.common.util.collections.ConcurrentSortedLongPairSetTest -``` -✔️ concurrentInsertions -✔️ testIfRemoval -✔️ testRemoval -✔️ testRemove -✔️ testItems -✔️ testEqualsObjects -✔️ simpleInsertions -✔️ testIteration -✔️ testToString -``` -### ✔️ org.apache.pulsar.common.util.collections.FieldParserTest -``` -✔️ testUpdateObject -✔️ testConversion -``` -### ✔️ org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueueTest -``` -✔️ removeTest -✔️ growArray -✔️ pollTimeout -✔️ simple -✔️ pollTimeout2 -✔️ blockingTake -``` -### ✔️ org.apache.pulsar.common.util.collections.GrowablePriorityLongPairQueueTest -``` -✔️ testItems -✔️ testRemove -✔️ testExpandQueue -✔️ testInsertAndRemove -✔️ testEqualsObjects -✔️ testExpandRemoval -✔️ testIteration -✔️ simpleInsertions -✔️ concurrentInsertions -✔️ testConstructor -✔️ testSetWithDuplicateInsert -✔️ testExpandWithDeletes -✔️ concurrentInsertionsAndReads -✔️ testRemoval -✔️ testIfRemoval -``` -### ✔️ org.apache.pulsar.common.util.collections.TripleLongPriorityQueueTest -``` -✔️ testQueue -✔️ testCheckForEmpty -✔️ testCompareWithSamePrefix +✅ testRecycle +✅ testGenerateByBitSet +``` +### ✅ org.apache.pulsar.common.util.collections.ConcurrentLongHashMapTest +``` +✅ testRehashingWithDeletes +✅ concurrentInsertionsAndReads +✅ testRemove +✅ testRehashing +✅ simpleInsertions +✅ testComputeIfAbsent +✅ testConstructor +✅ testPutIfAbsent +✅ testIteration +✅ testHashConflictWithDeletion +✅ concurrentInsertions +✅ stressConcurrentInsertionsAndReads +✅ testNegativeUsedBucketCount +``` +### ✅ org.apache.pulsar.common.util.collections.ConcurrentLongPairSetTest +``` +✅ concurrentInsertionsAndReads +✅ testEqualsObjects +✅ testIfRemoval +✅ testRehashing +✅ testToString +✅ testRemove +✅ testItems +✅ testRehashingWithDeletes +✅ testHashConflictWithDeletion +✅ testIteration +✅ simpleInsertions +✅ testRehashingRemoval +✅ testRemoval +✅ testConstructor +✅ concurrentInsertions +``` +### ✅ org.apache.pulsar.common.util.collections.ConcurrentOpenHashMapTest +``` +✅ testRemove +✅ simpleInsertions +✅ testPutIfAbsent +✅ concurrentInsertions +✅ testHashConflictWithDeletion +✅ testRehashingWithDeletes +✅ testComputeIfAbsent +✅ testRehashing +✅ testIteration +✅ testEqualsKeys +✅ concurrentInsertionsAndReads +✅ testConstructor +``` +### ✅ org.apache.pulsar.common.util.collections.ConcurrentOpenHashSetTest +``` +✅ concurrentInsertions +✅ testRehashing +✅ testRemoval +✅ testEqualsObjects +✅ testHashConflictWithDeletion +✅ testConstructor +✅ concurrentInsertionsAndReads +✅ testIteration +✅ simpleInsertions +✅ testRehashingWithDeletes +✅ testRemove +``` +### ✅ org.apache.pulsar.common.util.collections.ConcurrentOpenLongPairRangeSetTest +``` +✅ testAddForDifferentKey +✅ testToString +✅ testCacheFlagConflict +✅ testDeleteWithLeastMost +✅ testDeleteForDifferentKey +✅ testLastRange +✅ testAddCompareCompareWithGuava +✅ testSpanWithGuava +✅ testDeleteCompareWithGuava +✅ testFirstRange +✅ testAddForSameKey +✅ testDeleteWithAtMost +✅ testRangeContaining +``` +### ✅ org.apache.pulsar.common.util.collections.ConcurrentSortedLongPairSetTest +``` +✅ concurrentInsertions +✅ testIfRemoval +✅ testRemoval +✅ testRemove +✅ testItems +✅ testEqualsObjects +✅ simpleInsertions +✅ testIteration +✅ testToString +``` +### ✅ org.apache.pulsar.common.util.collections.FieldParserTest +``` +✅ testUpdateObject +✅ testConversion +``` +### ✅ org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueueTest +``` +✅ removeTest +✅ growArray +✅ pollTimeout +✅ simple +✅ pollTimeout2 +✅ blockingTake +``` +### ✅ org.apache.pulsar.common.util.collections.GrowablePriorityLongPairQueueTest +``` +✅ testItems +✅ testRemove +✅ testExpandQueue +✅ testInsertAndRemove +✅ testEqualsObjects +✅ testExpandRemoval +✅ testIteration +✅ simpleInsertions +✅ concurrentInsertions +✅ testConstructor +✅ testSetWithDuplicateInsert +✅ testExpandWithDeletes +✅ concurrentInsertionsAndReads +✅ testRemoval +✅ testIfRemoval +``` +### ✅ org.apache.pulsar.common.util.collections.TripleLongPriorityQueueTest +``` +✅ testQueue +✅ testCheckForEmpty +✅ testCompareWithSamePrefix ``` -### ✔️ org.apache.pulsar.common.util.FieldParserTest +### ✅ org.apache.pulsar.common.util.FieldParserTest ``` -✔️ testMap +✅ testMap ``` -### ✔️ org.apache.pulsar.common.util.FileModifiedTimeUpdaterTest +### ✅ org.apache.pulsar.common.util.FileModifiedTimeUpdaterTest ``` -✔️ testFileNotModified -✔️ testFileModified -✔️ testFileModified -✔️ testFileNotModified -✔️ testFileModified -✔️ testFileNotModified +✅ testFileNotModified +✅ testFileModified +✅ testFileModified +✅ testFileNotModified +✅ testFileModified +✅ testFileNotModified ``` -### ✔️ org.apache.pulsar.common.util.netty.ChannelFuturesTest +### ✅ org.apache.pulsar.common.util.netty.ChannelFuturesTest ``` -✔️ toCompletableFuture_shouldCompleteExceptionally_channelFutureCompletedAfter -✔️ toCompletableFuture_shouldCompleteSuccessfully_channelFutureCompletedAfter -✔️ toCompletableFuture_shouldCompleteSuccessfully_channelFutureCompletedBefore -✔️ toCompletableFuture_shouldCompleteExceptionally_channelFutureCompletedBefore -✔️ toCompletableFuture_shouldRequireNonNullArgument +✅ toCompletableFuture_shouldCompleteExceptionally_channelFutureCompletedAfter +✅ toCompletableFuture_shouldCompleteSuccessfully_channelFutureCompletedAfter +✅ toCompletableFuture_shouldCompleteSuccessfully_channelFutureCompletedBefore +✅ toCompletableFuture_shouldCompleteExceptionally_channelFutureCompletedBefore +✅ toCompletableFuture_shouldRequireNonNullArgument ``` -### ✔️ org.apache.pulsar.common.util.RateLimiterTest +### ✅ org.apache.pulsar.common.util.RateLimiterTest ``` -✔️ testMultipleTryAcquire -✔️ testRateLimiterWithPermitUpdater -✔️ testTryAcquire -✔️ testTryAcquireNoPermits -✔️ testClose -✔️ testResetRate -✔️ testMultipleAcquire -✔️ testAcquire -✔️ testInvalidRenewTime -✔️ testRateLimiterWithFunction -✔️ testAcquireBlock +✅ testMultipleTryAcquire +✅ testRateLimiterWithPermitUpdater +✅ testTryAcquire +✅ testTryAcquireNoPermits +✅ testClose +✅ testResetRate +✅ testMultipleAcquire +✅ testAcquire +✅ testInvalidRenewTime +✅ testRateLimiterWithFunction +✅ testAcquireBlock ``` -### ✔️ org.apache.pulsar.common.util.ReflectionsTest +### ✅ org.apache.pulsar.common.util.ReflectionsTest ``` -✔️ testCreateInstanceNoNoArgConstructor -✔️ testCreateInstanceConstructorThrowsException -✔️ testCreateInstanceAbstractClass -✔️ testCreateTypedInstanceUnassignableClass -✔️ testCreateInstanceClassNotFound -✔️ testCreateTypedInstanceConstructorThrowsException -✔️ testClassExists -✔️ testCreateTypedInstanceAbstractClass -✔️ testCreateTypedInstanceClassNotFound -✔️ testCreateTypedInstanceNoNoArgConstructor -✔️ testLoadClass -✔️ testClassInJarImplementsIface +✅ testCreateInstanceNoNoArgConstructor +✅ testCreateInstanceConstructorThrowsException +✅ testCreateInstanceAbstractClass +✅ testCreateTypedInstanceUnassignableClass +✅ testCreateInstanceClassNotFound +✅ testCreateTypedInstanceConstructorThrowsException +✅ testClassExists +✅ testCreateTypedInstanceAbstractClass +✅ testCreateTypedInstanceClassNotFound +✅ testCreateTypedInstanceNoNoArgConstructor +✅ testLoadClass +✅ testClassInJarImplementsIface ``` -### ✔️ org.apache.pulsar.common.util.RelativeTimeUtilTest +### ✅ org.apache.pulsar.common.util.RelativeTimeUtilTest ``` -✔️ testParseRelativeTime +✅ testParseRelativeTime ``` -### ✔️ org.apache.pulsar.discovery.service.web.DiscoveryServiceWebTest +### ✅ org.apache.pulsar.discovery.service.web.DiscoveryServiceWebTest ``` -✔️ testRedirectUrlWithServerStarted +✅ testRedirectUrlWithServerStarted ``` -### ✔️ org.apache.pulsar.functions.worker.PulsarFunctionE2ESecurityTest +### ✅ org.apache.pulsar.functions.worker.PulsarFunctionE2ESecurityTest ``` -✔️ testAuthorizationWithAnonymousUser -✔️ testAuthorization +✅ testAuthorizationWithAnonymousUser +✅ testAuthorization ``` -### ✔️ org.apache.pulsar.functions.worker.PulsarFunctionPublishTest +### ✅ org.apache.pulsar.functions.worker.PulsarFunctionPublishTest ``` -✔️ testPulsarFunctionState -✔️ testMultipleAddress -✔️ testPulsarFunctionBKCleanup +✅ testPulsarFunctionState +✅ testMultipleAddress +✅ testPulsarFunctionBKCleanup ``` -### ✔️ org.apache.pulsar.functions.worker.PulsarFunctionTlsTest +### ✅ org.apache.pulsar.functions.worker.PulsarFunctionTlsTest ``` -✔️ testFunctionsCreation +✅ testFunctionsCreation ``` -### ✔️ org.apache.pulsar.io.PulsarFunctionTlsTest +### ✅ org.apache.pulsar.io.PulsarFunctionTlsTest ``` -✔️ testAuthorization +✅ testAuthorization ``` -### ✔️ org.apache.pulsar.proxy.server.AdminProxyHandlerTest +### ✅ org.apache.pulsar.proxy.server.AdminProxyHandlerTest ``` -✔️ replayableProxyContentProviderTest +✅ replayableProxyContentProviderTest ``` -### ✔️ org.apache.pulsar.proxy.server.AuthedAdminProxyHandlerTest +### ✅ org.apache.pulsar.proxy.server.AuthedAdminProxyHandlerTest ``` -✔️ testAuthenticatedProxyAsNonAdmin +✅ testAuthenticatedProxyAsNonAdmin ``` -### ✔️ org.apache.pulsar.proxy.server.FunctionWorkerRoutingTest +### ✅ org.apache.pulsar.proxy.server.FunctionWorkerRoutingTest ``` -✔️ testFunctionWorkerRedirect +✅ testFunctionWorkerRedirect ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyAdditionalServletTest +### ✅ org.apache.pulsar.proxy.server.ProxyAdditionalServletTest ``` -✔️ test +✅ test ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyAuthenticatedProducerConsumerTest +### ✅ org.apache.pulsar.proxy.server.ProxyAuthenticatedProducerConsumerTest ``` -✔️ testTlsSyncProducerAndConsumer +✅ testTlsSyncProducerAndConsumer ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyAuthenticationTest +### ✅ org.apache.pulsar.proxy.server.ProxyAuthenticationTest ``` -✔️ testAuthentication +✅ testAuthentication ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyConnectionThrottlingTest +### ✅ org.apache.pulsar.proxy.server.ProxyConnectionThrottlingTest ``` -✔️ testInboundConnection +✅ testInboundConnection ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyEnableHAProxyProtocolTest +### ✅ org.apache.pulsar.proxy.server.ProxyEnableHAProxyProtocolTest ``` -✔️ testSimpleProduceAndConsume +✅ testSimpleProduceAndConsume ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyForwardAuthDataTest +### ✅ org.apache.pulsar.proxy.server.ProxyForwardAuthDataTest ``` -✔️ testForwardAuthData +✅ testForwardAuthData ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyIsAHttpProxyTest +### ✅ org.apache.pulsar.proxy.server.ProxyIsAHttpProxyTest ``` -✔️ testProxyToEndsInSlash -✔️ testStreaming -✔️ testLongPath -✔️ testLongPathInProxyTo -✔️ testPathEndsInSlash -✔️ testPathNotSpecified -✔️ testTryingToUseExistingPath -✔️ testMultipleRedirect -✔️ testSingleRedirect -✔️ testRedirectNotSpecified +✅ testProxyToEndsInSlash +✅ testStreaming +✅ testLongPath +✅ testLongPathInProxyTo +✅ testPathEndsInSlash +✅ testPathNotSpecified +✅ testTryingToUseExistingPath +✅ testMultipleRedirect +✅ testSingleRedirect +✅ testRedirectNotSpecified ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithAuth +### ✅ org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithAuth ``` -✔️ testProducerFailed -✔️ testPartitions -✔️ testProducer +✅ testProducerFailed +✅ testPartitions +✅ testProducer ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithoutAuth +### ✅ org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithoutAuth ``` -✔️ testPartitions -✔️ testProducerFailed -✔️ testProducer +✅ testPartitions +✅ testProducerFailed +✅ testProducer ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyLookupThrottlingTest +### ✅ org.apache.pulsar.proxy.server.ProxyLookupThrottlingTest ``` -✔️ testLookup +✅ testLookup ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyParserTest +### ✅ org.apache.pulsar.proxy.server.ProxyParserTest ``` -✔️ testRegexSubscription -✔️ testProducerConsumer -✔️ testProducer -✔️ testPartitions -✔️ testProtocolVersionAdvertisement +✅ testRegexSubscription +✅ testProducerConsumer +✅ testProducer +✅ testPartitions +✅ testProtocolVersionAdvertisement ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest +### ✅ org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest ``` -✔️ testIncorrectRoles +✅ testIncorrectRoles ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyStatsTest +### ✅ org.apache.pulsar.proxy.server.ProxyStatsTest ``` -✔️ testChangeLogLevel -✔️ testConnectionsStats -✔️ testTopicStats +✅ testChangeLogLevel +✅ testConnectionsStats +✅ testTopicStats ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyTest +### ✅ org.apache.pulsar.proxy.server.ProxyTest ``` -✔️ testPartitions -✔️ testRegexSubscription -✔️ testProtocolVersionAdvertisement -✔️ testGetSchema -✔️ testProducer -✔️ testProducerConsumer +✅ testPartitions +✅ testRegexSubscription +✅ testProtocolVersionAdvertisement +✅ testGetSchema +✅ testProducer +✅ testProducerConsumer ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyTlsTest +### ✅ org.apache.pulsar.proxy.server.ProxyTlsTest ``` -✔️ testProducer -✔️ testPartitions +✅ testProducer +✅ testPartitions ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyTlsTestWithAuth +### ✅ org.apache.pulsar.proxy.server.ProxyTlsTestWithAuth ``` -✔️ testServiceStartup +✅ testServiceStartup ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyWithAuthorizationNegTest +### ✅ org.apache.pulsar.proxy.server.ProxyWithAuthorizationNegTest ``` -✔️ testProxyAuthorization +✅ testProxyAuthorization ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyWithAuthorizationTest +### ✅ org.apache.pulsar.proxy.server.ProxyWithAuthorizationTest ``` -✔️ tlsCiphersAndProtocols -✔️ testTlsHostVerificationProxyToClient -✔️ tlsCiphersAndProtocols -✔️ testProxyAuthorization -✔️ tlsCiphersAndProtocols -✔️ testTlsHostVerificationProxyToBroker -✔️ tlsCiphersAndProtocols -✔️ tlsCiphersAndProtocols -✔️ tlsCiphersAndProtocols -✔️ testTlsHostVerificationProxyToBroker -✔️ tlsCiphersAndProtocols -✔️ testTlsHostVerificationProxyToClient -✔️ tlsCiphersAndProtocols +✅ tlsCiphersAndProtocols +✅ testTlsHostVerificationProxyToClient +✅ tlsCiphersAndProtocols +✅ testProxyAuthorization +✅ tlsCiphersAndProtocols +✅ testTlsHostVerificationProxyToBroker +✅ tlsCiphersAndProtocols +✅ tlsCiphersAndProtocols +✅ tlsCiphersAndProtocols +✅ testTlsHostVerificationProxyToBroker +✅ tlsCiphersAndProtocols +✅ testTlsHostVerificationProxyToClient +✅ tlsCiphersAndProtocols ``` -### ✔️ org.apache.pulsar.proxy.server.ProxyWithoutServiceDiscoveryTest +### ✅ org.apache.pulsar.proxy.server.ProxyWithoutServiceDiscoveryTest ``` -✔️ testDiscoveryService +✅ testDiscoveryService ``` -### ✔️ org.apache.pulsar.proxy.server.SuperUserAuthedAdminProxyHandlerTest +### ✅ org.apache.pulsar.proxy.server.SuperUserAuthedAdminProxyHandlerTest ``` -✔️ testAuthWithRandoCert -✔️ testAuthenticatedProxyAsAdmin -✔️ testAuthenticatedProxyAsNonAdmin +✅ testAuthWithRandoCert +✅ testAuthenticatedProxyAsAdmin +✅ testAuthenticatedProxyAsNonAdmin ``` -### ✔️ org.apache.pulsar.proxy.server.UnauthedAdminProxyHandlerTest +### ✅ org.apache.pulsar.proxy.server.UnauthedAdminProxyHandlerTest ``` -✔️ testUnauthenticatedProxy -✔️ testVipStatus +✅ testUnauthenticatedProxy +✅ testVipStatus ``` -### ✔️ org.apache.pulsar.PulsarBrokerStarterTest +### ✅ org.apache.pulsar.PulsarBrokerStarterTest ``` -✔️ testMainRunBookieNoConfig -✔️ testLoadConfigWithException -✔️ testMainWithNoArgument -✔️ testLoadBalancerConfig -✔️ testGlobalZooKeeperConfig -✔️ testMainRunBookieRecoveryNoConfig -✔️ testLoadConfig -✔️ testMainEnableRunBookieThroughBrokerConfig -✔️ testMainRunBookieAndAutoRecoveryNoConfig +✅ testMainRunBookieNoConfig +✅ testLoadConfigWithException +✅ testMainWithNoArgument +✅ testLoadBalancerConfig +✅ testGlobalZooKeeperConfig +✅ testMainRunBookieRecoveryNoConfig +✅ testLoadConfig +✅ testMainEnableRunBookieThroughBrokerConfig +✅ testMainRunBookieAndAutoRecoveryNoConfig ``` -### ✔️ org.apache.pulsar.schema.compatibility.SchemaCompatibilityCheckTest +### ✅ org.apache.pulsar.schema.compatibility.SchemaCompatibilityCheckTest ``` -✔️ testConsumerCompatibilityCheckCanReadLastTest -✔️ testConsumerWithNotCompatibilitySchema -✔️ testProducerSendWithOldSchemaAndConsumerCanRead -✔️ testConsumerCompatibilityCheckCanReadLastTest -✔️ testProducerSendWithOldSchemaAndConsumerCanRead -✔️ testSchemaComparison -✔️ testConsumerCompatibilityCheckCanReadLastTest -✔️ testConsumerCompatibilityReadAllCheckTest -✔️ testConsumerWithNotCompatibilitySchema -✔️ testIsAutoUpdateSchema -✔️ testProducerSendWithOldSchemaAndConsumerCanRead -✔️ testConsumerCompatibilityReadAllCheckTest -✔️ testIsAutoUpdateSchema -✔️ testProducerSendWithOldSchemaAndConsumerCanRead -✔️ testConsumerWithNotCompatibilitySchema -✔️ testIsAutoUpdateSchema -✔️ testProducerSendWithOldSchemaAndConsumerCanRead -✔️ testConsumerWithNotCompatibilitySchema -✔️ testProducerSendWithOldSchemaAndConsumerCanRead -✔️ testIsAutoUpdateSchema -✔️ testIsAutoUpdateSchema -✔️ testConsumerCompatibilityCheckCanReadLastTest -✔️ testIsAutoUpdateSchema +✅ testConsumerCompatibilityCheckCanReadLastTest +✅ testConsumerWithNotCompatibilitySchema +✅ testProducerSendWithOldSchemaAndConsumerCanRead +✅ testConsumerCompatibilityCheckCanReadLastTest +✅ testProducerSendWithOldSchemaAndConsumerCanRead +✅ testSchemaComparison +✅ testConsumerCompatibilityCheckCanReadLastTest +✅ testConsumerCompatibilityReadAllCheckTest +✅ testConsumerWithNotCompatibilitySchema +✅ testIsAutoUpdateSchema +✅ testProducerSendWithOldSchemaAndConsumerCanRead +✅ testConsumerCompatibilityReadAllCheckTest +✅ testIsAutoUpdateSchema +✅ testProducerSendWithOldSchemaAndConsumerCanRead +✅ testConsumerWithNotCompatibilitySchema +✅ testIsAutoUpdateSchema +✅ testProducerSendWithOldSchemaAndConsumerCanRead +✅ testConsumerWithNotCompatibilitySchema +✅ testProducerSendWithOldSchemaAndConsumerCanRead +✅ testIsAutoUpdateSchema +✅ testIsAutoUpdateSchema +✅ testConsumerCompatibilityCheckCanReadLastTest +✅ testIsAutoUpdateSchema ``` -### ✔️ org.apache.pulsar.schema.PartitionedTopicSchemaTest +### ✅ org.apache.pulsar.schema.PartitionedTopicSchemaTest ``` -✔️ test +✅ test ``` -### ✔️ org.apache.pulsar.schema.SchemaTest +### ✅ org.apache.pulsar.schema.SchemaTest ``` -✔️ testIsUsingAvroSchemaParser -✔️ testBytesSchemaDeserialize -✔️ testMultiTopicSetSchemaProvider +✅ testIsUsingAvroSchemaParser +✅ testBytesSchemaDeserialize +✅ testMultiTopicSetSchemaProvider ``` -### ✔️ org.apache.pulsar.stats.client.PulsarBrokerStatsClientTest +### ✅ org.apache.pulsar.stats.client.PulsarBrokerStatsClientTest ``` -✔️ testServiceException -✔️ testTopicInternalStats +✅ testServiceException +✅ testTopicInternalStats ``` -### ✔️ org.apache.pulsar.tests.EnumValuesDataProviderTest +### ✅ org.apache.pulsar.tests.EnumValuesDataProviderTest ``` -✔️ shouldFailIfEnumParameterIsMissing -✔️ testEnumValuesProvider -✔️ testEnumValuesProvider -✔️ shouldDetermineEnumValuesFromMethod -✔️ shouldContainAllEnumValues -✔️ testEnumValuesProvider +✅ shouldFailIfEnumParameterIsMissing +✅ testEnumValuesProvider +✅ testEnumValuesProvider +✅ shouldDetermineEnumValuesFromMethod +✅ shouldContainAllEnumValues +✅ testEnumValuesProvider ``` -### ✔️ org.apache.pulsar.tests.TestRetrySupportBeforeMethodRetryTest +### ✅ org.apache.pulsar.tests.TestRetrySupportBeforeMethodRetryTest ``` -✔️ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod -✖️ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod -✖️ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod -✖️ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod -✖️ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod +✅ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod +⚪ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod +⚪ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod +⚪ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod +⚪ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod ``` -### ✔️ org.apache.pulsar.tests.TestRetrySupportRetryTest +### ✅ org.apache.pulsar.tests.TestRetrySupportRetryTest ``` -✖️ shouldCallSetupBeforeRetrying -✔️ shouldCallSetupBeforeRetrying -✖️ shouldCallSetupBeforeRetrying -✖️ shouldCallSetupBeforeRetrying -✖️ shouldCallSetupBeforeRetrying +⚪ shouldCallSetupBeforeRetrying +✅ shouldCallSetupBeforeRetrying +⚪ shouldCallSetupBeforeRetrying +⚪ shouldCallSetupBeforeRetrying +⚪ shouldCallSetupBeforeRetrying ``` -### ✔️ org.apache.pulsar.tests.TestRetrySupportSuccessTest +### ✅ org.apache.pulsar.tests.TestRetrySupportSuccessTest ``` -✔️ shouldCallSetupOnce1 -✔️ shouldCallSetupOnce3 -✔️ shouldCallSetupOnce2 +✅ shouldCallSetupOnce1 +✅ shouldCallSetupOnce3 +✅ shouldCallSetupOnce2 ``` -### ✔️ org.apache.pulsar.tests.ThreadDumpUtilTest +### ✅ org.apache.pulsar.tests.ThreadDumpUtilTest ``` -✔️ testHelp -✔️ testThreadDump +✅ testHelp +✅ testThreadDump ``` -### ✔️ org.apache.pulsar.utils.SimpleTextOutputStreamTest +### ✅ org.apache.pulsar.utils.SimpleTextOutputStreamTest ``` -✔️ testBooleanFormat -✔️ testDoubleFormat -✔️ testLongFormat -✔️ testString +✅ testBooleanFormat +✅ testDoubleFormat +✅ testLongFormat +✅ testString ``` -### ✔️ org.apache.pulsar.utils.StatsOutputStreamTest +### ✅ org.apache.pulsar.utils.StatsOutputStreamTest ``` -✔️ testLists -✔️ testNamedObjects -✔️ testNestedObjects -✔️ testNamedLists -✔️ testPairs -✔️ testObjects +✅ testLists +✅ testNamedObjects +✅ testNestedObjects +✅ testNamedLists +✅ testPairs +✅ testObjects ``` -### ✔️ org.apache.pulsar.websocket.proxy.ProxyAuthenticationTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyAuthenticationTest ``` -✔️ unauthenticatedSocketTest -✔️ authenticatedSocketTest -✔️ statsTest -✔️ anonymousSocketTest +✅ unauthenticatedSocketTest +✅ authenticatedSocketTest +✅ statsTest +✅ anonymousSocketTest ``` -### ✔️ org.apache.pulsar.websocket.proxy.ProxyAuthorizationTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyAuthorizationTest ``` -✔️ test +✅ test ``` -### ✔️ org.apache.pulsar.websocket.proxy.ProxyConfigurationTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyConfigurationTest ``` -✔️ configTest -✔️ configTest +✅ configTest +✅ configTest ``` -### ✔️ org.apache.pulsar.websocket.proxy.ProxyPublishConsumeTlsTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyPublishConsumeTlsTest ``` -✔️ socketTest +✅ socketTest ``` -### ✔️ org.apache.pulsar.websocket.proxy.ProxyPublishConsumeWithoutZKTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyPublishConsumeWithoutZKTest ``` -✔️ socketTest +✅ socketTest ``` -### ✔️ org.apache.pulsar.websocket.proxy.v1.V1_ProxyAuthenticationTest +### ✅ org.apache.pulsar.websocket.proxy.v1.V1_ProxyAuthenticationTest ``` -✔️ anonymousSocketTest -✔️ authenticatedSocketTest -✔️ statsTest -✔️ unauthenticatedSocketTest +✅ anonymousSocketTest +✅ authenticatedSocketTest +✅ statsTest +✅ unauthenticatedSocketTest ``` \ No newline at end of file diff --git a/__tests__/__outputs__/silent-notes-test-results.md b/__tests__/__outputs__/silent-notes-test-results.md index de01928..7d4d4ac 100644 --- a/__tests__/__outputs__/silent-notes-test-results.md +++ b/__tests__/__outputs__/silent-notes-test-results.md @@ -1,136 +1,136 @@ ![Tests passed successfully](https://img.shields.io/badge/tests-67%20passed%2C%2012%20skipped-success) -## ✔️ fixtures/external/SilentNotes.trx +## ✅ fixtures/external/SilentNotes.trx **79** tests were completed in **1s** with **67** passed, **0** failed and **12** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#r0s0)|6✔️|||30ms| -|[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#r0s1)|2✔️||3✖️|101ms| -|[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#r0s2)|4✔️||3✖️|166ms| -|[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#r0s3)|2✔️|||7ms| -|[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#r0s4)|1✔️||3✖️|40ms| -|[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#r0s5)|1✔️||3✖️|15ms| -|[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#r0s6)|5✔️|||16ms| -|[VanillaCloudStorageClientTest.CloudStorageTokenTest](#r0s7)|9✔️|||0ms| -|[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#r0s8)|3✔️|||3ms| -|[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#r0s9)|9✔️|||12ms| -|[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#r0s10)|5✔️|||13ms| -|[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#r0s11)|7✔️|||0ms| -|[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#r0s12)|13✔️|||43ms| -### ✔️ VanillaCloudStorageClientTest.CloudStorageCredentialsTest -``` -✔️ AreEqualWorksWithDifferentPassword -✔️ AreEqualWorksWithSameContent -✔️ CorrectlyConvertsSecureStringToString -✔️ CorrectlyConvertsStringToSecureString -✔️ ValidateAcceptsValidCredentials -✔️ ValidateRejectsInvalidCredentials -``` -### ✔️ VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest -``` -✔️ FileLifecycleWorks -✖️ ReallyDoFetchToken -✖️ ReallyDoOpenAuthorizationPageInBrowser -✖️ ReallyDoRefreshToken -✔️ ThrowsAccessDeniedExceptionWithInvalidToken -``` -### ✔️ VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest -``` -✔️ FileLifecycleWorks -✔️ SanitizeCredentials_ChangesInvalidPrefix -✔️ SecureSslConnectionWorks -✔️ ThrowsWithHttpInsteadOfFtp -✖️ ThrowsWithInvalidPassword -✖️ ThrowsWithInvalidUrl -✖️ ThrowsWithInvalidUsername -``` -### ✔️ VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest -``` -✔️ ChoosesCorrectUrlForGmxComEmail -✔️ ChoosesCorrectUrlForGmxNetEmail -``` -### ✔️ VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest -``` -✔️ FileLifecycleWorks -✖️ ReallyDoFetchToken -✖️ ReallyDoOpenAuthorizationPageInBrowser -✖️ ReallyDoRefreshToken -``` -### ✔️ VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest -``` -✔️ FileLifecycleWorks -✖️ ReallyDoFetchToken -✖️ ReallyDoOpenAuthorizationPageInBrowser -✖️ ReallyDoRefreshToken -``` -### ✔️ VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest -``` -✔️ FileLifecycleWorks -✔️ ParseGmxWebdavResponseCorrectly -✔️ ParseStratoWebdavResponseCorrectly -✔️ ThrowsWithInvalidPath -✔️ ThrowsWithInvalidUsername -``` -### ✔️ VanillaCloudStorageClientTest.CloudStorageTokenTest -``` -✔️ AreEqualWorksWithNullDate -✔️ AreEqualWorksWithSameContent -✔️ NeedsRefreshReturnsFalseForTokenFlow -✔️ NeedsRefreshReturnsFalseIfNotExpired -✔️ NeedsRefreshReturnsTrueIfExpired -✔️ NeedsRefreshReturnsTrueIfNoExpirationDate -✔️ SetExpiryDateBySecondsWorks -✔️ SetExpiryDateBySecondsWorksWithNull -✔️ SetExpiryDateBySecondsWorksWithVeryShortPeriod -``` -### ✔️ VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest -``` -✔️ ParsesAllErrorCodesCorrectly -✔️ ParsesNullErrorCodeCorrectly -✔️ ParsesUnknownErrorCodeCorrectly -``` -### ✔️ VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest -``` -✔️ BuildAuthorizationRequestUrlEscapesParameters -✔️ BuildAuthorizationRequestUrlLeavesOutOptionalParameters -✔️ BuildAuthorizationRequestUrlThrowsWithMissingRedirectUrlForTokenFlow -✔️ BuildAuthorizationRequestUrlUsesAllParameters -✔️ BuildAuthorizationRequestUrlUsesCodeVerifier -✔️ ParseRealWorldDropboxRejectResponse -✔️ ParseRealWorldDropboxSuccessResponse -✔️ ParseRealWorldGoogleRejectResponse -✔️ ParseRealWorldGoogleSuccessResponse -``` -### ✔️ VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest -``` -✔️ BuildOAuth2AuthorizationRequestUrlWorks -✔️ FetchTokenCanInterpretGoogleResponse -✔️ FetchTokenReturnsNullForDeniedAccess -✔️ FetchTokenThrowsWithWrongState -✔️ RefreshTokenCanInterpretGoogleResponse -``` -### ✔️ VanillaCloudStorageClientTest.SecureStringExtensionsTest -``` -✔️ AreEqualsWorksCorrectly -✔️ CorrectlyConvertsSecureStringToString -✔️ CorrectlyConvertsSecureStringToUnicodeBytes -✔️ CorrectlyConvertsSecureStringToUtf8Bytes -✔️ CorrectlyConvertsStringToSecureString -✔️ CorrectlyConvertsUnicodeBytesToSecureString -✔️ CorrectlyConvertsUtf8BytesToSecureString -``` -### ✔️ VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest -``` -✔️ DecryptAfterDesrializationCanReadAllPropertiesBack -✔️ DecryptAfterDesrializationRespectsNullProperties -✔️ EncryptBeforeSerializationProtectsAllNecessaryProperties -✔️ EncryptBeforeSerializationRespectsNullProperties -✔️ SerializedDatacontractCanBeReadBack -✔️ SerializedDatacontractDoesNotContainNullProperties -✔️ SerializedDatacontractDoesNotContainPlaintextData -✔️ SerializedJsonCanBeReadBack -✔️ SerializedJsonDoesNotContainNullProperties -✔️ SerializedJsonDoesNotContainPlaintextData -✔️ SerializedXmlCanBeReadBack -✔️ SerializedXmlDoesNotContainNullProperties -✔️ SerializedXmlDoesNotContainPlaintextData +|[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#r0s0)|6✅|||30ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#r0s1)|2✅||3⚪|101ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#r0s2)|4✅||3⚪|166ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#r0s3)|2✅|||7ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#r0s4)|1✅||3⚪|40ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#r0s5)|1✅||3⚪|15ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#r0s6)|5✅|||16ms| +|[VanillaCloudStorageClientTest.CloudStorageTokenTest](#r0s7)|9✅|||0ms| +|[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#r0s8)|3✅|||3ms| +|[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#r0s9)|9✅|||12ms| +|[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#r0s10)|5✅|||13ms| +|[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#r0s11)|7✅|||0ms| +|[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#r0s12)|13✅|||43ms| +### ✅ VanillaCloudStorageClientTest.CloudStorageCredentialsTest +``` +✅ AreEqualWorksWithDifferentPassword +✅ AreEqualWorksWithSameContent +✅ CorrectlyConvertsSecureStringToString +✅ CorrectlyConvertsStringToSecureString +✅ ValidateAcceptsValidCredentials +✅ ValidateRejectsInvalidCredentials +``` +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest +``` +✅ FileLifecycleWorks +⚪ ReallyDoFetchToken +⚪ ReallyDoOpenAuthorizationPageInBrowser +⚪ ReallyDoRefreshToken +✅ ThrowsAccessDeniedExceptionWithInvalidToken +``` +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest +``` +✅ FileLifecycleWorks +✅ SanitizeCredentials_ChangesInvalidPrefix +✅ SecureSslConnectionWorks +✅ ThrowsWithHttpInsteadOfFtp +⚪ ThrowsWithInvalidPassword +⚪ ThrowsWithInvalidUrl +⚪ ThrowsWithInvalidUsername +``` +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest +``` +✅ ChoosesCorrectUrlForGmxComEmail +✅ ChoosesCorrectUrlForGmxNetEmail +``` +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest +``` +✅ FileLifecycleWorks +⚪ ReallyDoFetchToken +⚪ ReallyDoOpenAuthorizationPageInBrowser +⚪ ReallyDoRefreshToken +``` +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest +``` +✅ FileLifecycleWorks +⚪ ReallyDoFetchToken +⚪ ReallyDoOpenAuthorizationPageInBrowser +⚪ ReallyDoRefreshToken +``` +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest +``` +✅ FileLifecycleWorks +✅ ParseGmxWebdavResponseCorrectly +✅ ParseStratoWebdavResponseCorrectly +✅ ThrowsWithInvalidPath +✅ ThrowsWithInvalidUsername +``` +### ✅ VanillaCloudStorageClientTest.CloudStorageTokenTest +``` +✅ AreEqualWorksWithNullDate +✅ AreEqualWorksWithSameContent +✅ NeedsRefreshReturnsFalseForTokenFlow +✅ NeedsRefreshReturnsFalseIfNotExpired +✅ NeedsRefreshReturnsTrueIfExpired +✅ NeedsRefreshReturnsTrueIfNoExpirationDate +✅ SetExpiryDateBySecondsWorks +✅ SetExpiryDateBySecondsWorksWithNull +✅ SetExpiryDateBySecondsWorksWithVeryShortPeriod +``` +### ✅ VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest +``` +✅ ParsesAllErrorCodesCorrectly +✅ ParsesNullErrorCodeCorrectly +✅ ParsesUnknownErrorCodeCorrectly +``` +### ✅ VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest +``` +✅ BuildAuthorizationRequestUrlEscapesParameters +✅ BuildAuthorizationRequestUrlLeavesOutOptionalParameters +✅ BuildAuthorizationRequestUrlThrowsWithMissingRedirectUrlForTokenFlow +✅ BuildAuthorizationRequestUrlUsesAllParameters +✅ BuildAuthorizationRequestUrlUsesCodeVerifier +✅ ParseRealWorldDropboxRejectResponse +✅ ParseRealWorldDropboxSuccessResponse +✅ ParseRealWorldGoogleRejectResponse +✅ ParseRealWorldGoogleSuccessResponse +``` +### ✅ VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest +``` +✅ BuildOAuth2AuthorizationRequestUrlWorks +✅ FetchTokenCanInterpretGoogleResponse +✅ FetchTokenReturnsNullForDeniedAccess +✅ FetchTokenThrowsWithWrongState +✅ RefreshTokenCanInterpretGoogleResponse +``` +### ✅ VanillaCloudStorageClientTest.SecureStringExtensionsTest +``` +✅ AreEqualsWorksCorrectly +✅ CorrectlyConvertsSecureStringToString +✅ CorrectlyConvertsSecureStringToUnicodeBytes +✅ CorrectlyConvertsSecureStringToUtf8Bytes +✅ CorrectlyConvertsStringToSecureString +✅ CorrectlyConvertsUnicodeBytesToSecureString +✅ CorrectlyConvertsUtf8BytesToSecureString +``` +### ✅ VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest +``` +✅ DecryptAfterDesrializationCanReadAllPropertiesBack +✅ DecryptAfterDesrializationRespectsNullProperties +✅ EncryptBeforeSerializationProtectsAllNecessaryProperties +✅ EncryptBeforeSerializationRespectsNullProperties +✅ SerializedDatacontractCanBeReadBack +✅ SerializedDatacontractDoesNotContainNullProperties +✅ SerializedDatacontractDoesNotContainPlaintextData +✅ SerializedJsonCanBeReadBack +✅ SerializedJsonDoesNotContainNullProperties +✅ SerializedJsonDoesNotContainPlaintextData +✅ SerializedXmlCanBeReadBack +✅ SerializedXmlDoesNotContainNullProperties +✅ SerializedXmlDoesNotContainPlaintextData ``` \ No newline at end of file