Skip to content

[ODS-6580] Replace Change Queries' AFTER UPDATE trigger with NHibernate interceptor #3027

[ODS-6580] Replace Change Queries' AFTER UPDATE trigger with NHibernate interceptor

[ODS-6580] Replace Change Queries' AFTER UPDATE trigger with NHibernate interceptor #3027

GitHub Actions / Unit Tests succeeded Feb 13, 2025 in 0s

1986 passed, 0 failed and 31 skipped

Tests passed successfully

Report Passed Failed Skipped Time
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Admin.DataAccess.IntegrationTests.dll.trx 18✅ 11⚪ 4s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Admin.DataAccess.UnitTests.dll.trx 13✅ 1s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Common.UnitTests.dll.trx 85✅ 1s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.Api.IntegrationTests.dll.trx 89✅ 14s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.Features.UnitTests.dll.trx 32✅ 1⚪ 2s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.Repositories.NHibernate.Tests.dll.trx 7✅ 16s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.Tests.dll.trx 1671✅ 7⚪ 38s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.WebApi.CompositeSpecFlowTests.dll.trx 44✅ 26s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.WebApi.IntegrationTests.dll.trx 6✅ 22s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Security.DataAccess.IntegrationTests.dll.trx 4✅ 12⚪ 3s
/home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Security.DataAccess.UnitTests.dll.trx 17✅ 1s

✅ /home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Admin.DataAccess.IntegrationTests.dll.trx

29 tests were completed in 4s with 18 passed, 0 failed and 11 skipped.

Test suite Passed Failed Skipped Time
EdFi.Admin.DataAccess.IntegrationTests.Contexts.PostgreSQLUserContextFactoryTests 1⚪ 71ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.PostgreSQLUserContextFactoryTests+When_adding_a_local_education_agency_to_an_application 2⚪ 9ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.PostgreSQLUserContextFactoryTests+When_adding_an_application_to_a_vendor 2⚪ 8ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.PostgreSQLUserContextFactoryTests+When_adding_an_lea_mapping_to_a_client 2⚪ 8ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.PostgreSQLUserContextFactoryTests+When_adding_an_lea_mapping_to_an_application 2⚪ 8ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.PostgreSQLUserContextFactoryTests+When_creating_a_user 2⚪ 8ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.SqlServerUserContextFactoryTests 1✅ 2s
EdFi.Admin.DataAccess.IntegrationTests.Contexts.SqlServerUserContextFactoryTests+When_adding_a_local_education_agency_to_an_application 2✅ 300ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.SqlServerUserContextFactoryTests+When_adding_an_application_to_a_vendor 2✅ 99ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.SqlServerUserContextFactoryTests+When_adding_an_lea_mapping_to_a_client 2✅ 155ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.SqlServerUserContextFactoryTests+When_adding_an_lea_mapping_to_an_application 2✅ 27ms
EdFi.Admin.DataAccess.IntegrationTests.Contexts.SqlServerUserContextFactoryTests+When_creating_a_user 2✅ 34ms
EdFi.Admin.DataAccess.IntegrationTests.Models.UserContextMappingTests+When_adding_a_local_education_agency_to_an_application 1✅ 71ms
EdFi.Admin.DataAccess.IntegrationTests.Models.UserContextMappingTests+When_adding_an_application_to_a_vendor 1✅ 17ms
EdFi.Admin.DataAccess.IntegrationTests.Models.UserContextMappingTests+When_adding_an_lea_mapping_to_a_client 1✅ 120ms
EdFi.Admin.DataAccess.IntegrationTests.Models.UserContextMappingTests+When_adding_an_lea_mapping_to_an_application 1✅ 22ms
EdFi.Admin.DataAccess.IntegrationTests.Models.UserContextMappingTests+When_creating_a_user 1✅ 24ms
EdFi.Admin.DataAccess.IntegrationTests.Models.UserContextMappingTests+When_creating_ods_context 1✅ 81ms
EdFi.Admin.DataAccess.IntegrationTests.Models.UserContextMappingTests+When_creating_ods_derivative 1✅ 41ms

✅ /home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Admin.DataAccess.UnitTests.dll.trx

