Skip to content

Commit cee984a

Browse files
author
Robert Johnson
committed
Fix tests
1 parent bf4af57 commit cee984a

File tree

2 files changed

+15
-22
lines changed

2 files changed

+15
-22
lines changed

src/Microsoft.Health.Fhir.Core/Features/KnownQueryParameterNames.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,11 @@ public static class KnownQueryParameterNames
6161
public const string Container = "_container";
6262

6363
/// <summary>
64-
/// Originally for CosmosDB workloads to hint that this request should run with a max parallel setting.
64+
/// This settings is currently set by:
65+
/// x-ms-query-latency-over-efficiency - Gen1 and Gen2
66+
/// x-conditionalquery-processing-logic - Gen1 only
67+
/// In Gen1 it is used to hint that the request should run with a max parallel setting.
68+
/// In Gen2 it is used to tell the system to optimize for latency over efficiency by running two queries in parallel (with and without query caching).
6569
/// </summary>
6670
public const string OptimizeConcurrency = "_optimizeConcurrency";
6771

src/Microsoft.Health.Fhir.Shared.Api.UnitTests/Features/Filters/QueryLatencyOverEfficiencyFilterAttributeTests.cs

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,14 @@ public sealed class QueryLatencyOverEfficiencyFilterAttributeTests
2929
private readonly IFhirRuntimeConfiguration _azureApiForFhirConfiguration = new AzureApiForFhirRuntimeConfiguration();
3030
private readonly IFhirRuntimeConfiguration _azureHealthDataServicesFhirConfiguration = new AzureHealthDataServicesRuntimeConfiguration();
3131

32-
[Fact]
33-
public void GivenAValidHttpContextForAzureApiForFhir_WhenItContainsALatencyOverEfficiencyFlag_ThenFhirContextIsDecorated()
32+
[Theory]
33+
[InlineData(true)]
34+
[InlineData(false)]
35+
public void GivenAValidHttpContextForAzureApiForFhir_WhenItContainsALatencyOverEfficiencyFlag_ThenFhirContextIsDecorated(bool azureApiForFhir)
3436
{
3537
var httpRequest = GetFakeHttpContext(isLatencyOverEfficiencyEnabled: true);
3638

37-
var filter = new QueryLatencyOverEfficiencyFilterAttribute(httpRequest.RequestContext, _azureApiForFhirConfiguration);
39+
var filter = new QueryLatencyOverEfficiencyFilterAttribute(httpRequest.RequestContext, azureApiForFhir ? _azureApiForFhirConfiguration : _azureHealthDataServicesFhirConfiguration);
3840
filter.OnActionExecuting(httpRequest.ActionContext);
3941

4042
var fhirContextPropertyBag = httpRequest.RequestContext.RequestContext.Properties;
@@ -43,27 +45,14 @@ public void GivenAValidHttpContextForAzureApiForFhir_WhenItContainsALatencyOverE
4345
Assert.Equal(true, fhirContextPropertyBag[KnownQueryParameterNames.OptimizeConcurrency]);
4446
}
4547

46-
[Fact]
47-
public void GivenAValidHttpContextForAzureHealthDataService_WhenItContainsALatencyOverEfficiencyFlag_ThenFhirContextIsNotDecorated()
48-
{
49-
// The latency-over-efficiency flag is only applicable to Azure API for FHIR.
50-
51-
var httpRequest = GetFakeHttpContext(isLatencyOverEfficiencyEnabled: true);
52-
53-
var filter = new QueryLatencyOverEfficiencyFilterAttribute(httpRequest.RequestContext, _azureHealthDataServicesFhirConfiguration);
54-
filter.OnActionExecuting(httpRequest.ActionContext);
55-
56-
var fhirContextPropertyBag = httpRequest.RequestContext.RequestContext.Properties;
57-
58-
Assert.False(fhirContextPropertyBag.ContainsKey(KnownQueryParameterNames.OptimizeConcurrency));
59-
}
60-
61-
[Fact]
62-
public void GivenAValidHttpContext_WhenItDoesNotContainALatencyOverEfficiencyFlag_ThenFhirContextIsClean()
48+
[Theory]
49+
[InlineData(true)]
50+
[InlineData(false)]
51+
public void GivenAValidHttpContext_WhenItDoesNotContainALatencyOverEfficiencyFlag_ThenFhirContextIsClean(bool azureApiForFhir)
6352
{
6453
var httpRequest = GetFakeHttpContext(isLatencyOverEfficiencyEnabled: false);
6554

66-
var filter = new QueryLatencyOverEfficiencyFilterAttribute(httpRequest.RequestContext, _azureApiForFhirConfiguration);
55+
var filter = new QueryLatencyOverEfficiencyFilterAttribute(httpRequest.RequestContext, azureApiForFhir ? _azureApiForFhirConfiguration : _azureHealthDataServicesFhirConfiguration);
6756
filter.OnActionExecuting(httpRequest.ActionContext);
6857

6958
var fhirContextPropertyBag = httpRequest.RequestContext.RequestContext.Properties;

0 commit comments

Comments
 (0)