Skip to content

.NET 8.0 Update#402

Open
HowardvanRooijen wants to merge 37 commits intomasterfrom
features/dotnet-8-update
Open

.NET 8.0 Update#402
HowardvanRooijen wants to merge 37 commits intomasterfrom
features/dotnet-8-update

Conversation

@HowardvanRooijen
Copy link
Copy Markdown

  • Upgrade to .NET 8.0 LTS
  • Replace Specflow with Reqnroll
  • Update Microsoft.* Dependencies to 8.*

- Updated target framework from `net6.0` to `net8.0` for multiple projects.
- Removed constructors from `InvalidEnrollmentConfigurationException` and `InvalidServiceManifestException` classes for simplification.
- Updated `packages.lock.json` to reflect changes in dependencies, including upgrades to `Microsoft.Extensions` packages (versions `6.0.1` and `6.0.2`).
- Removed `System.Memory` package, indicating a shift in memory management.
- Updated several runtime dependencies related to security and cryptography to enhance performance and security.
- Improved file handling and diagnostic capabilities with updates to `System.IO` and `System.Diagnostics` packages.
- Updated package references in multiple `.csproj` files, including `Endjin.RecommendedPractices.GitHub` to `2.1.18` and `Microsoft.Extensions.*` to version ranges starting with `8.0.*`.
- Replaced `Corvus.Testing.SpecFlow` with `Corvus.Testing.ReqnRoll` across various source files and step definitions.
- Changed configuration files from `specflow.json` to `reqnroll.json` to align with the new testing framework.
- Updated `packages.lock.json` to reflect new dependencies and remove obsolete ones, ensuring compatibility with the updated packages.
This commit adds null-forgiving operators (`!`) to the
calls of the `Get<T>()` method in
`MarainServicesTenancyServiceCollectionExtensions.cs`
and `CliServiceCollectionExtensions.cs`. This change
asserts that the results of these calls will not be null,
suppressing compiler warnings related to potential null
reference exceptions.
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 6, 2025

Code Coverage Summary Report - Linux (No TFM)

Summary
Generated on: 06/06/2025 - 13:36:45
Parser: Cobertura
Assemblies: 6
Classes: 80
Files: 105
Line coverage: 93.1% (2430 of 2609)
Covered lines: 2430
Uncovered lines: 179
Coverable lines: 2609
Total lines: 15862
Branch coverage: 66.4% (242 of 364)
Covered branches: 242
Total branches: 364
Method coverage: Feature is only available for sponsors

Coverage