13 tests were completed in 1s with 13 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
EdFi.Admin.DataAccess.UnitTests.Contexts.UserContextFactoryTests 3✅ 280ms
EdFi.Admin.DataAccess.UnitTests.UserTests+When_creating_a_sandbox_client_without_specifying_a_key_and_secret 6✅ 22ms
EdFi.Admin.DataAccess.UnitTests.VendorTests+When_creating_an_application 4✅ 1ms

✅ /home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Common.UnitTests.dll.trx

85 tests were completed in 1s with 85 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
EdFi.Ods.Common.UnitTests.Extensions.Feature_Enumerable_can_be_checked_for_all_values_being_equal+When_checking_a_null_enumerable 1✅ 4ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Enumerable_can_be_checked_for_all_values_being_equal+When_checking_an_empty_enumerable 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Enumerable_can_be_checked_for_all_values_being_equal+When_checking_an_enumerable_of_nullable_values_containing_some_null_values 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Enumerable_can_be_checked_for_all_values_being_equal+When_checking_an_enumerable_of_strings_containing_same_casing 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Enumerable_can_be_checked_for_all_values_being_equal+When_checking_an_enumerable_of_strings_with_default_comparer_containing_different_casing 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Enumerable_can_be_checked_for_all_values_being_equal+When_checking_an_enumerable_of_strings_with_explicit_case_insensitive_comparer_containing_different_casing 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Enumerable_can_be_checked_for_all_values_being_equal+When_checking_an_enumerable_of_value_types_containing_a_single_value 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Enumerable_can_be_checked_for_all_values_being_equal+When_checking_an_enumerable_of_value_types_containing_different_values 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Enumerable_can_be_checked_for_all_values_being_equal+When_checking_an_enumerable_of_value_types_containing_the_same_values 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Inserting_items_into_enumerable_collections_based_on_existing_items+When_inserting_an_item_after_the_first_item_of_a_two_item_list 1✅ 11ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Inserting_items_into_enumerable_collections_based_on_existing_items+When_inserting_an_item_after_the_only_item_in_a_single_item_list 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Inserting_items_into_enumerable_collections_based_on_existing_items+When_inserting_an_item_after_the_second_item_of_a_two_item_list 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Inserting_items_into_enumerable_collections_based_on_existing_items+When_inserting_an_item_before_an_item_that_does_not_exist_in_list 1✅ 17ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Inserting_items_into_enumerable_collections_based_on_existing_items+When_inserting_an_item_before_the_first_item_of_a_two_item_list 1✅ 1ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Inserting_items_into_enumerable_collections_based_on_existing_items+When_inserting_an_item_before_the_only_item_in_a_single_item_list 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.Feature_Inserting_items_into_enumerable_collections_based_on_existing_items+When_inserting_an_item_before_the_second_item_of_a_two_item_list 1✅ 0ms
EdFi.Ods.Common.UnitTests.Extensions.NormalizeCompositeTermForDisplayTests 7✅ 17ms
EdFi.Ods.Common.UnitTests.Extensions.When_converting_string_to_boolean 5✅ 1ms
EdFi.Ods.Common.UnitTests.Extensions.When_trimming_a_suffix 3✅ 1ms
EdFi.Ods.Common.UnitTests.Inflection.InflectorTests 12✅ 37ms
EdFi.Ods.Common.UnitTests.Security.PackedHashConverterTests+When_converting_packed_hash 1✅ 0ms
EdFi.Ods.Common.UnitTests.Security.PackedHashConverterTests+When_converting_short_string 1✅ 7ms
EdFi.Ods.Common.UnitTests.Security.PackedHashConverterTests+When_converting_string 1✅ 3ms
EdFi.Ods.Common.UnitTests.Security.PackedHashConverterTests+When_converting_very_short_string 1✅ 0ms
EdFi.Ods.Common.UnitTests.Security.Pbkdf2HmacSha1SecureHasherTests+When_computing_a_valid_hash 2✅ 1ms
EdFi.Ods.Common.UnitTests.Security.Pbkdf2HmacSha1SecureHasherTests+When_computing_an_invalid_hash 2✅ 9ms
EdFi.Ods.Common.UnitTests.Security.SecurePackedHashProviderTests+When_handling_valid_secret 2✅ 2ms
EdFi.Ods.Common.UnitTests.Utils.Extensions.StringExtensionTests+JoinWithCharacter+When_base_uri_is_has_multiple_trailing_slash_and_path_has_multiple_leading_slash 1✅ 0ms
EdFi.Ods.Common.UnitTests.Utils.Extensions.StringExtensionTests+JoinWithCharacter+When_base_uri_is_has_trailing_slash_and_path_is__leading_slash 1✅ 0ms
EdFi.Ods.Common.UnitTests.Utils.Extensions.StringExtensionTests+JoinWithCharacter+When_base_uri_is_missing_trailing_slash_and_path_has_leading_slash 1✅ 0ms
EdFi.Ods.Common.UnitTests.Utils.Extensions.StringExtensionTests+JoinWithCharacter+When_base_uri_is_missing_trailing_slash_and_path_is_missing_leading_slash 1✅ 0ms
EdFi.Ods.Common.UnitTests.Utils.Extensions.StringExtensionTests+When_converting_string_to_option_bool 4✅ 0ms
EdFi.Ods.Common.UnitTests.Utils.Extensions.StringExtensionTests+When_replacing_last_occurance 4✅ 0ms
EdFi.Ods.Common.UnitTests.Utils.Resources.EmbeddedResourceReaderTests+When_resource_exists_and_we_retrieve_the_stream 1✅ 1ms
EdFi.Ods.Common.UnitTests.Utils.Resources.EmbeddedResourceReaderTests+When_resource_exists_and_we_retrieve_the_string 1✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.NpgqlConnectionStringBuilderAdapterTests+When_getting_and_setting_the_applicatuon_name_in_a_Postgres_connection_string 2✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.NpgqlConnectionStringBuilderAdapterTests+When_getting_and_setting_the_database_name_in_a_Postgres_connection_string 3✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.NpgqlConnectionStringBuilderAdapterTests+When_getting_and_setting_the_server_name_in_a_Postgres_connection_string 2✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.NpgqlConnectionStringBuilderAdapterTests+When_setting_the_database_name_before_setting_the_connection_string 1✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.NpgqlConnectionStringBuilderAdapterTests+When_setting_the_server_name_before_setting_the_connection_string 1✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.SqlConnectionStringBuilderAdapterTests+When_getting_and_setting_the_applicatuon_name_in_a_SQL_connection_string 2✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.SqlConnectionStringBuilderAdapterTests+When_getting_and_setting_the_database_name_in_a_SQL_Server_connection_string 3✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.SqlConnectionStringBuilderAdapterTests+When_getting_and_setting_the_server_name_in_a_SQL_Server_connection_string 2✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.SqlConnectionStringBuilderAdapterTests+When_setting_the_database_name_before_setting_the_connection_string 1✅ 0ms
EdFi.Ods.Tests.EdFi.Ods.Common.Database.SqlConnectionStringBuilderAdapterTests+When_setting_the_server_name_before_setting_the_connection_string 1✅ 0ms

