diff --git a/src/Abstractions/src/Asp.Versioning.Abstractions/Asp.Versioning.Abstractions.csproj b/src/Abstractions/src/Asp.Versioning.Abstractions/Asp.Versioning.Abstractions.csproj index 00dd4809..6fb59849 100644 --- a/src/Abstractions/src/Asp.Versioning.Abstractions/Asp.Versioning.Abstractions.csproj +++ b/src/Abstractions/src/Asp.Versioning.Abstractions/Asp.Versioning.Abstractions.csproj @@ -1,7 +1,7 @@  - 8.0.0 + 8.0.1 8.0.0.0 $(DefaultTargetFramework);netstandard1.0;netstandard2.0 API Versioning Abstractions diff --git a/src/Abstractions/src/Asp.Versioning.Abstractions/ISunsetPolicyManagerExtensions.cs b/src/Abstractions/src/Asp.Versioning.Abstractions/ISunsetPolicyManagerExtensions.cs index 37be6965..f28f9cca 100644 --- a/src/Abstractions/src/Asp.Versioning.Abstractions/ISunsetPolicyManagerExtensions.cs +++ b/src/Abstractions/src/Asp.Versioning.Abstractions/ISunsetPolicyManagerExtensions.cs @@ -46,7 +46,7 @@ public static bool TryGetPolicy( /// The name of the API. /// The API version to get the policy for. /// The applicable sunset policy, if any. - /// The resolution or is as follows: + /// The resolution order is as follows: /// /// and /// only @@ -76,7 +76,7 @@ public static bool TryGetPolicy( /// The API version to get the policy for. /// /// The applicable sunset policy, if any. /// True if the sunset policy was retrieved; otherwise, false. - /// The resolution or is as follows: + /// The resolution order is as follows: /// /// and /// only @@ -102,7 +102,8 @@ public static bool TryResolvePolicy( return true; } } - else if ( apiVersion != null && policyManager.TryGetPolicy( apiVersion, out sunsetPolicy ) ) + + if ( apiVersion != null && policyManager.TryGetPolicy( apiVersion, out sunsetPolicy ) ) { return true; } diff --git a/src/Abstractions/src/Asp.Versioning.Abstractions/ReleaseNotes.txt b/src/Abstractions/src/Asp.Versioning.Abstractions/ReleaseNotes.txt index 5f282702..d6943ffb 100644 --- a/src/Abstractions/src/Asp.Versioning.Abstractions/ReleaseNotes.txt +++ b/src/Abstractions/src/Asp.Versioning.Abstractions/ReleaseNotes.txt @@ -1 +1 @@ - \ No newline at end of file +TryResolvePolicy should correctly fall back ([#1064](https://github.com/dotnet/aspnet-api-versioning/issues/1064)) \ No newline at end of file diff --git a/src/Abstractions/test/Asp.Versioning.Abstractions.Tests/ISunsetPolicyManagerExtensionsTest.cs b/src/Abstractions/test/Asp.Versioning.Abstractions.Tests/ISunsetPolicyManagerExtensionsTest.cs index ac1cb2c0..9cc9b693 100644 --- a/src/Abstractions/test/Asp.Versioning.Abstractions.Tests/ISunsetPolicyManagerExtensionsTest.cs +++ b/src/Abstractions/test/Asp.Versioning.Abstractions.Tests/ISunsetPolicyManagerExtensionsTest.cs @@ -65,11 +65,10 @@ public void resolve_policy_should_fall_back_to_global_result() var expected = new SunsetPolicy(); var other = new SunsetPolicy(); - manager.Setup( m => m.TryGetPolicy( "Test", new ApiVersion( 1.0, null ), out other ) ).Returns( true ); - manager.Setup( m => m.TryGetPolicy( default, new ApiVersion( 1.0, null ), out expected ) ).Returns( true ); + manager.Setup( m => m.TryGetPolicy( It.IsAny(), new ApiVersion( 1.0, null ), out expected ) ).Returns( true ); // act - var policy = manager.Object.ResolvePolicyOrDefault( default, new ApiVersion( 1.0 ) ); + var policy = manager.Object.ResolvePolicyOrDefault( "Test", new ApiVersion( 1.0 ) ); // assert policy.Should().BeSameAs( expected ); diff --git a/src/Common/src/Common/DefaultApiVersionReporter.cs b/src/Common/src/Common/DefaultApiVersionReporter.cs index 95e4d017..72ed1408 100644 --- a/src/Common/src/Common/DefaultApiVersionReporter.cs +++ b/src/Common/src/Common/DefaultApiVersionReporter.cs @@ -91,9 +91,7 @@ public void Report( HttpResponse response, ApiVersionModel apiVersionModel ) #endif var name = metadata.Name; - if ( sunsetPolicyManager.TryGetPolicy( name, version, out var policy ) || - ( !string.IsNullOrEmpty( name ) && sunsetPolicyManager.TryGetPolicy( name, out policy ) ) || - ( version != null && sunsetPolicyManager.TryGetPolicy( version, out policy ) ) ) + if ( sunsetPolicyManager.TryResolvePolicy( name, version, out var policy ) ) { response.WriteSunsetPolicy( policy ); }