Marain.Services.Tenancy.Testing - 59.7%
Name Line Branch
Marain.Services.Tenancy.Testing 59.7% 57.1%
Marain.TenantManagement.Testing.InMemoryTenantProvider 96% 69.2%
Marain.TenantManagement.Testing.InMemoryTenantProvider.StoredTenant 100%
Marain.TenantManagement.Testing.TransientTenantManager 0% 0%
Marain.TenantManagement.Testing.TransientTenantManagerBindings 0%
Microsoft.Extensions.DependencyInjection.MarainTenancyTestServiceCollection
Extensions
100% 100%
Marain.TenantManagement.Abstractions - 86.9%
Name Line Branch
Marain.TenantManagement.Abstractions 86.9% 66.9%
Marain.TenantManagement.Configuration.ConfigurationItem 80% 50%
Marain.TenantManagement.Configuration.ConfigurationItemExtensions 0% 0%
Marain.TenantManagement.EnrollmentConfiguration.EnrollmentConfigurationEntr
y
91.6% 50%
Marain.TenantManagement.Exceptions.InvalidConfigurationException 0% 0%
Marain.TenantManagement.Exceptions.InvalidEnrollmentConfigurationException 80% 0%
Marain.TenantManagement.Exceptions.InvalidMarainTenantTypeException 100%
Marain.TenantManagement.Exceptions.InvalidServiceManifestException 100% 50%
Marain.TenantManagement.Internal.TenantNames 100%
Marain.TenantManagement.Internal.TenantPropertyKeys 100%
Marain.TenantManagement.ServiceManifests.ServiceDependency 77.7% 83.3%
Marain.TenantManagement.ServiceManifests.ServiceManifest 100% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestExtensions 100% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntry
91.6% 83.3%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntryIncludingDescendants
100%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntryIncludingDescendantsExtensions
100% 93.7%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntryWithV2LegacySupport<TConfiguration, TConfigurationItem, TV2LegacyCon
figuration, TV2LegacyConfigurationItem>
78.5% 66.6%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredLegacyConfi
gurationEntry
100%
Marain.TenantManagement.TenantExtensions 81% 63.3%
Marain.TenantManagement.TenantStoreManagementExtensions 87.6% 60.8%
Marain.TenantManagement.WellKnownTenantIds 100%
Microsoft.Extensions.DependencyInjection.TenantManagementServiceCollectionE
xtensions
100%
Marain.TenantManagement.Azure.BlobStorage - 87.8%
Name Line Branch
Marain.TenantManagement.Azure.BlobStorage 87.8% 75%
Marain.TenantManagement.Configuration.BlobContainerConfigurationItem 100%
Marain.TenantManagement.Configuration.LegacyV2BlobStorageConfigurationItem 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestBlobStorageConfigur
ationEntry
100% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2BlobStorage
ConfigurationEntry
66.6% 50%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2BlobStorage
ContainerDefinition
100%
Microsoft.Extensions.DependencyInjection.TenantManagementBlobStorageService
CollectionExtensions
100%
Marain.TenantManagement.Azure.Cosmos - 88.2%
Name Line Branch
Marain.TenantManagement.Azure.Cosmos 88.2% 75%
Marain.TenantManagement.Configuration.CosmosContainerConfigurationItem 100%
Marain.TenantManagement.Configuration.LegacyV2CosmosConfigurationItem 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestCosmosDbConfigurati
onEntry
100% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2CosmosDbCon
figurationEntry
66.6% 50%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2CosmosDbCon
tainerDefinition
100%
Microsoft.Extensions.DependencyInjection.TenantManagementCosmosServiceColle
ctionExtensions
100%
Marain.TenantManagement.Azure.TableStorage - 87.8%
Name Line Branch
Marain.TenantManagement.Azure.TableStorage 87.8% 75%
Marain.TenantManagement.Configuration.LegacyV2TableStorageConfigurationItem 100%
Marain.TenantManagement.Configuration.TableConfigurationItem 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2TableStorag
eConfigurationEntry
66.6% 50%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2TableStorag
eTableDefinition
100%
Marain.TenantManagement.ServiceManifests.ServiceManifestTableStorageConfigu
rationEntry
100% 100%
Microsoft.Extensions.DependencyInjection.TenantManagementTableStorageServic
eCollectionExtensions
100%
Marain.TenantManagement.Specs - 98.4%
Name Line Branch
Marain.TenantManagement.Specs 98.4% 68.6%
Marain_TenantManagement_Specs_NUnitAssemblyHooks 100%
Marain.TenantManagement.Specs.Bindings.TenantProviderContainerBindings 100% 100%
Marain.TenantManagement.Specs.CatchException 91.6%
Marain.TenantManagement.Specs.Features.Enrollment.Dependencies.EnrollServic
eThatHasDependencyWhichHasAFurtherDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.Dependencies.EnrollServic
eThatHasOneDependencyWithNoFurtherDependenciesFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.Dependencies.EnrollServic
eWithADependencyOnAServiceThatIsAlsoUsedInOtherWaysFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.EnrollServiceWithNoDepend
enciesAndNoRequiredConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Att
emptToEnrollServiceWithoutSupplyingRequiredV3ConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Enr
ollServiceRequiringV3ConfigurationSupplyingIncorrectConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Enr
ollServiceRequiringV3ConfigurationSupplyingV3Feature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollServiceRequiringV2ConfigurationSupplyingV2Feature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollServiceRequiringV2OrV3ConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollServiceRequiringV3ConfigurationSupplyingIncorrectConfigurationFea
ture
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2OrV3RequiredWithV2OrV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2OrV3RequiredWithV2RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2OrV3RequiredWithV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2RequiredWithV2OrV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2RequiredWithV2RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2RequiredWithV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV3RequiredWithV2OrV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV3RequiredWithV2RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.ServiceManifestDese
rializationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestDependentServiceValidationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestLegacyV2RequiredConfigurationValidationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestRequiredConfigurationValidationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestValidationFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.AddingANewClientTen
antFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.AddingANewServiceTe
nantFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.TenancyProviderInit
ialisationFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.UnenrollmentFeature 100%
Marain.TenantManagement.Specs.Steps.EnrollmentSteps 98.9% 75%
Marain.TenantManagement.Specs.Steps.EnrollmentSteps.EnrollmentConfiguration
EntryInputs
100%
Marain.TenantManagement.Specs.Steps.ExceptionHandlingSteps 85% 37.5%
Marain.TenantManagement.Specs.Steps.InitialisationSteps 100% 100%
Marain.TenantManagement.Specs.Steps.ManifestSteps 100% 70%
Marain.TenantManagement.Specs.Steps.TenantSteps 88.6% 55%

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 6, 2025