✅ /home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.Api.IntegrationTests.dll.trx

89 tests were completed in 14s with 89 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
EdFi.Ods.Api.IntegrationTests.AccessTokenClientRepoTests+Given_an_expired_token+When_deleting_access_tokens 1✅ 299ms
EdFi.Ods.Api.IntegrationTests.AccessTokenClientRepoTests+Given_an_unexpired_token+And_client_has_all_optional_data+When_getting_client_information 12✅ 12ms
EdFi.Ods.Api.IntegrationTests.AccessTokenClientRepoTests+Given_an_unexpired_token+And_client_has_only_minimal_data+When_getting_client_information 4✅ 2ms
EdFi.Ods.Api.IntegrationTests.AccessTokenClientRepoTests+Given_an_unexpired_token+When_deleting_access_tokens 1✅ 8ms
EdFi.Ods.Api.IntegrationTests.CommunityProviderTests 4✅ 1s
EdFi.Ods.Api.IntegrationTests.EducationOrganizationIdToContactUsiAuthViewTests 9✅ 271ms
EdFi.Ods.Api.IntegrationTests.EducationOrganizationIdToStaffUsiAuthViewTests 14✅ 155ms
EdFi.Ods.Api.IntegrationTests.EducationOrganizationIdToStudentUsiAuthViewTests 8✅ 137ms
EdFi.Ods.Api.IntegrationTests.EducationOrganizationIdToStudentUSIThroughResponsibilityAuthViewTests 9✅ 85ms
EdFi.Ods.Api.IntegrationTests.EducationOrganizationTests 2✅ 263ms
EdFi.Ods.Api.IntegrationTests.LocalEducationAgencyTests 11✅ 168ms
EdFi.Ods.Api.IntegrationTests.OrganizationDepartmentTests 8✅ 107ms
EdFi.Ods.Api.IntegrationTests.SchoolTests 6✅ 93ms

✅ /home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.Features.UnitTests.dll.trx

33 tests were completed in 2s with 32 passed, 0 failed and 1 skipped.

Test suite Passed Failed Skipped Time
EdFi.Ods.Features.UnitTests.ChangeQueries.Repositories.TrackedChangesSelectColumnHelpersTests 2✅ 153ms
EdFi.Ods.Features.UnitTests.Notifications.ExpireCacheHandlerTests 4✅ 115ms
EdFi.Ods.Features.UnitTests.Notifications.NotificationsMessageSinkTests 5✅ 401ms
EdFi.Ods.Features.UnitTests.Notifications.Redis.RedisNotificationTests 1⚪ 15ms
EdFi.Ods.Features.UnitTests.OpenApiMetadataDefinitionsFactoryProfileNamingStrategyUnitTests 4✅ 54ms
EdFi.Ods.Features.UnitTests.PersonMapCache.UniqueIdByUsiMapCacheTests+BothAbsoluteAndSlidingExpirationTests(EdFi.Ods.Api.Caching.InMemoryMapCache3[System.ValueTuple3[System.UInt64,System.String,EdFi.Ods.Api.Caching.Person.PersonMapType],System.Int32,System.String]) 4✅ 16ms
EdFi.Ods.Features.UnitTests.PersonMapCache.UniqueIdByUsiMapCacheTests+OnlyAbsoluteExpirationTests(EdFi.Ods.Api.Caching.InMemoryMapCache3[System.ValueTuple3[System.UInt64,System.String,EdFi.Ods.Api.Caching.Person.PersonMapType],System.Int32,System.String]) 1✅ 215ms
EdFi.Ods.Features.UnitTests.PersonMapCache.UniqueIdByUsiMapCacheTests+OnlySlidingExpirationTests(EdFi.Ods.Api.Caching.InMemoryMapCache3[System.ValueTuple3[System.UInt64,System.String,EdFi.Ods.Api.Caching.Person.PersonMapType],System.Int32,System.String]) 1✅ 112ms
EdFi.Ods.Features.UnitTests.PersonMapCache.UsiByUniqueIdMapCacheTests+BothAbsoluteAndSlidingExpirationTests(EdFi.Ods.Api.Caching.InMemoryMapCache3[System.ValueTuple3[System.UInt64,System.String,EdFi.Ods.Api.Caching.Person.PersonMapType],System.String,System.Int32]) 4✅ 7ms
EdFi.Ods.Features.UnitTests.PersonMapCache.UsiByUniqueIdMapCacheTests+OnlyAbsoluteExpirationTests(EdFi.Ods.Api.Caching.InMemoryMapCache3[System.ValueTuple3[System.UInt64,System.String,EdFi.Ods.Api.Caching.Person.PersonMapType],System.String,System.Int32]) 1✅ 213ms
EdFi.Ods.Features.UnitTests.PersonMapCache.UsiByUniqueIdMapCacheTests+OnlySlidingExpirationTests(EdFi.Ods.Api.Caching.InMemoryMapCache3[System.ValueTuple3[System.UInt64,System.String,EdFi.Ods.Api.Caching.Person.PersonMapType],System.String,System.Int32]) 1✅ 112ms
EdFi.Ods.Features.UnitTests.Profiles.AdminDatabaseProfileDefinitionsProviderTests+WhenProfileDefinitionIsValid 5✅ 4ms

✅ /home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.Repositories.NHibernate.Tests.dll.trx

7 tests were completed in 16s with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
EdFi.Ods.Repositories.NHibernate.Tests.DescriptorDetailsProviderTests 7✅ 162ms

✅ /home/runner/work/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/Ed-Fi-ODS-Implementation/reports/EdFi.Ods.Tests.dll.trx

1678 tests were completed in 38s with 1671 passed, 0 failed and 7 skipped.
Report exceeded GitHub limit of 65535 bytes and has been trimmed