Test Results

97 tests   97 ✅  1s ⏱️
 1 suites   0 💤
 1 files     0 ❌

Results for commit 1eb825f.

♻️ This comment has been updated with latest results.

HowardvanRooijen and others added 22 commits June 9, 2025 15:06
- Updated `Corvus` package references to version `4.0.0` in `Marain.TenantManagement.Abstractions`, `BlobStorage`, `Cosmos`, and `TableStorage` projects.
- Removed reference to `Corvus.Identity.MicrosoftRest` in `Marain.TenantManagement.Cli`.
- Simplified constructor in `UnenrollCommand.cs` by removing unnecessary parentheses.
- Extensive updates to `packages.lock.json`, including dependency resolutions to newer versions like `Azure.Core` (1.46.1) and `Microsoft.Extensions.Caching.Memory` (8.0.1).
- Removed `StyleCop.Analyzers` and `Roslynator.Analyzers`, indicating a shift in coding standards or analysis tools.
Updated `Marain.TenantManagement.Specs.csproj` to include
the `<IsTestProject>true</IsTestProject>` property,
indicating that this project is a test project.
- Replaced `Newtonsoft.Json` with `System.Text.Json` in `TenantProviderContainerBindings.cs`.
- Updated service collection configuration for JSON serialization.
- Modified `LoadManifestFile` method to use `System.Text.Json` for deserialization.
Updated JSON serialization across the project to use System.Text.Json instead of Newtonsoft.Json. This includes changes to method signatures and variable types in `InMemoryTenantProvider.cs`, `TransientTenantManager.cs`, and CLI command files.

Replaced `IJsonSerializerSettingsProvider` with `IJsonSerializerOptionsProvider` to align with the new serialization approach.

Updated project dependencies to newer versions, including `Menes.Abstractions`, `Corvus.Tenancy.Abstractions`, and `Corvus.Storage`.

Modified `TenantManagementServiceCollectionExtensions.cs` and `CliServiceCollectionExtensions.cs` to register new JSON serialization options and converters.

Reflected changes in package versions and dependencies in `packages.lock.json`.

Adjusted test specifications in `ManifestSteps.cs` and related files to ensure compatibility with the new JSON handling methods.
idg10 and others added 3 commits June 13, 2025 06:42
* Use record types (mutable list properties had been confusing System.Text.Json)
* Configure polymorphic deserialization to enable successful deserialization of the abstract ServiceManifestRequiredConfigurationEntry records in the ServiceManifest
* Replace various RegisterTransientContent calls with RegisterContent (the former expects you to be using DI, which we're not in these types, and which is also incompatible with constructor-based deserialization)
@HowardvanRooijen HowardvanRooijen marked this pull request as draft June 13, 2025 07:45
@HowardvanRooijen HowardvanRooijen marked this pull request as ready for review June 13, 2025 07:45
@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 7, 2025

Code Coverage Summary Report - Windows (No TFM)

Summary
Generated on: 10/7/2025 - 3:44:10 PM
Parser: Cobertura
Assemblies: 6
Classes: 80
Files: 105
Line coverage: 93.2% (2435 of 2611)
Covered lines: 2435
Uncovered lines: 176
Coverable lines: 2611
Total lines: 15914
Branch coverage: 67.1% (251 of 374)
Covered branches: 251
Total branches: 374
Method coverage: Feature is only available for sponsors

Coverage

Marain.Services.Tenancy.Testing - 66.4%
Name Line Branch
Marain.Services.Tenancy.Testing 66.4% 57.1%
Marain.TenantManagement.Testing.InMemoryTenantProvider 96% 69.2%
Marain.TenantManagement.Testing.InMemoryTenantProvider.StoredTenant 100%
Marain.TenantManagement.Testing.TransientTenantManager 0% 0%
Marain.TenantManagement.Testing.TransientTenantManagerBindings 0%
Microsoft.Extensions.DependencyInjection.MarainTenancyTestServiceCollection
Extensions
100% 100%
Marain.TenantManagement.Abstractions - 86.3%
Name Line Branch
Marain.TenantManagement.Abstractions 86.3% 68.1%
Marain.TenantManagement.Configuration.ConfigurationItem 80% 50%
Marain.TenantManagement.Configuration.ConfigurationItemExtensions 0% 0%
Marain.TenantManagement.EnrollmentConfiguration.EnrollmentConfigurationEntr
y
91.6% 50%
Marain.TenantManagement.Exceptions.InvalidConfigurationException 0% 0%
Marain.TenantManagement.Exceptions.InvalidEnrollmentConfigurationException 80% 0%
Marain.TenantManagement.Exceptions.InvalidMarainTenantTypeException 100%
Marain.TenantManagement.Exceptions.InvalidServiceManifestException 100% 50%
Marain.TenantManagement.Internal.TenantNames 100%
Marain.TenantManagement.Internal.TenantPropertyKeys 100%
Marain.TenantManagement.ServiceManifests.ServiceDependency 77.7% 83.3%
Marain.TenantManagement.ServiceManifests.ServiceManifest 100% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestExtensions 100% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntry
92.3% 83.3%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntryIncludingDescendants
100%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntryIncludingDescendantsExtensions
100% 93.7%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntryWithV2LegacySupport<TConfiguration, TConfigurationItem, TV2LegacyCon
figuration, TV2LegacyConfigurationItem>
60% 66.6%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredLegacyConfi
gurationEntry
66.6%
Marain.TenantManagement.TenantExtensions 81% 63.3%
Marain.TenantManagement.TenantStoreManagementExtensions 87.6% 60.8%
Marain.TenantManagement.WellKnownTenantIds 100%
Microsoft.Extensions.DependencyInjection.TenantManagementServiceCollectionE
xtensions
100% 100%
Marain.TenantManagement.Azure.BlobStorage - 84.6%
Name Line Branch
Marain.TenantManagement.Azure.BlobStorage 84.6% 75%
Marain.TenantManagement.Configuration.BlobContainerConfigurationItem 100%
Marain.TenantManagement.Configuration.LegacyV2BlobStorageConfigurationItem 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestBlobStorageConfigur
ationEntry
92.8% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2BlobStorage
ConfigurationEntry
64.2% 50%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2BlobStorage
ContainerDefinition
100%
Microsoft.Extensions.DependencyInjection.TenantManagementBlobStorageService
CollectionExtensions
100%
Marain.TenantManagement.Azure.Cosmos - 85%
Name Line Branch
Marain.TenantManagement.Azure.Cosmos 85% 75%
Marain.TenantManagement.Configuration.CosmosContainerConfigurationItem 100%
Marain.TenantManagement.Configuration.LegacyV2CosmosConfigurationItem 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestCosmosDbConfigurati
onEntry
92.8% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2CosmosDbCon
figurationEntry
64.2% 50%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2CosmosDbCon
tainerDefinition
100%
Microsoft.Extensions.DependencyInjection.TenantManagementCosmosServiceColle
ctionExtensions
100%
Marain.TenantManagement.Azure.TableStorage - 84.2%
Name Line Branch
Marain.TenantManagement.Azure.TableStorage 84.2% 75%
Marain.TenantManagement.Configuration.LegacyV2TableStorageConfigurationItem 100%
Marain.TenantManagement.Configuration.TableConfigurationItem 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2TableStorag
eConfigurationEntry
64.2% 50%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2TableStorag
eTableDefinition
100%
Marain.TenantManagement.ServiceManifests.ServiceManifestTableStorageConfigu
rationEntry
92.3% 100%
Microsoft.Extensions.DependencyInjection.TenantManagementTableStorageServic
eCollectionExtensions
100%
Marain.TenantManagement.Specs - 98.3%
Name Line Branch
Marain.TenantManagement.Specs 98.3% 68.1%
Marain_TenantManagement_Specs_NUnitAssemblyHooks 100%
Marain.TenantManagement.Specs.Bindings.TenantProviderContainerBindings 100% 100%
Marain.TenantManagement.Specs.CatchException 91.6%
Marain.TenantManagement.Specs.Features.Enrollment.Dependencies.EnrollServic
eThatHasDependencyWhichHasAFurtherDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.Dependencies.EnrollServic
eThatHasOneDependencyWithNoFurtherDependenciesFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.Dependencies.EnrollServic
eWithADependencyOnAServiceThatIsAlsoUsedInOtherWaysFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.EnrollServiceWithNoDepend
enciesAndNoRequiredConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Att
emptToEnrollServiceWithoutSupplyingRequiredV3ConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Enr
ollServiceRequiringV3ConfigurationSupplyingIncorrectConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Enr
ollServiceRequiringV3ConfigurationSupplyingV3Feature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollServiceRequiringV2ConfigurationSupplyingV2Feature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollServiceRequiringV2OrV3ConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollServiceRequiringV3ConfigurationSupplyingIncorrectConfigurationFea
ture
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2OrV3RequiredWithV2OrV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2OrV3RequiredWithV2RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2OrV3RequiredWithV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2RequiredWithV2OrV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2RequiredWithV2RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2RequiredWithV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV3RequiredWithV2OrV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV3RequiredWithV2RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.ServiceManifestDese
rializationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestDependentServiceValidationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestLegacyV2RequiredConfigurationValidationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestRequiredConfigurationValidationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestValidationFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.AddingANewClientTen
antFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.AddingANewServiceTe
nantFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.TenancyProviderInit
ialisationFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.UnenrollmentFeature 100%
Marain.TenantManagement.Specs.Steps.EnrollmentSteps 98.9% 75%
Marain.TenantManagement.Specs.Steps.EnrollmentSteps.EnrollmentConfiguration
EntryInputs
100%
Marain.TenantManagement.Specs.Steps.ExceptionHandlingSteps 85% 37.5%
Marain.TenantManagement.Specs.Steps.InitialisationSteps 100% 100%
Marain.TenantManagement.Specs.Steps.ManifestSteps 99.1% 66.6%
Marain.TenantManagement.Specs.Steps.TenantSteps 88.6% 55%

@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 7, 2025

Code Coverage Summary Report - Linux (No TFM)

Summary
Generated on: 10/07/2025 - 15:44:47
Parser: Cobertura
Assemblies: 6
Classes: 80
Files: 105
Line coverage: 93.2% (2435 of 2611)
Covered lines: 2435
Uncovered lines: 176
Coverable lines: 2611
Total lines: 8054
Branch coverage: 67.1% (251 of 374)
Covered branches: 251
Total branches: 374
Method coverage: Feature is only available for sponsors

Coverage

Marain.Services.Tenancy.Testing - 66.4%
Name Line Branch
Marain.Services.Tenancy.Testing 66.4% 57.1%
Marain.TenantManagement.Testing.InMemoryTenantProvider 96% 69.2%
Marain.TenantManagement.Testing.InMemoryTenantProvider.StoredTenant 100%
Marain.TenantManagement.Testing.TransientTenantManager 0% 0%
Marain.TenantManagement.Testing.TransientTenantManagerBindings 0%
Microsoft.Extensions.DependencyInjection.MarainTenancyTestServiceCollection
Extensions
100% 100%
Marain.TenantManagement.Abstractions - 86.3%
Name Line Branch
Marain.TenantManagement.Abstractions 86.3% 68.1%
Marain.TenantManagement.Configuration.ConfigurationItem 80% 50%
Marain.TenantManagement.Configuration.ConfigurationItemExtensions 0% 0%
Marain.TenantManagement.EnrollmentConfiguration.EnrollmentConfigurationEntr
y
91.6% 50%
Marain.TenantManagement.Exceptions.InvalidConfigurationException 0% 0%
Marain.TenantManagement.Exceptions.InvalidEnrollmentConfigurationException 80% 0%
Marain.TenantManagement.Exceptions.InvalidMarainTenantTypeException 100%
Marain.TenantManagement.Exceptions.InvalidServiceManifestException 100% 50%
Marain.TenantManagement.Internal.TenantNames 100%
Marain.TenantManagement.Internal.TenantPropertyKeys 100%
Marain.TenantManagement.ServiceManifests.ServiceDependency 77.7% 83.3%
Marain.TenantManagement.ServiceManifests.ServiceManifest 100% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestExtensions 100% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntry
92.3% 83.3%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntryIncludingDescendants
100%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntryIncludingDescendantsExtensions
100% 93.7%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredConfigurati
onEntryWithV2LegacySupport<TConfiguration, TConfigurationItem, TV2LegacyCon
figuration, TV2LegacyConfigurationItem>
60% 66.6%
Marain.TenantManagement.ServiceManifests.ServiceManifestRequiredLegacyConfi
gurationEntry
66.6%
Marain.TenantManagement.TenantExtensions 81% 63.3%
Marain.TenantManagement.TenantStoreManagementExtensions 87.6% 60.8%
Marain.TenantManagement.WellKnownTenantIds 100%
Microsoft.Extensions.DependencyInjection.TenantManagementServiceCollectionE
xtensions
100% 100%
Marain.TenantManagement.Azure.BlobStorage - 84.6%
Name Line Branch
Marain.TenantManagement.Azure.BlobStorage 84.6% 75%
Marain.TenantManagement.Configuration.BlobContainerConfigurationItem 100%
Marain.TenantManagement.Configuration.LegacyV2BlobStorageConfigurationItem 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestBlobStorageConfigur
ationEntry
92.8% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2BlobStorage
ConfigurationEntry
64.2% 50%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2BlobStorage
ContainerDefinition
100%
Microsoft.Extensions.DependencyInjection.TenantManagementBlobStorageService
CollectionExtensions
100%
Marain.TenantManagement.Azure.Cosmos - 85%
Name Line Branch
Marain.TenantManagement.Azure.Cosmos 85% 75%
Marain.TenantManagement.Configuration.CosmosContainerConfigurationItem 100%
Marain.TenantManagement.Configuration.LegacyV2CosmosConfigurationItem 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestCosmosDbConfigurati
onEntry
92.8% 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2CosmosDbCon
figurationEntry
64.2% 50%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2CosmosDbCon
tainerDefinition
100%
Microsoft.Extensions.DependencyInjection.TenantManagementCosmosServiceColle
ctionExtensions
100%
Marain.TenantManagement.Azure.TableStorage - 84.2%
Name Line Branch
Marain.TenantManagement.Azure.TableStorage 84.2% 75%
Marain.TenantManagement.Configuration.LegacyV2TableStorageConfigurationItem 100%
Marain.TenantManagement.Configuration.TableConfigurationItem 100%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2TableStorag
eConfigurationEntry
64.2% 50%
Marain.TenantManagement.ServiceManifests.ServiceManifestLegacyV2TableStorag
eTableDefinition
100%
Marain.TenantManagement.ServiceManifests.ServiceManifestTableStorageConfigu
rationEntry
92.3% 100%
Microsoft.Extensions.DependencyInjection.TenantManagementTableStorageServic
eCollectionExtensions
100%
Marain.TenantManagement.Specs - 98.3%
Name Line Branch
Marain.TenantManagement.Specs 98.3% 68.1%
Marain_TenantManagement_Specs_NUnitAssemblyHooks 100%
Marain.TenantManagement.Specs.Bindings.TenantProviderContainerBindings 100% 100%
Marain.TenantManagement.Specs.CatchException 91.6%
Marain.TenantManagement.Specs.Features.Enrollment.Dependencies.EnrollServic
eThatHasDependencyWhichHasAFurtherDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.Dependencies.EnrollServic
eThatHasOneDependencyWithNoFurtherDependenciesFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.Dependencies.EnrollServic
eWithADependencyOnAServiceThatIsAlsoUsedInOtherWaysFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.EnrollServiceWithNoDepend
enciesAndNoRequiredConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Att
emptToEnrollServiceWithoutSupplyingRequiredV3ConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Enr
ollServiceRequiringV3ConfigurationSupplyingIncorrectConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Enr
ollServiceRequiringV3ConfigurationSupplyingV3Feature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollServiceRequiringV2ConfigurationSupplyingV2Feature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollServiceRequiringV2OrV3ConfigurationFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollServiceRequiringV3ConfigurationSupplyingIncorrectConfigurationFea
ture
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2OrV3RequiredWithV2OrV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2OrV3RequiredWithV2RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2OrV3RequiredWithV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2RequiredWithV2OrV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2RequiredWithV2RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV2RequiredWithV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV3RequiredWithV2OrV3RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.Enrollment.RequiredConfiguration.Leg
acy.EnrollV3RequiredWithV2RequiredDependencyFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.ServiceManifestDese
rializationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestDependentServiceValidationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestLegacyV2RequiredConfigurationValidationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestRequiredConfigurationValidationFeature
100%
Marain.TenantManagement.Specs.Features.ServiceManifests.Validation.ServiceM
anifestValidationFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.AddingANewClientTen
antFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.AddingANewServiceTe
nantFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.TenancyProviderInit
ialisationFeature
100%
Marain.TenantManagement.Specs.Features.TenantManagement.UnenrollmentFeature 100%
Marain.TenantManagement.Specs.Steps.EnrollmentSteps 98.9% 75%
Marain.TenantManagement.Specs.Steps.EnrollmentSteps.EnrollmentConfiguration
EntryInputs
100%
Marain.TenantManagement.Specs.Steps.ExceptionHandlingSteps 85% 37.5%
Marain.TenantManagement.Specs.Steps.InitialisationSteps 100% 100%
Marain.TenantManagement.Specs.Steps.ManifestSteps 99.1% 66.6%
Marain.TenantManagement.Specs.Steps.TenantSteps 88.6% 55%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants