From a254254a60e31d1173824a6a852de24c7f5ec985 Mon Sep 17 00:00:00 2001 From: Martin Taillefer Date: Wed, 13 Sep 2023 08:14:22 -0700 Subject: [PATCH] Address API review feedback --- .../RedactionBenchmark.cs | 4 +- .../HttpClientFactory.cs | 2 +- .../HttpClientFactory.cs | 16 +-- .../Microsoft.AspNetCore.AsyncState.json | 2 +- .../Microsoft.AspNetCore.HeaderParsing.csproj | 2 +- .../Microsoft.AspNetCore.HeaderParsing.json | 132 +++++++++--------- ...osoft.AspNetCore.Telemetry.Middleware.json | 2 +- .../Microsoft.AspNetCore.Telemetry.json | 2 +- .../Microsoft.AspNetCore.Testing.json | 2 +- ...xtensions.AmbientMetadata.Application.json | 2 +- .../Microsoft.Extensions.AsyncState.json | 2 +- .../Classification/DataClassification.cs | 4 +- ...ft.Extensions.Compliance.Abstractions.json | 10 +- ...osoft.Extensions.Compliance.Redaction.json | 2 +- .../Attributes/PrivateDataAttribute.cs | 2 +- .../Attributes/PublicDataAttribute.cs | 2 +- ...ssifications.cs => FakeClassifications.cs} | 8 +- .../{SimpleTaxonomy.cs => FakeTaxonomy.cs} | 2 +- ...xtensions.cs => FakeTaxonomyExtensions.cs} | 8 +- ...crosoft.Extensions.Compliance.Testing.json | 122 ++++++++-------- ...ns.DependencyInjection.AutoActivation.json | 2 +- ...ns.Diagnostics.ExceptionSummarization.json | 2 +- ...sions.Diagnostics.HealthChecks.Common.json | 2 +- ...tics.HealthChecks.ResourceUtilization.json | 2 +- ...KubernetesProbesOptions.EndpointOptions.cs | 2 +- .../TcpEndpointHealthCheckService.cs | 2 +- ...crosoft.Extensions.Diagnostics.Probes.json | 6 +- .../Microsoft.Extensions.EnumStrings.json | 2 +- .../Microsoft.Extensions.Hosting.Testing.json | 2 +- .../AutoClientException.cs | 16 ++- .../Microsoft.Extensions.Http.AutoClient.json | 8 +- .../Microsoft.Extensions.Http.Resilience.json | 2 +- .../Routing/EndpointGroup.cs | 4 + .../Logging/LoggingOptions.cs | 6 +- .../Microsoft.Extensions.Http.Telemetry.json | 4 +- ...nsions.ObjectPool.DependencyInjection.json | 2 +- ...crosoft.Extensions.Options.Contextual.json | 2 +- .../Microsoft.Extensions.Resilience.json | 2 +- ...icrosoft.Extensions.Telemetry.Testing.json | 2 +- .../Microsoft.Extensions.Telemetry.csproj | 4 + .../Microsoft.Extensions.Telemetry.json | 53 +------ .../Internal/SamplingOptionsAutoValidator.cs | 11 -- .../Tracing.Sampling/SamplerType.cs | 25 ---- .../Tracing.Sampling/SamplingOptions.cs | 38 ----- ...osoft.Extensions.TimeProvider.Testing.json | 2 +- .../RequestHeadersEnricherTests.cs | 26 ++-- .../IncomingHttpRouteUtilityTests.cs | 58 ++++---- .../XXHash3RedactorExtensionsTests.cs | 10 +- .../AttributeTest.cs | 4 +- .../InstancesTest.cs | 4 +- .../TaxonomyExtensionsTest.cs | 6 +- .../TcpEndpointHealthCheckExtensionsTest.cs | 8 +- .../Hedging/StandardHedgingTests.cs | 2 +- ...ClientBuilderExtensionsTests.BySelector.cs | 2 +- ...ClientBuilderExtensionsTests.Resilience.cs | 2 +- .../Logging/AcceptanceTests.cs | 54 +++---- .../Logging/HttpClientLoggerTest.cs | 36 ++--- .../HttpClientLoggingExtensionsTest.cs | 30 ++-- .../Logging/HttpHeadersReaderTest.cs | 14 +- .../Logging/HttpRequestReaderTest.cs | 38 ++--- .../Logging/LoggingOptionsTest.cs | 16 +-- .../Logging/LoggerMessageStateTests.cs | 14 +- .../Logging/ExtendedLoggerTests.cs | 4 +- .../HttpHeadersRedactorTests.cs | 2 +- .../Telemetry.Internal/HttpParserTests.cs | 26 ++-- .../HttpRouteFormatterTests.cs | 36 ++--- 66 files changed, 413 insertions(+), 510 deletions(-) rename src/Libraries/Microsoft.Extensions.Compliance.Testing/{SimpleClassifications.cs => FakeClassifications.cs} (77%) rename src/Libraries/Microsoft.Extensions.Compliance.Testing/{SimpleTaxonomy.cs => FakeTaxonomy.cs} (95%) rename src/Libraries/Microsoft.Extensions.Compliance.Testing/{SimpleTaxonomyExtensions.cs => FakeTaxonomyExtensions.cs} (72%) delete mode 100644 src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/Internal/SamplingOptionsAutoValidator.cs delete mode 100644 src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/SamplerType.cs delete mode 100644 src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/SamplingOptions.cs diff --git a/bench/Libraries/Microsoft.AspNetCore.Telemetry.PerformanceTests/RedactionBenchmark.cs b/bench/Libraries/Microsoft.AspNetCore.Telemetry.PerformanceTests/RedactionBenchmark.cs index bb0572e909d..6ed8964ea07 100644 --- a/bench/Libraries/Microsoft.AspNetCore.Telemetry.PerformanceTests/RedactionBenchmark.cs +++ b/bench/Libraries/Microsoft.AspNetCore.Telemetry.PerformanceTests/RedactionBenchmark.cs @@ -29,8 +29,8 @@ public class RedactionBenchmark public RedactionBenchmark() { - _routeParameterDataClasses.Add("userId", SimpleClassifications.PrivateData); - _routeParameterDataClasses.Add("chatId", SimpleClassifications.PrivateData); + _routeParameterDataClasses.Add("userId", FakeClassifications.PrivateData); + _routeParameterDataClasses.Add("chatId", FakeClassifications.PrivateData); _httpPath = "/users/{userId}/chats/{chatId}/test1/test2/{userId}"; _stringBuilderPool = PoolFactory.CreateStringBuilderPool(); diff --git a/bench/Libraries/Microsoft.Extensions.Http.Resilience.PerformanceTests/HttpClientFactory.cs b/bench/Libraries/Microsoft.Extensions.Http.Resilience.PerformanceTests/HttpClientFactory.cs index c2df151138a..fc6d9787c2e 100644 --- a/bench/Libraries/Microsoft.Extensions.Http.Resilience.PerformanceTests/HttpClientFactory.cs +++ b/bench/Libraries/Microsoft.Extensions.Http.Resilience.PerformanceTests/HttpClientFactory.cs @@ -69,7 +69,7 @@ public static ServiceProvider InitializeServiceProvider(params HedgingClientType private static void AddHedging(this IServiceCollection services, HedgingClientType clientType) { var clientBuilder = services.AddHttpClient(clientType.ToString(), client => client.Timeout = Timeout.InfiniteTimeSpan); - var hedgingBuilder = clientBuilder.AddStandardHedgingHandler().SelectPipelineByAuthority(SimpleClassifications.PublicData); + var hedgingBuilder = clientBuilder.AddStandardHedgingHandler().SelectPipelineByAuthority(FakeClassifications.PublicData); _ = clientBuilder.AddHttpMessageHandler(); if (clientType.HasFlag(HedgingClientType.NoRoutes)) diff --git a/bench/Libraries/Microsoft.Extensions.Http.Telemetry.PerformanceTests/HttpClientFactory.cs b/bench/Libraries/Microsoft.Extensions.Http.Telemetry.PerformanceTests/HttpClientFactory.cs index 70e46d50e85..030982a282b 100644 --- a/bench/Libraries/Microsoft.Extensions.Http.Telemetry.PerformanceTests/HttpClientFactory.cs +++ b/bench/Libraries/Microsoft.Extensions.Http.Telemetry.PerformanceTests/HttpClientFactory.cs @@ -26,7 +26,7 @@ public static System.Net.Http.HttpClient CreateWithLoggingLogRequest(string file { options.BodySizeLimit = readLimit; options.RequestBodyContentTypes.Add(new("application/json")); - options.RequestHeadersDataClasses.Add("Content-Type", SimpleClassifications.PrivateData); + options.RequestHeadersDataClasses.Add("Content-Type", FakeClassifications.PrivateData); }) .AddHttpMessageHandler() .Services @@ -49,7 +49,7 @@ public static System.Net.Http.HttpClient CreateWithLoggingLogResponse(string fil { options.BodySizeLimit = readLimit; options.ResponseBodyContentTypes.Add(new("application/json")); - options.ResponseHeadersDataClasses.Add("Content-Type", SimpleClassifications.PrivateData); + options.ResponseHeadersDataClasses.Add("Content-Type", FakeClassifications.PrivateData); }) .AddHttpMessageHandler() .Services @@ -73,10 +73,10 @@ public static System.Net.Http.HttpClient CreateWithLoggingLogAll(string fileName options.BodySizeLimit = readLimit; options.RequestBodyContentTypes.Add(new("application/json")); - options.RequestHeadersDataClasses.Add("Content-Type", SimpleClassifications.PrivateData); + options.RequestHeadersDataClasses.Add("Content-Type", FakeClassifications.PrivateData); options.ResponseBodyContentTypes.Add(new("application/json")); - options.ResponseHeadersDataClasses.Add("Content-Type", SimpleClassifications.PrivateData); + options.ResponseHeadersDataClasses.Add("Content-Type", FakeClassifications.PrivateData); }) .AddHttpMessageHandler() .Services @@ -99,7 +99,7 @@ public static System.Net.Http.HttpClient CreateWithLoggingLogRequest_ChunkedEnco { options.BodySizeLimit = readLimit; options.RequestBodyContentTypes.Add("application/json"); - options.RequestHeadersDataClasses.Add("Content-Type", SimpleClassifications.PrivateData); + options.RequestHeadersDataClasses.Add("Content-Type", FakeClassifications.PrivateData); }) .AddHttpMessageHandler() .Services @@ -122,7 +122,7 @@ public static System.Net.Http.HttpClient CreateWithLoggingLogResponse_ChunkedEnc { options.BodySizeLimit = readLimit; options.ResponseBodyContentTypes.Add("application/json"); - options.ResponseHeadersDataClasses.Add("Content-Type", SimpleClassifications.PrivateData); + options.ResponseHeadersDataClasses.Add("Content-Type", FakeClassifications.PrivateData); }) .AddHttpMessageHandler() .Services @@ -146,10 +146,10 @@ public static System.Net.Http.HttpClient CreateWithLoggingLogAll_ChunkedEncoding options.BodySizeLimit = readLimit; options.RequestBodyContentTypes.Add("application/json"); - options.RequestHeadersDataClasses.Add("Content-Type", SimpleClassifications.PrivateData); + options.RequestHeadersDataClasses.Add("Content-Type", FakeClassifications.PrivateData); options.ResponseBodyContentTypes.Add("application/json"); - options.ResponseHeadersDataClasses.Add("Content-Type", SimpleClassifications.PrivateData); + options.ResponseHeadersDataClasses.Add("Content-Type", FakeClassifications.PrivateData); }) .AddHttpMessageHandler() .Services diff --git a/src/Libraries/Microsoft.AspNetCore.AsyncState/Microsoft.AspNetCore.AsyncState.json b/src/Libraries/Microsoft.AspNetCore.AsyncState/Microsoft.AspNetCore.AsyncState.json index 2238ca2ad41..51e2007fba7 100644 --- a/src/Libraries/Microsoft.AspNetCore.AsyncState/Microsoft.AspNetCore.AsyncState.json +++ b/src/Libraries/Microsoft.AspNetCore.AsyncState/Microsoft.AspNetCore.AsyncState.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.AspNetCore.AsyncState, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.AspNetCore.AsyncState, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.AspNetCore.AsyncState.AsyncStateHttpContextExtensions", diff --git a/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.csproj b/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.csproj index 6ea6aec43e2..ad0f6574385 100644 --- a/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.csproj +++ b/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.csproj @@ -14,7 +14,7 @@ - dev + normal 100 91 diff --git a/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.json b/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.json index fdd15743c59..376f0320c47 100644 --- a/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.json +++ b/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.json @@ -1,295 +1,295 @@ { - "Name": "Microsoft.AspNetCore.HeaderParsing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.AspNetCore.HeaderParsing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.AspNetCore.HeaderParsing.CommonHeaders", - "Stage": "Experimental", + "Stage": "Stable", "Properties": [ { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup> Microsoft.AspNetCore.HeaderParsing.CommonHeaders.Accept { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup> Microsoft.AspNetCore.HeaderParsing.CommonHeaders.AcceptEncoding { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup> Microsoft.AspNetCore.HeaderParsing.CommonHeaders.AcceptLanguage { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup Microsoft.AspNetCore.HeaderParsing.CommonHeaders.CacheControl { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup Microsoft.AspNetCore.HeaderParsing.CommonHeaders.ContentDisposition { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup Microsoft.AspNetCore.HeaderParsing.CommonHeaders.ContentType { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup> Microsoft.AspNetCore.HeaderParsing.CommonHeaders.Cookie { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup Microsoft.AspNetCore.HeaderParsing.CommonHeaders.Date { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup Microsoft.AspNetCore.HeaderParsing.CommonHeaders.Host { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup> Microsoft.AspNetCore.HeaderParsing.CommonHeaders.IfMatch { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup> Microsoft.AspNetCore.HeaderParsing.CommonHeaders.IfModifiedSince { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup> Microsoft.AspNetCore.HeaderParsing.CommonHeaders.IfNoneMatch { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup Microsoft.AspNetCore.HeaderParsing.CommonHeaders.IfRange { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup Microsoft.AspNetCore.HeaderParsing.CommonHeaders.IfUnmodifiedSince { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup Microsoft.AspNetCore.HeaderParsing.CommonHeaders.Range { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup Microsoft.AspNetCore.HeaderParsing.CommonHeaders.Referer { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderSetup> Microsoft.AspNetCore.HeaderParsing.CommonHeaders.XForwardedFor { get; }", - "Stage": "Experimental" + "Stage": "Stable" } ] }, { "Type": "sealed class Microsoft.AspNetCore.HeaderParsing.HeaderKey where T : notnull", - "Stage": "Experimental", + "Stage": "Stable", "Methods": [ { "Member": "override string Microsoft.AspNetCore.HeaderParsing.HeaderKey.ToString();", - "Stage": "Experimental" + "Stage": "Stable" } ], "Properties": [ { "Member": "string Microsoft.AspNetCore.HeaderParsing.HeaderKey.Name { get; }", - "Stage": "Experimental" + "Stage": "Stable" } ] }, { "Type": "abstract class Microsoft.AspNetCore.HeaderParsing.HeaderParser where T : notnull", - "Stage": "Experimental", + "Stage": "Stable", "Methods": [ { "Member": "Microsoft.AspNetCore.HeaderParsing.HeaderParser.HeaderParser();", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "abstract bool Microsoft.AspNetCore.HeaderParsing.HeaderParser.TryParse(Microsoft.Extensions.Primitives.StringValues values, out T? result, out string? error);", - "Stage": "Experimental" + "Stage": "Stable" } ] }, { "Type": "static class Microsoft.AspNetCore.HeaderParsing.HeaderParsingExtensions", - "Stage": "Experimental", + "Stage": "Stable", "Methods": [ { "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.AspNetCore.HeaderParsing.HeaderParsingExtensions.AddHeaderParsing(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.AspNetCore.HeaderParsing.HeaderParsingExtensions.AddHeaderParsing(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configuration);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.AspNetCore.HeaderParsing.HeaderParsingExtensions.AddHeaderParsing(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.Configuration.IConfigurationSection section);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static Microsoft.AspNetCore.HeaderParsing.HeaderParsingFeature Microsoft.AspNetCore.HeaderParsing.HeaderParsingExtensions.GetHeaderParsing(this Microsoft.AspNetCore.Http.HttpRequest request);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static bool Microsoft.AspNetCore.HeaderParsing.HeaderParsingExtensions.TryGetHeaderValue(this Microsoft.AspNetCore.Http.HttpRequest request, Microsoft.AspNetCore.HeaderParsing.HeaderKey header, out T? value);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static bool Microsoft.AspNetCore.HeaderParsing.HeaderParsingExtensions.TryGetHeaderValue(this Microsoft.AspNetCore.Http.HttpRequest request, Microsoft.AspNetCore.HeaderParsing.HeaderKey header, out T? value, out Microsoft.AspNetCore.HeaderParsing.ParsingResult result);", - "Stage": "Experimental" + "Stage": "Stable" } ] }, { "Type": "sealed class Microsoft.AspNetCore.HeaderParsing.HeaderParsingFeature", - "Stage": "Experimental", + "Stage": "Stable", "Methods": [ { "Member": "bool Microsoft.AspNetCore.HeaderParsing.HeaderParsingFeature.TryGetHeaderValue(Microsoft.AspNetCore.HeaderParsing.HeaderKey header, out T? value);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "bool Microsoft.AspNetCore.HeaderParsing.HeaderParsingFeature.TryGetHeaderValue(Microsoft.AspNetCore.HeaderParsing.HeaderKey header, out T? value, out Microsoft.AspNetCore.HeaderParsing.ParsingResult result);", - "Stage": "Experimental" + "Stage": "Stable" } ] }, { "Type": "class Microsoft.AspNetCore.HeaderParsing.HeaderParsingOptions", - "Stage": "Experimental", + "Stage": "Stable", "Methods": [ { "Member": "Microsoft.AspNetCore.HeaderParsing.HeaderParsingOptions.HeaderParsingOptions();", - "Stage": "Experimental" + "Stage": "Stable" } ], "Properties": [ { "Member": "int Microsoft.AspNetCore.HeaderParsing.HeaderParsingOptions.DefaultMaxCachedValuesPerHeader { get; set; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "System.Collections.Generic.IDictionary Microsoft.AspNetCore.HeaderParsing.HeaderParsingOptions.DefaultValues { get; set; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "System.Collections.Generic.IDictionary Microsoft.AspNetCore.HeaderParsing.HeaderParsingOptions.MaxCachedValuesPerHeader { get; set; }", - "Stage": "Experimental" + "Stage": "Stable" } ] }, { "Type": "class Microsoft.AspNetCore.HeaderParsing.HeaderSetup where THeader : notnull", - "Stage": "Experimental", + "Stage": "Stable", "Methods": [ { "Member": "Microsoft.AspNetCore.HeaderParsing.HeaderSetup.HeaderSetup(string headerName, System.Type parserType, bool cacheable = false);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "Microsoft.AspNetCore.HeaderParsing.HeaderSetup.HeaderSetup(string headerName, Microsoft.AspNetCore.HeaderParsing.HeaderParser instance, bool cacheable = false);", - "Stage": "Experimental" + "Stage": "Stable" } ], "Properties": [ { "Member": "bool Microsoft.AspNetCore.HeaderParsing.HeaderSetup.Cacheable { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "string Microsoft.AspNetCore.HeaderParsing.HeaderSetup.HeaderName { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "Microsoft.AspNetCore.HeaderParsing.HeaderParser? Microsoft.AspNetCore.HeaderParsing.HeaderSetup.ParserInstance { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "System.Type? Microsoft.AspNetCore.HeaderParsing.HeaderSetup.ParserType { get; }", - "Stage": "Experimental" + "Stage": "Stable" } ] }, { "Type": "readonly struct Microsoft.AspNetCore.HeaderParsing.HostHeaderValue : System.IEquatable", - "Stage": "Experimental", + "Stage": "Stable", "Methods": [ { "Member": "Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.HostHeaderValue(string host, int? port);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.HostHeaderValue();", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "bool Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.Equals(Microsoft.AspNetCore.HeaderParsing.HostHeaderValue other);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "override bool Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.Equals(object? obj);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "override int Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.GetHashCode();", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static bool Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.operator ==(Microsoft.AspNetCore.HeaderParsing.HostHeaderValue left, Microsoft.AspNetCore.HeaderParsing.HostHeaderValue right);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static bool Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.operator !=(Microsoft.AspNetCore.HeaderParsing.HostHeaderValue left, Microsoft.AspNetCore.HeaderParsing.HostHeaderValue right);", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "override string Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.ToString();", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "static bool Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.TryParse(string value, out Microsoft.AspNetCore.HeaderParsing.HostHeaderValue result);", - "Stage": "Experimental" + "Stage": "Stable" } ], "Properties": [ { "Member": "string Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.Host { get; }", - "Stage": "Experimental" + "Stage": "Stable" }, { "Member": "int? Microsoft.AspNetCore.HeaderParsing.HostHeaderValue.Port { get; }", - "Stage": "Experimental" + "Stage": "Stable" } ] }, { "Type": "interface Microsoft.AspNetCore.HeaderParsing.IHeaderRegistry", - "Stage": "Experimental", + "Stage": "Stable", "Methods": [ { "Member": "Microsoft.AspNetCore.HeaderParsing.HeaderKey Microsoft.AspNetCore.HeaderParsing.IHeaderRegistry.Register(Microsoft.AspNetCore.HeaderParsing.HeaderSetup setup);", - "Stage": "Experimental" + "Stage": "Stable" } ] }, { "Type": "enum Microsoft.AspNetCore.HeaderParsing.ParsingResult", - "Stage": "Experimental", + "Stage": "Stable", "Methods": [ { "Member": "Microsoft.AspNetCore.HeaderParsing.ParsingResult.ParsingResult();", - "Stage": "Experimental" + "Stage": "Stable" } ], "Fields": [ { "Member": "const Microsoft.AspNetCore.HeaderParsing.ParsingResult Microsoft.AspNetCore.HeaderParsing.ParsingResult.Error", - "Stage": "Experimental", + "Stage": "Stable", "Value": "1" }, { "Member": "const Microsoft.AspNetCore.HeaderParsing.ParsingResult Microsoft.AspNetCore.HeaderParsing.ParsingResult.NotFound", - "Stage": "Experimental", + "Stage": "Stable", "Value": "2" }, { "Member": "const Microsoft.AspNetCore.HeaderParsing.ParsingResult Microsoft.AspNetCore.HeaderParsing.ParsingResult.Success", - "Stage": "Experimental", + "Stage": "Stable", "Value": "0" } ] diff --git a/src/Libraries/Microsoft.AspNetCore.Telemetry.Middleware/Microsoft.AspNetCore.Telemetry.Middleware.json b/src/Libraries/Microsoft.AspNetCore.Telemetry.Middleware/Microsoft.AspNetCore.Telemetry.Middleware.json index edfae2f4444..96e8ffe236b 100644 --- a/src/Libraries/Microsoft.AspNetCore.Telemetry.Middleware/Microsoft.AspNetCore.Telemetry.Middleware.json +++ b/src/Libraries/Microsoft.AspNetCore.Telemetry.Middleware/Microsoft.AspNetCore.Telemetry.Middleware.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.AspNetCore.Telemetry.Middleware, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.AspNetCore.Telemetry.Middleware, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.AspNetCore.Telemetry.HttpLoggingServiceExtensions", diff --git a/src/Libraries/Microsoft.AspNetCore.Telemetry/Microsoft.AspNetCore.Telemetry.json b/src/Libraries/Microsoft.AspNetCore.Telemetry/Microsoft.AspNetCore.Telemetry.json index 3d6242a3826..f9b8c839258 100644 --- a/src/Libraries/Microsoft.AspNetCore.Telemetry/Microsoft.AspNetCore.Telemetry.json +++ b/src/Libraries/Microsoft.AspNetCore.Telemetry/Microsoft.AspNetCore.Telemetry.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.AspNetCore.Telemetry, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.AspNetCore.Telemetry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.AspNetCore.Telemetry.RequestHeadersEnricherExtensions", diff --git a/src/Libraries/Microsoft.AspNetCore.Testing/Microsoft.AspNetCore.Testing.json b/src/Libraries/Microsoft.AspNetCore.Testing/Microsoft.AspNetCore.Testing.json index 1ee438f9890..5285cb6b180 100644 --- a/src/Libraries/Microsoft.AspNetCore.Testing/Microsoft.AspNetCore.Testing.json +++ b/src/Libraries/Microsoft.AspNetCore.Testing/Microsoft.AspNetCore.Testing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.AspNetCore.Testing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.AspNetCore.Testing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.AspNetCore.Testing.ServiceFakesExtensions", diff --git a/src/Libraries/Microsoft.Extensions.AmbientMetadata.Application/Microsoft.Extensions.AmbientMetadata.Application.json b/src/Libraries/Microsoft.Extensions.AmbientMetadata.Application/Microsoft.Extensions.AmbientMetadata.Application.json index 7fc9607673d..de637091daa 100644 --- a/src/Libraries/Microsoft.Extensions.AmbientMetadata.Application/Microsoft.Extensions.AmbientMetadata.Application.json +++ b/src/Libraries/Microsoft.Extensions.AmbientMetadata.Application/Microsoft.Extensions.AmbientMetadata.Application.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.AmbientMetadata.Application, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AmbientMetadata.Application, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "class Microsoft.Extensions.AmbientMetadata.ApplicationMetadata", diff --git a/src/Libraries/Microsoft.Extensions.AsyncState/Microsoft.Extensions.AsyncState.json b/src/Libraries/Microsoft.Extensions.AsyncState/Microsoft.Extensions.AsyncState.json index 41e649376bb..366e9624900 100644 --- a/src/Libraries/Microsoft.Extensions.AsyncState/Microsoft.Extensions.AsyncState.json +++ b/src/Libraries/Microsoft.Extensions.AsyncState/Microsoft.Extensions.AsyncState.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.AsyncState, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AsyncState, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.AsyncState.AsyncStateExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Classification/DataClassification.cs b/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Classification/DataClassification.cs index 6902fe08433..f5d33b8e162 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Classification/DataClassification.cs +++ b/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Classification/DataClassification.cs @@ -117,7 +117,7 @@ public override int GetHashCode() /// The second classification to combine. /// A new classification object representing the combination of the two input classifications. /// The two classifications aren't part of the same taxonomy. - public static DataClassification Combine(DataClassification left, DataClassification right) + public static DataClassification Or(DataClassification left, DataClassification right) { if (string.IsNullOrEmpty(left.TaxonomyName)) { @@ -146,7 +146,7 @@ public static DataClassification Combine(DataClassification left, DataClassifica [SuppressMessage("Usage", "CA2225:Operator overloads have named alternates", Justification = "It's called Combine")] public static DataClassification operator |(DataClassification left, DataClassification right) { - return Combine(left, right); + return Or(left, right); } /// diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Microsoft.Extensions.Compliance.Abstractions.json b/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Microsoft.Extensions.Compliance.Abstractions.json index 8471fda6643..eabca6e93b7 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Microsoft.Extensions.Compliance.Abstractions.json +++ b/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Microsoft.Extensions.Compliance.Abstractions.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Compliance.Abstractions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Compliance.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "readonly struct Microsoft.Extensions.Compliance.Classification.DataClassification : System.IEquatable", @@ -13,10 +13,6 @@ "Member": "Microsoft.Extensions.Compliance.Classification.DataClassification.DataClassification();", "Stage": "Stable" }, - { - "Member": "static Microsoft.Extensions.Compliance.Classification.DataClassification Microsoft.Extensions.Compliance.Classification.DataClassification.Combine(Microsoft.Extensions.Compliance.Classification.DataClassification left, Microsoft.Extensions.Compliance.Classification.DataClassification right);", - "Stage": "Stable" - }, { "Member": "override bool Microsoft.Extensions.Compliance.Classification.DataClassification.Equals(object? obj);", "Stage": "Stable" @@ -41,6 +37,10 @@ "Member": "static bool Microsoft.Extensions.Compliance.Classification.DataClassification.operator !=(Microsoft.Extensions.Compliance.Classification.DataClassification left, Microsoft.Extensions.Compliance.Classification.DataClassification right);", "Stage": "Stable" }, + { + "Member": "static Microsoft.Extensions.Compliance.Classification.DataClassification Microsoft.Extensions.Compliance.Classification.DataClassification.Or(Microsoft.Extensions.Compliance.Classification.DataClassification left, Microsoft.Extensions.Compliance.Classification.DataClassification right);", + "Stage": "Stable" + }, { "Member": "override string Microsoft.Extensions.Compliance.Classification.DataClassification.ToString();", "Stage": "Stable" diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Redaction/Microsoft.Extensions.Compliance.Redaction.json b/src/Libraries/Microsoft.Extensions.Compliance.Redaction/Microsoft.Extensions.Compliance.Redaction.json index 305621aee96..15c3e89edbd 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Redaction/Microsoft.Extensions.Compliance.Redaction.json +++ b/src/Libraries/Microsoft.Extensions.Compliance.Redaction/Microsoft.Extensions.Compliance.Redaction.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Compliance.Redaction, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Compliance.Redaction, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.Compliance.Redaction.ErasingRedactor : Microsoft.Extensions.Compliance.Redaction.Redactor", diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Testing/Attributes/PrivateDataAttribute.cs b/src/Libraries/Microsoft.Extensions.Compliance.Testing/Attributes/PrivateDataAttribute.cs index 843b980a00b..a68930d1477 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Testing/Attributes/PrivateDataAttribute.cs +++ b/src/Libraries/Microsoft.Extensions.Compliance.Testing/Attributes/PrivateDataAttribute.cs @@ -14,7 +14,7 @@ public sealed class PrivateDataAttribute : DataClassificationAttribute /// Initializes a new instance of the class. /// public PrivateDataAttribute() - : base(SimpleClassifications.PrivateData) + : base(FakeClassifications.PrivateData) { } } diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Testing/Attributes/PublicDataAttribute.cs b/src/Libraries/Microsoft.Extensions.Compliance.Testing/Attributes/PublicDataAttribute.cs index 8d1b0aef535..f98af6bc477 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Testing/Attributes/PublicDataAttribute.cs +++ b/src/Libraries/Microsoft.Extensions.Compliance.Testing/Attributes/PublicDataAttribute.cs @@ -14,7 +14,7 @@ public sealed class PublicDataAttribute : DataClassificationAttribute /// Initializes a new instance of the class. /// public PublicDataAttribute() - : base(SimpleClassifications.PublicData) + : base(FakeClassifications.PublicData) { } } diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Testing/SimpleClassifications.cs b/src/Libraries/Microsoft.Extensions.Compliance.Testing/FakeClassifications.cs similarity index 77% rename from src/Libraries/Microsoft.Extensions.Compliance.Testing/SimpleClassifications.cs rename to src/Libraries/Microsoft.Extensions.Compliance.Testing/FakeClassifications.cs index 4f1375514ac..75e2488d466 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Testing/SimpleClassifications.cs +++ b/src/Libraries/Microsoft.Extensions.Compliance.Testing/FakeClassifications.cs @@ -8,20 +8,20 @@ namespace Microsoft.Extensions.Compliance.Testing; /// /// Simple data classifications. /// -public static class SimpleClassifications +public static class FakeClassifications { /// /// Gets the name of this classification taxonomy. /// - public static string TaxonomyName => typeof(SimpleTaxonomy).FullName!; + public static string TaxonomyName => typeof(FakeTaxonomy).FullName!; /// /// Gets the private data classification. /// - public static DataClassification PrivateData => new(TaxonomyName, (ulong)SimpleTaxonomy.PrivateData); + public static DataClassification PrivateData => new(TaxonomyName, (ulong)FakeTaxonomy.PrivateData); /// /// Gets the public data classification. /// - public static DataClassification PublicData => new(TaxonomyName, (ulong)SimpleTaxonomy.PublicData); + public static DataClassification PublicData => new(TaxonomyName, (ulong)FakeTaxonomy.PublicData); } diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Testing/SimpleTaxonomy.cs b/src/Libraries/Microsoft.Extensions.Compliance.Testing/FakeTaxonomy.cs similarity index 95% rename from src/Libraries/Microsoft.Extensions.Compliance.Testing/SimpleTaxonomy.cs rename to src/Libraries/Microsoft.Extensions.Compliance.Testing/FakeTaxonomy.cs index 22484630715..83d5f8741df 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Testing/SimpleTaxonomy.cs +++ b/src/Libraries/Microsoft.Extensions.Compliance.Testing/FakeTaxonomy.cs @@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Compliance.Testing; /// Classes of data used for simple scenarios. /// [Flags] -public enum SimpleTaxonomy : ulong +public enum FakeTaxonomy : ulong { /// /// No data classification. diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Testing/SimpleTaxonomyExtensions.cs b/src/Libraries/Microsoft.Extensions.Compliance.Testing/FakeTaxonomyExtensions.cs similarity index 72% rename from src/Libraries/Microsoft.Extensions.Compliance.Testing/SimpleTaxonomyExtensions.cs rename to src/Libraries/Microsoft.Extensions.Compliance.Testing/FakeTaxonomyExtensions.cs index 9ccf0579987..6171e7c8f71 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Testing/SimpleTaxonomyExtensions.cs +++ b/src/Libraries/Microsoft.Extensions.Compliance.Testing/FakeTaxonomyExtensions.cs @@ -10,20 +10,20 @@ namespace Microsoft.Extensions.Compliance.Testing; /// /// Extensions for working with the simple data classification taxonomy. /// -public static class SimpleTaxonomyExtensions +public static class FakeTaxonomyExtensions { /// /// Gets the taxonomy value associated with a particular data classification. /// /// The data classification of interest. /// The resulting taxonomy value for the given data classification. - public static SimpleTaxonomy AsSimpleTaxonomy(this DataClassification classification) + public static FakeTaxonomy AsFakeTaxonomy(this DataClassification classification) { - if (classification.TaxonomyName != SimpleClassifications.TaxonomyName && !string.IsNullOrEmpty(classification.TaxonomyName)) + if (classification.TaxonomyName != FakeClassifications.TaxonomyName && !string.IsNullOrEmpty(classification.TaxonomyName)) { Throw.ArgumentException(nameof(classification), $"Unknown data taxonomy: {classification.TaxonomyName}"); } - return (SimpleTaxonomy)classification.Value; + return (FakeTaxonomy)classification.Value; } } diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Testing/Microsoft.Extensions.Compliance.Testing.json b/src/Libraries/Microsoft.Extensions.Compliance.Testing/Microsoft.Extensions.Compliance.Testing.json index 6d566414da7..2b8a26274b9 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Testing/Microsoft.Extensions.Compliance.Testing.json +++ b/src/Libraries/Microsoft.Extensions.Compliance.Testing/Microsoft.Extensions.Compliance.Testing.json @@ -1,6 +1,24 @@ { - "Name": "Microsoft.Extensions.Compliance.Testing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Compliance.Testing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ + { + "Type": "static class Microsoft.Extensions.Compliance.Testing.FakeClassifications", + "Stage": "Stable", + "Properties": [ + { + "Member": "static Microsoft.Extensions.Compliance.Classification.DataClassification Microsoft.Extensions.Compliance.Testing.FakeClassifications.PrivateData { get; }", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.Compliance.Classification.DataClassification Microsoft.Extensions.Compliance.Testing.FakeClassifications.PublicData { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.Compliance.Testing.FakeClassifications.TaxonomyName { get; }", + "Stage": "Stable" + } + ] + }, { "Type": "class Microsoft.Extensions.Compliance.Testing.FakeRedactionCollector", "Stage": "Stable", @@ -123,6 +141,48 @@ } ] }, + { + "Type": "enum Microsoft.Extensions.Compliance.Testing.FakeTaxonomy : ulong", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.Compliance.Testing.FakeTaxonomy.FakeTaxonomy();", + "Stage": "Stable" + } + ], + "Fields": [ + { + "Member": "const Microsoft.Extensions.Compliance.Testing.FakeTaxonomy Microsoft.Extensions.Compliance.Testing.FakeTaxonomy.None", + "Stage": "Stable", + "Value": "0" + }, + { + "Member": "const Microsoft.Extensions.Compliance.Testing.FakeTaxonomy Microsoft.Extensions.Compliance.Testing.FakeTaxonomy.PrivateData", + "Stage": "Stable", + "Value": "2" + }, + { + "Member": "const Microsoft.Extensions.Compliance.Testing.FakeTaxonomy Microsoft.Extensions.Compliance.Testing.FakeTaxonomy.PublicData", + "Stage": "Stable", + "Value": "1" + }, + { + "Member": "const Microsoft.Extensions.Compliance.Testing.FakeTaxonomy Microsoft.Extensions.Compliance.Testing.FakeTaxonomy.Unknown", + "Stage": "Stable", + "Value": "9223372036854775808" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.Compliance.Testing.FakeTaxonomyExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static Microsoft.Extensions.Compliance.Testing.FakeTaxonomy Microsoft.Extensions.Compliance.Testing.FakeTaxonomyExtensions.AsFakeTaxonomy(this Microsoft.Extensions.Compliance.Classification.DataClassification classification);", + "Stage": "Stable" + } + ] + }, { "Type": "sealed class Microsoft.Extensions.Compliance.Testing.PrivateDataAttribute : Microsoft.Extensions.Compliance.Classification.DataClassificationAttribute", "Stage": "Stable", @@ -234,66 +294,6 @@ "Stage": "Stable" } ] - }, - { - "Type": "static class Microsoft.Extensions.Compliance.Testing.SimpleClassifications", - "Stage": "Stable", - "Properties": [ - { - "Member": "static Microsoft.Extensions.Compliance.Classification.DataClassification Microsoft.Extensions.Compliance.Testing.SimpleClassifications.PrivateData { get; }", - "Stage": "Stable" - }, - { - "Member": "static Microsoft.Extensions.Compliance.Classification.DataClassification Microsoft.Extensions.Compliance.Testing.SimpleClassifications.PublicData { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.Compliance.Testing.SimpleClassifications.TaxonomyName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "enum Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy : ulong", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy.SimpleTaxonomy();", - "Stage": "Stable" - } - ], - "Fields": [ - { - "Member": "const Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy.None", - "Stage": "Stable", - "Value": "0" - }, - { - "Member": "const Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy.PrivateData", - "Stage": "Stable", - "Value": "2" - }, - { - "Member": "const Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy.PublicData", - "Stage": "Stable", - "Value": "1" - }, - { - "Member": "const Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy.Unknown", - "Stage": "Stable", - "Value": "9223372036854775808" - } - ] - }, - { - "Type": "static class Microsoft.Extensions.Compliance.Testing.SimpleTaxonomyExtensions", - "Stage": "Stable", - "Methods": [ - { - "Member": "static Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy Microsoft.Extensions.Compliance.Testing.SimpleTaxonomyExtensions.AsSimpleTaxonomy(this Microsoft.Extensions.Compliance.Classification.DataClassification classification);", - "Stage": "Stable" - } - ] } ] } \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.DependencyInjection.AutoActivation/Microsoft.Extensions.DependencyInjection.AutoActivation.json b/src/Libraries/Microsoft.Extensions.DependencyInjection.AutoActivation/Microsoft.Extensions.DependencyInjection.AutoActivation.json index 00a7cb8078b..4ed10397792 100644 --- a/src/Libraries/Microsoft.Extensions.DependencyInjection.AutoActivation/Microsoft.Extensions.DependencyInjection.AutoActivation.json +++ b/src/Libraries/Microsoft.Extensions.DependencyInjection.AutoActivation/Microsoft.Extensions.DependencyInjection.AutoActivation.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.DependencyInjection.AutoActivation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.DependencyInjection.AutoActivation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.AutoActivationExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ExceptionSummarization/Microsoft.Extensions.Diagnostics.ExceptionSummarization.json b/src/Libraries/Microsoft.Extensions.Diagnostics.ExceptionSummarization/Microsoft.Extensions.Diagnostics.ExceptionSummarization.json index 23fe96eac46..e16a5b97ac6 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ExceptionSummarization/Microsoft.Extensions.Diagnostics.ExceptionSummarization.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ExceptionSummarization/Microsoft.Extensions.Diagnostics.ExceptionSummarization.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Diagnostics.ExceptionSummarization, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.ExceptionSummarization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.Diagnostics.ExceptionSummarization.ExceptionSummarizationExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.Common/Microsoft.Extensions.Diagnostics.HealthChecks.Common.json b/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.Common/Microsoft.Extensions.Diagnostics.HealthChecks.Common.json index 08906d99688..fec01235911 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.Common/Microsoft.Extensions.Diagnostics.HealthChecks.Common.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.Common/Microsoft.Extensions.Diagnostics.HealthChecks.Common.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Diagnostics.HealthChecks.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.HealthChecks.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.Diagnostics.HealthChecks.CommonHealthChecksExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization.json b/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization.json index 2e46993d643..9ff3d94daec 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "class Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUsageThresholds", diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Kubernetes/KubernetesProbesOptions.EndpointOptions.cs b/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Kubernetes/KubernetesProbesOptions.EndpointOptions.cs index c2846d2cdef..43bb7bec48f 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Kubernetes/KubernetesProbesOptions.EndpointOptions.cs +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Kubernetes/KubernetesProbesOptions.EndpointOptions.cs @@ -46,7 +46,7 @@ public class EndpointOptions /// The default value is 30 seconds. /// [TimeSpan("00:00:05", "00:05:00")] - public TimeSpan Period { get; set; } = TimeSpan.FromSeconds(30); + public TimeSpan HealthAssessmentPeriod { get; set; } = TimeSpan.FromSeconds(30); /// /// Gets or sets a predicate that is used to include health checks based on user-defined criteria. diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Kubernetes/TcpEndpointHealthCheckService.cs b/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Kubernetes/TcpEndpointHealthCheckService.cs index ffdf744e723..77905ee0bfa 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Kubernetes/TcpEndpointHealthCheckService.cs +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Kubernetes/TcpEndpointHealthCheckService.cs @@ -72,7 +72,7 @@ protected async override Task ExecuteAsync(CancellationToken stoppingToken) while (!stoppingToken.IsCancellationRequested) { await UpdateHealthStatusAsync(stoppingToken).ConfigureAwait(false); - await TimeProvider.Delay(_options.Period, stoppingToken).ConfigureAwait(false); + await TimeProvider.Delay(_options.HealthAssessmentPeriod, stoppingToken).ConfigureAwait(false); } _listener.Stop(); diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Microsoft.Extensions.Diagnostics.Probes.json b/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Microsoft.Extensions.Diagnostics.Probes.json index 10ac7ebfd8d..6b6a8e7f6b8 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Microsoft.Extensions.Diagnostics.Probes.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Microsoft.Extensions.Diagnostics.Probes.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Diagnostics.Probes, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.Probes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "class Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions", @@ -16,11 +16,11 @@ "Stage": "Experimental" }, { - "Member": "int Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions.MaxPendingConnections { get; set; }", + "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions.HealthAssessmentPeriod { get; set; }", "Stage": "Experimental" }, { - "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions.Period { get; set; }", + "Member": "int Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions.MaxPendingConnections { get; set; }", "Stage": "Experimental" }, { diff --git a/src/Libraries/Microsoft.Extensions.EnumStrings/Microsoft.Extensions.EnumStrings.json b/src/Libraries/Microsoft.Extensions.EnumStrings/Microsoft.Extensions.EnumStrings.json index 1561520fc51..5337cecb463 100644 --- a/src/Libraries/Microsoft.Extensions.EnumStrings/Microsoft.Extensions.EnumStrings.json +++ b/src/Libraries/Microsoft.Extensions.EnumStrings/Microsoft.Extensions.EnumStrings.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.EnumStrings, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.EnumStrings, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.EnumStrings.EnumStringsAttribute : System.Attribute", diff --git a/src/Libraries/Microsoft.Extensions.Hosting.Testing/Microsoft.Extensions.Hosting.Testing.json b/src/Libraries/Microsoft.Extensions.Hosting.Testing/Microsoft.Extensions.Hosting.Testing.json index 3ca6678745c..5441aae5173 100644 --- a/src/Libraries/Microsoft.Extensions.Hosting.Testing/Microsoft.Extensions.Hosting.Testing.json +++ b/src/Libraries/Microsoft.Extensions.Hosting.Testing/Microsoft.Extensions.Hosting.Testing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Hosting.Testing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Hosting.Testing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.Hosting.Testing.FakeHost : Microsoft.Extensions.Hosting.IHost, System.IDisposable", diff --git a/src/Libraries/Microsoft.Extensions.Http.AutoClient/AutoClientException.cs b/src/Libraries/Microsoft.Extensions.Http.AutoClient/AutoClientException.cs index 3e814a22c42..54d18e55ad9 100644 --- a/src/Libraries/Microsoft.Extensions.Http.AutoClient/AutoClientException.cs +++ b/src/Libraries/Microsoft.Extensions.Http.AutoClient/AutoClientException.cs @@ -50,10 +50,24 @@ public class AutoClientException : Exception /// The exception message. /// The path of the request. /// The HTTP error details. - public AutoClientException(string? message, string path, AutoClientHttpError? error = null) + public AutoClientException(string message, string path, AutoClientHttpError? error = null) : base(message) { Path = Throw.IfNull(path); HttpError = error; } + + /// + /// Initializes a new instance of the class. + /// + /// The exception message. + /// The exception that is the cause of the current exception. + /// The path of the request. + /// The HTTP error details. + public AutoClientException(string message, Exception innerException, string path, AutoClientHttpError? error = null) + : base(message, innerException) + { + Path = Throw.IfNull(path); + HttpError = error; + } } diff --git a/src/Libraries/Microsoft.Extensions.Http.AutoClient/Microsoft.Extensions.Http.AutoClient.json b/src/Libraries/Microsoft.Extensions.Http.AutoClient/Microsoft.Extensions.Http.AutoClient.json index ef9465721d7..4c06dd4b296 100644 --- a/src/Libraries/Microsoft.Extensions.Http.AutoClient/Microsoft.Extensions.Http.AutoClient.json +++ b/src/Libraries/Microsoft.Extensions.Http.AutoClient/Microsoft.Extensions.Http.AutoClient.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Http.AutoClient, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Http.AutoClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.Http.AutoClient.AutoClientAttribute : System.Attribute", @@ -30,7 +30,11 @@ "Stage": "Stable", "Methods": [ { - "Member": "Microsoft.Extensions.Http.AutoClient.AutoClientException.AutoClientException(string? message, string path, Microsoft.Extensions.Http.AutoClient.AutoClientHttpError? error = null);", + "Member": "Microsoft.Extensions.Http.AutoClient.AutoClientException.AutoClientException(string message, string path, Microsoft.Extensions.Http.AutoClient.AutoClientHttpError? error = null);", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.Http.AutoClient.AutoClientException.AutoClientException(string message, System.Exception innerException, string path, Microsoft.Extensions.Http.AutoClient.AutoClientHttpError? error = null);", "Stage": "Stable" } ], diff --git a/src/Libraries/Microsoft.Extensions.Http.Resilience/Microsoft.Extensions.Http.Resilience.json b/src/Libraries/Microsoft.Extensions.Http.Resilience/Microsoft.Extensions.Http.Resilience.json index bc951d76516..089d60e0f74 100644 --- a/src/Libraries/Microsoft.Extensions.Http.Resilience/Microsoft.Extensions.Http.Resilience.json +++ b/src/Libraries/Microsoft.Extensions.Http.Resilience/Microsoft.Extensions.Http.Resilience.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Http.Resilience, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Http.Resilience, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.Http.Resilience.FaultInjection.ContextExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Http.Resilience/Routing/EndpointGroup.cs b/src/Libraries/Microsoft.Extensions.Http.Resilience/Routing/EndpointGroup.cs index 2c95550db07..815207832ab 100644 --- a/src/Libraries/Microsoft.Extensions.Http.Resilience/Routing/EndpointGroup.cs +++ b/src/Libraries/Microsoft.Extensions.Http.Resilience/Routing/EndpointGroup.cs @@ -21,7 +21,11 @@ public class EndpointGroup /// #pragma warning disable CA2227 // Collection properties should be read only #pragma warning disable IL2026 // Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code +#if NET8_0_OR_GREATER + [System.ComponentModel.DataAnnotations.Length(1, int.MaxValue)] +#else [Microsoft.Shared.Data.Validation.Length(1)] +#endif [ValidateEnumeratedItems] public IList Endpoints { get; set; } = new List(); #pragma warning restore IL2026 // Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code diff --git a/src/Libraries/Microsoft.Extensions.Http.Telemetry/Logging/LoggingOptions.cs b/src/Libraries/Microsoft.Extensions.Http.Telemetry/Logging/LoggingOptions.cs index 287304c2da4..2003880e22e 100644 --- a/src/Libraries/Microsoft.Extensions.Http.Telemetry/Logging/LoggingOptions.cs +++ b/src/Libraries/Microsoft.Extensions.Http.Telemetry/Logging/LoggingOptions.cs @@ -139,8 +139,10 @@ public class LoggingOptions public HttpRouteParameterRedactionMode RequestPathParameterRedactionMode { get; set; } = DefaultPathParameterRedactionMode; /// - /// Gets the route parameters to redact with their corresponding data classes to apply appropriate redaction. + /// Gets or sets the route parameters to redact with their corresponding data classes to apply appropriate redaction. /// [Required] - public IDictionary RouteParameterDataClasses { get; } = new Dictionary(); + [SuppressMessage("Usage", "CA2227:Collection properties should be read only", + Justification = "Options pattern.")] + public IDictionary RouteParameterDataClasses { get; set; } = new Dictionary(); } diff --git a/src/Libraries/Microsoft.Extensions.Http.Telemetry/Microsoft.Extensions.Http.Telemetry.json b/src/Libraries/Microsoft.Extensions.Http.Telemetry/Microsoft.Extensions.Http.Telemetry.json index f6b0e9b97a8..57b234ef7a2 100644 --- a/src/Libraries/Microsoft.Extensions.Http.Telemetry/Microsoft.Extensions.Http.Telemetry.json +++ b/src/Libraries/Microsoft.Extensions.Http.Telemetry/Microsoft.Extensions.Http.Telemetry.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Http.Telemetry, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Http.Telemetry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.Http.Telemetry.Latency.HttpClientLatencyTelemetryExtensions", @@ -187,7 +187,7 @@ "Stage": "Stable" }, { - "Member": "System.Collections.Generic.IDictionary Microsoft.Extensions.Http.Telemetry.Logging.LoggingOptions.RouteParameterDataClasses { get; }", + "Member": "System.Collections.Generic.IDictionary Microsoft.Extensions.Http.Telemetry.Logging.LoggingOptions.RouteParameterDataClasses { get; set; }", "Stage": "Stable" } ] diff --git a/src/Libraries/Microsoft.Extensions.ObjectPool.DependencyInjection/Microsoft.Extensions.ObjectPool.DependencyInjection.json b/src/Libraries/Microsoft.Extensions.ObjectPool.DependencyInjection/Microsoft.Extensions.ObjectPool.DependencyInjection.json index cbac16cff2d..4937e76101e 100644 --- a/src/Libraries/Microsoft.Extensions.ObjectPool.DependencyInjection/Microsoft.Extensions.ObjectPool.DependencyInjection.json +++ b/src/Libraries/Microsoft.Extensions.ObjectPool.DependencyInjection/Microsoft.Extensions.ObjectPool.DependencyInjection.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.ObjectPool.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.ObjectPool.DependencyInjection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.ObjectPool.DependencyInjectionPoolOptions", diff --git a/src/Libraries/Microsoft.Extensions.Options.Contextual/Microsoft.Extensions.Options.Contextual.json b/src/Libraries/Microsoft.Extensions.Options.Contextual/Microsoft.Extensions.Options.Contextual.json index bd7d0feaece..f7f668ae206 100644 --- a/src/Libraries/Microsoft.Extensions.Options.Contextual/Microsoft.Extensions.Options.Contextual.json +++ b/src/Libraries/Microsoft.Extensions.Options.Contextual/Microsoft.Extensions.Options.Contextual.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Options.Contextual, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Options.Contextual, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.Options.Contextual.ContextualOptionsServiceCollectionExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json b/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json index 61a53c6836f..aa02b71c516 100644 --- a/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json +++ b/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Resilience, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Resilience, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "class Microsoft.Extensions.Resilience.FaultInjection.ChaosPolicyOptionsBase", diff --git a/src/Libraries/Microsoft.Extensions.Telemetry.Testing/Microsoft.Extensions.Telemetry.Testing.json b/src/Libraries/Microsoft.Extensions.Telemetry.Testing/Microsoft.Extensions.Telemetry.Testing.json index ccc93e143bc..cc9dfbd48fc 100644 --- a/src/Libraries/Microsoft.Extensions.Telemetry.Testing/Microsoft.Extensions.Telemetry.Testing.json +++ b/src/Libraries/Microsoft.Extensions.Telemetry.Testing/Microsoft.Extensions.Telemetry.Testing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Telemetry.Testing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Telemetry.Testing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.Telemetry.Testing.Metrics.CollectedMeasurement where T : struct", diff --git a/src/Libraries/Microsoft.Extensions.Telemetry/Microsoft.Extensions.Telemetry.csproj b/src/Libraries/Microsoft.Extensions.Telemetry/Microsoft.Extensions.Telemetry.csproj index e97369b2fad..3a63ca68dbf 100644 --- a/src/Libraries/Microsoft.Extensions.Telemetry/Microsoft.Extensions.Telemetry.csproj +++ b/src/Libraries/Microsoft.Extensions.Telemetry/Microsoft.Extensions.Telemetry.csproj @@ -54,4 +54,8 @@ + + + + diff --git a/src/Libraries/Microsoft.Extensions.Telemetry/Microsoft.Extensions.Telemetry.json b/src/Libraries/Microsoft.Extensions.Telemetry/Microsoft.Extensions.Telemetry.json index c24fb939eb4..fc528740ac7 100644 --- a/src/Libraries/Microsoft.Extensions.Telemetry/Microsoft.Extensions.Telemetry.json +++ b/src/Libraries/Microsoft.Extensions.Telemetry/Microsoft.Extensions.Telemetry.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Telemetry, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Telemetry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.Telemetry.Latency.LatencyConsoleExtensions", @@ -189,57 +189,6 @@ } ] }, - { - "Type": "enum Microsoft.Extensions.Telemetry.Tracing.SamplerType", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.Telemetry.Tracing.SamplerType.SamplerType();", - "Stage": "Stable" - } - ], - "Fields": [ - { - "Member": "const Microsoft.Extensions.Telemetry.Tracing.SamplerType Microsoft.Extensions.Telemetry.Tracing.SamplerType.AlwaysOff", - "Stage": "Stable", - "Value": "1" - }, - { - "Member": "const Microsoft.Extensions.Telemetry.Tracing.SamplerType Microsoft.Extensions.Telemetry.Tracing.SamplerType.AlwaysOn", - "Stage": "Stable", - "Value": "0" - }, - { - "Member": "const Microsoft.Extensions.Telemetry.Tracing.SamplerType Microsoft.Extensions.Telemetry.Tracing.SamplerType.RatioBased", - "Stage": "Stable", - "Value": "2" - } - ] - }, - { - "Type": "class Microsoft.Extensions.Telemetry.Tracing.SamplingOptions", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.Telemetry.Tracing.SamplingOptions.SamplingOptions();", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "bool Microsoft.Extensions.Telemetry.Tracing.SamplingOptions.ParentBased { get; set; }", - "Stage": "Stable" - }, - { - "Member": "double Microsoft.Extensions.Telemetry.Tracing.SamplingOptions.SampleRate { get; set; }", - "Stage": "Stable" - }, - { - "Member": "Microsoft.Extensions.Telemetry.Tracing.SamplerType Microsoft.Extensions.Telemetry.Tracing.SamplingOptions.SamplerType { get; set; }", - "Stage": "Stable" - } - ] - }, { "Type": "static class Microsoft.Extensions.Telemetry.Enrichment.ServiceEnricherExtensions", "Stage": "Stable", diff --git a/src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/Internal/SamplingOptionsAutoValidator.cs b/src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/Internal/SamplingOptionsAutoValidator.cs deleted file mode 100644 index 6ad25eb2e93..00000000000 --- a/src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/Internal/SamplingOptionsAutoValidator.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Microsoft.Extensions.Options; - -namespace Microsoft.Extensions.Telemetry.Tracing.Internal; - -[OptionsValidator] -internal sealed partial class SamplingOptionsAutoValidator : IValidateOptions -{ -} diff --git a/src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/SamplerType.cs b/src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/SamplerType.cs deleted file mode 100644 index c359a2ada1e..00000000000 --- a/src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/SamplerType.cs +++ /dev/null @@ -1,25 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.Extensions.Telemetry.Tracing; - -/// -/// Sampler type. -/// -public enum SamplerType -{ - /// - /// Always samples traces. - /// - AlwaysOn, - - /// - /// Never samples traces. - /// - AlwaysOff, - - /// - /// Samples traces according to the specified probability. - /// - RatioBased -} diff --git a/src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/SamplingOptions.cs b/src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/SamplingOptions.cs deleted file mode 100644 index 84841018970..00000000000 --- a/src/Libraries/Microsoft.Extensions.Telemetry/Tracing.Sampling/SamplingOptions.cs +++ /dev/null @@ -1,38 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.ComponentModel.DataAnnotations; - -namespace Microsoft.Extensions.Telemetry.Tracing; - -/// -/// Options for sampling. -/// -public class SamplingOptions -{ - /// - /// Gets or sets a value indicating whether to use parent-based sampling. - /// - /// - /// Defaults to . - /// - public bool ParentBased { get; set; } - - /// - /// Gets or sets the type of sampler to be used for making sampling decision for root activity. - /// - /// - /// Defaults to the sampler. - /// - [EnumDataType(typeof(SamplerType))] - public SamplerType SamplerType { get; set; } = SamplerType.AlwaysOn; - - /// - /// Gets or sets the desired probability of sampling when using samplers. - /// - /// - /// Valid values are in the range from 0 to 1, inclusive. Defaults to 1. - /// - [Range(0.0, 1.0)] - public double SampleRate { get; set; } = 1.0; -} diff --git a/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/Microsoft.Extensions.TimeProvider.Testing.json b/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/Microsoft.Extensions.TimeProvider.Testing.json index 67ad954c41e..b1c5d11adc2 100644 --- a/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/Microsoft.Extensions.TimeProvider.Testing.json +++ b/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/Microsoft.Extensions.TimeProvider.Testing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.TimeProvider.Testing, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.TimeProvider.Testing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "class Microsoft.Extensions.Time.Testing.FakeTimeProvider : System.TimeProvider", diff --git a/test/Libraries/Microsoft.AspNetCore.Telemetry.Tests/Enrichment.RequestHeaders.Tests/RequestHeadersEnricherTests.cs b/test/Libraries/Microsoft.AspNetCore.Telemetry.Tests/Enrichment.RequestHeaders.Tests/RequestHeadersEnricherTests.cs index fced3e4bd02..236bd8c239c 100644 --- a/test/Libraries/Microsoft.AspNetCore.Telemetry.Tests/Enrichment.RequestHeaders.Tests/RequestHeadersEnricherTests.cs +++ b/test/Libraries/Microsoft.AspNetCore.Telemetry.Tests/Enrichment.RequestHeaders.Tests/RequestHeadersEnricherTests.cs @@ -78,15 +78,15 @@ public void RequestHeadersEnricher_GivenEnricherOptions_HeaderKeysDataClasses_En { HeadersDataClasses = new Dictionary { - { HeaderKey1, SimpleClassifications.PrivateData }, - { HeaderKey4, SimpleClassifications.PublicData } + { HeaderKey1, FakeClassifications.PrivateData }, + { HeaderKey4, FakeClassifications.PublicData } } }; Mock redactorProviderMock = new Mock(); - redactorProviderMock.Setup(x => x.GetRedactor(SimpleClassifications.PublicData)) + redactorProviderMock.Setup(x => x.GetRedactor(FakeClassifications.PublicData)) .Returns(new FakeRedactor()); - redactorProviderMock.Setup(x => x.GetRedactor(SimpleClassifications.PrivateData)) + redactorProviderMock.Setup(x => x.GetRedactor(FakeClassifications.PrivateData)) .Returns(FakeRedactor.Create(new FakeRedactorOptions { RedactionFormat = "redacted:{0}" })); var enricher = new RequestHeadersLogEnricher(_accessorMock.Object, options.ToOptions(), redactorProviderMock.Object); @@ -111,13 +111,13 @@ public void RequestHeadersEnricher_GivenEnricherOptions_OneHeaderValueIsEmpty_He { HeadersDataClasses = new Dictionary { - { HeaderKey1, SimpleClassifications.PrivateData }, - { HeaderKey2, SimpleClassifications.PublicData } + { HeaderKey1, FakeClassifications.PrivateData }, + { HeaderKey2, FakeClassifications.PublicData } } }; Mock redactorProviderMock = new Mock(); - redactorProviderMock.Setup(x => x.GetRedactor(SimpleClassifications.PrivateData)) + redactorProviderMock.Setup(x => x.GetRedactor(FakeClassifications.PrivateData)) .Returns(FakeRedactor.Create(new FakeRedactorOptions { RedactionFormat = "REDACTED:{0}" })); var enricher = new RequestHeadersLogEnricher(_accessorMock.Object, options.ToOptions(), redactorProviderMock.Object); @@ -141,8 +141,8 @@ public void RequestHeadersEnricher_GivenEnricherOptions_OneHeaderValueIsNull_Hea { HeadersDataClasses = new Dictionary { - { HeaderKey1, SimpleClassifications.PublicData }, - { HeaderKey3, SimpleClassifications.PublicData } + { HeaderKey1, FakeClassifications.PublicData }, + { HeaderKey3, FakeClassifications.PublicData } } }; var enricher = new RequestHeadersLogEnricher(_accessorMock.Object, options.ToOptions(), _redactorProviderMock.Object); @@ -168,8 +168,8 @@ public void RequestHeadersEnricher_GivenEnricherOptions_OneHeaderValueIsMissing_ { HeadersDataClasses = new Dictionary { - { HeaderKey1, SimpleClassifications.PublicData }, - { headerKey2, SimpleClassifications.PublicData } + { HeaderKey1, FakeClassifications.PublicData }, + { headerKey2, FakeClassifications.PublicData } } }; var enricher = new RequestHeadersLogEnricher(_accessorMock.Object, options.ToOptions(), _redactorProviderMock.Object); @@ -193,7 +193,7 @@ public void RequestHeadersEnricher_GivenNullHttpContext_HeaderKeysDataClasses_Do { HeadersDataClasses = new Dictionary { - { HeaderKey1, SimpleClassifications.PublicData } + { HeaderKey1, FakeClassifications.PublicData } } }; @@ -220,7 +220,7 @@ public void RequestHeadersEnricher_GivenNullRequest_HeaderKeysDataClasses_DoesNo { HeadersDataClasses = new Dictionary { - { HeaderKey1, SimpleClassifications.PublicData } + { HeaderKey1, FakeClassifications.PublicData } } }; diff --git a/test/Libraries/Microsoft.AspNetCore.Telemetry.Tests/Telemetry.Internal.Http/IncomingHttpRouteUtilityTests.cs b/test/Libraries/Microsoft.AspNetCore.Telemetry.Tests/Telemetry.Internal.Http/IncomingHttpRouteUtilityTests.cs index fe50ef57214..e33c65e0191 100644 --- a/test/Libraries/Microsoft.AspNetCore.Telemetry.Tests/Telemetry.Internal.Http/IncomingHttpRouteUtilityTests.cs +++ b/test/Libraries/Microsoft.AspNetCore.Telemetry.Tests/Telemetry.Internal.Http/IncomingHttpRouteUtilityTests.cs @@ -57,7 +57,7 @@ public void GetSensitiveParameter_OneParameterWithDataClassAttrib_ReturnsSensiti var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, new Dictionary(StringComparer.Ordinal)); Assert.Single(sensitiveParameters); Assert.True(sensitiveParameters.ContainsKey("userId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); } [Fact] @@ -95,9 +95,9 @@ public void GetSensitiveParameter_MoreThanOneParameterWithDataClassAttrib_Return var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, new Dictionary(StringComparer.Ordinal)); Assert.Equal(2, sensitiveParameters.Count); Assert.True(sensitiveParameters.ContainsKey("userId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); Assert.True(sensitiveParameters.ContainsKey("teamId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); } [Fact] @@ -135,9 +135,9 @@ public void GetSensitiveParameter_MixParamsWithAndWithoutDataClass_ReturnsOnlySe var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, new Dictionary(StringComparer.Ordinal)); Assert.Equal(2, sensitiveParameters.Count); Assert.True(sensitiveParameters.ContainsKey("userId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); Assert.True(sensitiveParameters.ContainsKey("teamId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); Assert.False(sensitiveParameters.ContainsKey("chatId")); } @@ -176,12 +176,12 @@ public void GetSensitiveParameter_NoParameters_ReturnsDefault() var routeUtility = new IncomingHttpRouteUtility(); var d = new Dictionary { - { "testKey", SimpleClassifications.PrivateData } + { "testKey", FakeClassifications.PrivateData } }; var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, d); Assert.Single(sensitiveParameters); Assert.True(sensitiveParameters.ContainsKey("testKey")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); } [Fact] @@ -219,12 +219,12 @@ public void GetSensitiveParameter_AllParametersWithoutDataClass_ReturnsDefault() var d = new Dictionary { - { "testKey", SimpleClassifications.PrivateData } + { "testKey", FakeClassifications.PrivateData } }; var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, d); Assert.Single(sensitiveParameters); Assert.True(sensitiveParameters.ContainsKey("testKey")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); Assert.False(sensitiveParameters.ContainsKey("userId")); Assert.False(sensitiveParameters.ContainsKey("teamId")); @@ -305,19 +305,19 @@ public void GetSensitiveParameter_ParameterWithDataClass_NonEmptyDefault_Returns var d = new Dictionary { - { "testKey", SimpleClassifications.PrivateData }, - { "teamId", SimpleClassifications.PrivateData } + { "testKey", FakeClassifications.PrivateData }, + { "teamId", FakeClassifications.PrivateData } }; var routeUtility = new IncomingHttpRouteUtility(); var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, d); Assert.Equal(3, sensitiveParameters.Count); Assert.True(sensitiveParameters.ContainsKey("userId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); Assert.True(sensitiveParameters.ContainsKey("teamId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); Assert.True(sensitiveParameters.ContainsKey("testKey")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); } [Fact] @@ -353,16 +353,16 @@ public void GetSensitiveParameter_ParameterWithDataClass_TakesPrecedenceOverDefa var d = new Dictionary { - { "userId", SimpleClassifications.PublicData } + { "userId", FakeClassifications.PublicData } }; var routeUtility = new IncomingHttpRouteUtility(); var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, d); Assert.Equal(2, sensitiveParameters.Count); Assert.True(sensitiveParameters.ContainsKey("userId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); Assert.True(sensitiveParameters.ContainsKey("teamId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); } [Fact] @@ -402,18 +402,18 @@ public void GetSensitiveParameter_2ndCallOnwardForSameRouteReturnsCachedResult() var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, d); Assert.Equal(2, sensitiveParameters.Count); Assert.True(sensitiveParameters.ContainsKey("userId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); Assert.True(sensitiveParameters.ContainsKey("teamId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); - d.Add("testKey", SimpleClassifications.PrivateData); - d.Add("userId", SimpleClassifications.PublicData); + d.Add("testKey", FakeClassifications.PrivateData); + d.Add("userId", FakeClassifications.PublicData); sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, d); Assert.Equal(2, sensitiveParameters.Count); Assert.True(sensitiveParameters.ContainsKey("userId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("userId")); Assert.True(sensitiveParameters.ContainsKey("teamId")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("teamId")); } [Fact] @@ -437,12 +437,12 @@ public void GetSensitiveParameter_ControllerActionDescriptorMissing_ReturnsDefau var routeUtility = new IncomingHttpRouteUtility(); var d = new Dictionary { - { "testKey", SimpleClassifications.PrivateData } + { "testKey", FakeClassifications.PrivateData } }; var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, d); Assert.Single(sensitiveParameters); Assert.True(sensitiveParameters.ContainsKey("testKey")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); } [Fact] @@ -459,12 +459,12 @@ public void GetSensitiveParameter_EndpointMissing_ReturnsDefault() var routeUtility = new IncomingHttpRouteUtility(); var d = new Dictionary { - { "testKey", SimpleClassifications.PrivateData } + { "testKey", FakeClassifications.PrivateData } }; var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, d); Assert.Single(sensitiveParameters); Assert.True(sensitiveParameters.ContainsKey("testKey")); - Assert.Equal(SimpleClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); + Assert.Equal(FakeClassifications.PrivateData, sensitiveParameters.GetValueOrDefault("testKey")); } #else [Fact] @@ -479,13 +479,13 @@ public void GetSensitiveParameter_AlwaysReturnsDefault() var routeUtility = new IncomingHttpRouteUtility(); var d = new Dictionary { - { "testKey", SimpleClassifications.PrivateData } + { "testKey", FakeClassifications.PrivateData } }; var sensitiveParameters = routeUtility.GetSensitiveParameters(httpRoute, mockHttpRequest.Object, d); Assert.Single(sensitiveParameters); Assert.True(sensitiveParameters.ContainsKey("testKey")); Assert.True(sensitiveParameters.TryGetValue("testKey", out DataClassification classification)); - Assert.Equal(SimpleClassifications.PrivateData, classification); + Assert.Equal(FakeClassifications.PrivateData, classification); } #endif } diff --git a/test/Libraries/Microsoft.Extensions.Compliance.Redaction.Tests/XXHash3RedactorExtensionsTests.cs b/test/Libraries/Microsoft.Extensions.Compliance.Redaction.Tests/XXHash3RedactorExtensionsTests.cs index 5cfc706a310..e8149490739 100644 --- a/test/Libraries/Microsoft.Extensions.Compliance.Redaction.Tests/XXHash3RedactorExtensionsTests.cs +++ b/test/Libraries/Microsoft.Extensions.Compliance.Redaction.Tests/XXHash3RedactorExtensionsTests.cs @@ -20,7 +20,7 @@ public void DelegateBased() { using var host = FakeHost.CreateBuilder(options => options.FakeRedaction = false) .ConfigureRedaction((_, redaction) => redaction - .SetXXHash3Redactor(o => o.HashSeed = 101, SimpleClassifications.PrivateData)) + .SetXXHash3Redactor(o => o.HashSeed = 101, FakeClassifications.PrivateData)) .Build(); var redactorProvider = host.Services.GetRequiredService(); @@ -35,7 +35,7 @@ public void HostBuilder_GivenXXHashRedactorWithConfigurationSectionConfig_Regist .ConfigureRedaction((_, redaction) => { var section = GetRedactorConfiguration(new ConfigurationBuilder(), 101); - redaction.SetXXHash3Redactor(section, SimpleClassifications.PrivateData); + redaction.SetXXHash3Redactor(section, FakeClassifications.PrivateData); }) .Build(); @@ -49,8 +49,8 @@ private static void CheckProvider(IRedactorProvider redactorProvider) var classifications = new[] { - SimpleClassifications.PublicData, - SimpleClassifications.PrivateData + FakeClassifications.PublicData, + FakeClassifications.PrivateData }; foreach (var dc in classifications) @@ -61,7 +61,7 @@ private static void CheckProvider(IRedactorProvider redactorProvider) var destination = new char[expectedLength]; var actualLength = redactor.Redact(Example, destination); - if (dc == SimpleClassifications.PrivateData) + if (dc == FakeClassifications.PrivateData) { Assert.Equal(XXHash3Redactor.RedactedSize, expectedLength); Assert.Equal(XXHash3Redactor.RedactedSize, actualLength); diff --git a/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/AttributeTest.cs b/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/AttributeTest.cs index 53246bf02c7..011acb48f7c 100644 --- a/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/AttributeTest.cs +++ b/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/AttributeTest.cs @@ -14,9 +14,9 @@ public static void Basic() DataClassificationAttribute a; a = new PrivateDataAttribute(); - Assert.Equal(SimpleClassifications.PrivateData, a.Classification); + Assert.Equal(FakeClassifications.PrivateData, a.Classification); a = new PublicDataAttribute(); - Assert.Equal(SimpleClassifications.PublicData, a.Classification); + Assert.Equal(FakeClassifications.PublicData, a.Classification); } } diff --git a/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/InstancesTest.cs b/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/InstancesTest.cs index f1c54509b52..63d418c0ff9 100644 --- a/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/InstancesTest.cs +++ b/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/InstancesTest.cs @@ -10,7 +10,7 @@ public static class InstancesTest [Fact] public static void Basic() { - Assert.Equal(SimpleTaxonomy.PrivateData, (SimpleTaxonomy)SimpleClassifications.PrivateData.Value); - Assert.Equal(SimpleTaxonomy.PublicData, (SimpleTaxonomy)SimpleClassifications.PublicData.Value); + Assert.Equal(FakeTaxonomy.PrivateData, (FakeTaxonomy)FakeClassifications.PrivateData.Value); + Assert.Equal(FakeTaxonomy.PublicData, (FakeTaxonomy)FakeClassifications.PublicData.Value); } } diff --git a/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/TaxonomyExtensionsTest.cs b/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/TaxonomyExtensionsTest.cs index d2980a52fca..04ffc920bdb 100644 --- a/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/TaxonomyExtensionsTest.cs +++ b/test/Libraries/Microsoft.Extensions.Compliance.Testing.Tests/TaxonomyExtensionsTest.cs @@ -13,9 +13,9 @@ public static class TaxonomyExtensionsTest public static void AsSimpleTaxonomy() { var dc = new DataClassification("Foo", 123); - Assert.Throws(() => dc.AsSimpleTaxonomy()); + Assert.Throws(() => dc.AsFakeTaxonomy()); - Assert.Equal(SimpleTaxonomy.None, DataClassification.None.AsSimpleTaxonomy()); - Assert.Equal(SimpleTaxonomy.Unknown, DataClassification.Unknown.AsSimpleTaxonomy()); + Assert.Equal(FakeTaxonomy.None, DataClassification.None.AsFakeTaxonomy()); + Assert.Equal(FakeTaxonomy.Unknown, DataClassification.Unknown.AsFakeTaxonomy()); } } diff --git a/test/Libraries/Microsoft.Extensions.Diagnostics.Probes.Tests/Kubernetes/TcpEndpointHealthCheckExtensionsTest.cs b/test/Libraries/Microsoft.Extensions.Diagnostics.Probes.Tests/Kubernetes/TcpEndpointHealthCheckExtensionsTest.cs index ced23a042aa..d20c07eeee7 100644 --- a/test/Libraries/Microsoft.Extensions.Diagnostics.Probes.Tests/Kubernetes/TcpEndpointHealthCheckExtensionsTest.cs +++ b/test/Libraries/Microsoft.Extensions.Diagnostics.Probes.Tests/Kubernetes/TcpEndpointHealthCheckExtensionsTest.cs @@ -49,7 +49,7 @@ public void AddTcpEndpointHealthCheckTest_WithAction() .AddTcpEndpointHealthCheck(o => { o.FilterChecks = _ => false; - o.Period = TimeSpan.FromSeconds(15); + o.HealthAssessmentPeriod = TimeSpan.FromSeconds(15); }); }); @@ -58,7 +58,7 @@ public void AddTcpEndpointHealthCheckTest_WithAction() Assert.Single(hostedServices); var config = Assert.Single(configurations); - Assert.Equal(TimeSpan.FromSeconds(15), config.Value.Period); + Assert.Equal(TimeSpan.FromSeconds(15), config.Value.HealthAssessmentPeriod); } [Fact] @@ -86,7 +86,7 @@ public void AddTcpEndpointHealthCheckTest_WithName_WithAction() .AddTcpEndpointHealthCheck("Liveness", o => { o.FilterChecks = _ => false; - o.Period = TimeSpan.FromSeconds(5); + o.HealthAssessmentPeriod = TimeSpan.FromSeconds(5); }); }); @@ -96,7 +96,7 @@ public void AddTcpEndpointHealthCheckTest_WithName_WithAction() Assert.Single(hostedServices); var config = Assert.Single(configurations); Assert.NotNull(config.Get("Liveness")); - Assert.Equal(TimeSpan.FromSeconds(5), config.Get("Liveness").Period); + Assert.Equal(TimeSpan.FromSeconds(5), config.Get("Liveness").HealthAssessmentPeriod); } [Fact] diff --git a/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Hedging/StandardHedgingTests.cs b/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Hedging/StandardHedgingTests.cs index c5030c7bb72..bef0527c9cc 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Hedging/StandardHedgingTests.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Hedging/StandardHedgingTests.cs @@ -197,7 +197,7 @@ public async Task VerifyPipelineSelection(string? customKey) Builder.Services.AddSingleton(provider.Object); if (customKey == null) { - Builder.SelectPipelineByAuthority(SimpleClassifications.PublicData); + Builder.SelectPipelineByAuthority(FakeClassifications.PublicData); } else { diff --git a/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Resilience/HttpClientBuilderExtensionsTests.BySelector.cs b/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Resilience/HttpClientBuilderExtensionsTests.BySelector.cs index 3e7a8a1ef0b..5adcf35ff51 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Resilience/HttpClientBuilderExtensionsTests.BySelector.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Resilience/HttpClientBuilderExtensionsTests.BySelector.cs @@ -62,7 +62,7 @@ public void SelectPipelineByAuthority_Ok_NullURL_Throws() public void SelectPipelineByAuthority_ErasingRedactor_InvalidOperationException() { _builder.Services.AddRedaction(); - var builder = _builder.AddResilienceHandler("dummy", builder => builder.AddTimeout(TimeSpan.FromSeconds(1))).SelectPipelineByAuthority(SimpleClassifications.PrivateData); + var builder = _builder.AddResilienceHandler("dummy", builder => builder.AddTimeout(TimeSpan.FromSeconds(1))).SelectPipelineByAuthority(FakeClassifications.PrivateData); var provider = PipelineKeyProviderHelper.GetPipelineKeyProvider(builder.Services.BuildServiceProvider(), builder.PipelineName)!; using var request = new HttpRequestMessage(HttpMethod.Get, "https://dummy"); diff --git a/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Resilience/HttpClientBuilderExtensionsTests.Resilience.cs b/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Resilience/HttpClientBuilderExtensionsTests.Resilience.cs index 015b0742d34..9ba34d5e946 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Resilience/HttpClientBuilderExtensionsTests.Resilience.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Resilience.Tests/Resilience/HttpClientBuilderExtensionsTests.Resilience.cs @@ -233,7 +233,7 @@ public void AddResilienceHandler_AuthoritySelectorAndNotConfiguredRedaction_Ensu var clientBuilder = new ServiceCollection().AddLogging().RegisterMetrics().AddRedaction() .AddHttpClient("my-client") .AddResilienceHandler("my-pipeline", ConfigureBuilder) - .SelectPipelineByAuthority(SimpleClassifications.PrivateData); + .SelectPipelineByAuthority(FakeClassifications.PrivateData); var factory = clientBuilder.Services.BuildServiceProvider().GetRequiredService(); diff --git a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/AcceptanceTests.cs b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/AcceptanceTests.cs index 325037b8125..b9c2ef09224 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/AcceptanceTests.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/AcceptanceTests.cs @@ -135,9 +135,9 @@ public async Task AddHttpClientLogging_WithNamedHttpClients_WorksCorrectly() .AddHttpClient("namedClient1") .AddHttpClientLogging(o => { - o.ResponseHeadersDataClasses.Add("ResponseHeader", SimpleClassifications.PrivateData); - o.RequestHeadersDataClasses.Add("RequestHeader", SimpleClassifications.PrivateData); - o.RequestHeadersDataClasses.Add("RequestHeaderFirst", SimpleClassifications.PrivateData); + o.ResponseHeadersDataClasses.Add("ResponseHeader", FakeClassifications.PrivateData); + o.RequestHeadersDataClasses.Add("RequestHeader", FakeClassifications.PrivateData); + o.RequestHeadersDataClasses.Add("RequestHeaderFirst", FakeClassifications.PrivateData); o.RequestBodyContentTypes.Add("application/json"); o.ResponseBodyContentTypes.Add("application/json"); o.LogBody = true; @@ -145,9 +145,9 @@ public async Task AddHttpClientLogging_WithNamedHttpClients_WorksCorrectly() .AddHttpClient("namedClient2") .AddHttpClientLogging(o => { - o.ResponseHeadersDataClasses.Add("ResponseHeader", SimpleClassifications.PrivateData); - o.RequestHeadersDataClasses.Add("RequestHeader", SimpleClassifications.PrivateData); - o.RequestHeadersDataClasses.Add("RequestHeaderSecond", SimpleClassifications.PrivateData); + o.ResponseHeadersDataClasses.Add("ResponseHeader", FakeClassifications.PrivateData); + o.RequestHeadersDataClasses.Add("RequestHeader", FakeClassifications.PrivateData); + o.RequestHeadersDataClasses.Add("RequestHeaderSecond", FakeClassifications.PrivateData); o.RequestBodyContentTypes.Add("application/json"); o.ResponseBodyContentTypes.Add("application/json"); o.LogBody = true; @@ -214,9 +214,9 @@ public async Task AddHttpClientLogging_WithTypedHttpClients_WorksCorrectly() .AddHttpClient() .AddHttpClientLogging(x => { - x.ResponseHeadersDataClasses.Add("ResponseHeader", SimpleClassifications.PrivateData); - x.RequestHeadersDataClasses.Add("RequestHeader", SimpleClassifications.PrivateData); - x.RequestHeadersDataClasses.Add("RequestHeader2", SimpleClassifications.PrivateData); + x.ResponseHeadersDataClasses.Add("ResponseHeader", FakeClassifications.PrivateData); + x.RequestHeadersDataClasses.Add("RequestHeader", FakeClassifications.PrivateData); + x.RequestHeadersDataClasses.Add("RequestHeader2", FakeClassifications.PrivateData); x.RequestBodyContentTypes.Add("application/json"); x.ResponseBodyContentTypes.Add("application/json"); x.BodySizeLimit = 10000; @@ -225,9 +225,9 @@ public async Task AddHttpClientLogging_WithTypedHttpClients_WorksCorrectly() .AddHttpClient() .AddHttpClientLogging(x => { - x.ResponseHeadersDataClasses.Add("ResponseHeader", SimpleClassifications.PrivateData); - x.RequestHeadersDataClasses.Add("RequestHeader", SimpleClassifications.PrivateData); - x.RequestHeadersDataClasses.Add("RequestHeader2", SimpleClassifications.PrivateData); + x.ResponseHeadersDataClasses.Add("ResponseHeader", FakeClassifications.PrivateData); + x.RequestHeadersDataClasses.Add("RequestHeader", FakeClassifications.PrivateData); + x.RequestHeadersDataClasses.Add("RequestHeader2", FakeClassifications.PrivateData); x.RequestBodyContentTypes.Add("application/json"); x.ResponseBodyContentTypes.Add("application/json"); x.BodySizeLimit = 20000; @@ -296,7 +296,7 @@ public async Task AddHttpClientLogging_RedactSensitivePrams(HttpRouteParameterRe .AddHttpClient() .AddDefaultHttpClientLogging(o => { - o.RouteParameterDataClasses.Add("userId", SimpleClassifications.PrivateData); + o.RouteParameterDataClasses.Add("userId", FakeClassifications.PrivateData); o.RequestPathParameterRedactionMode = parameterRedactionMode; }) .BlockRemoteCall() @@ -336,7 +336,7 @@ public async Task AddHttpClientLogging_NamedHttpClient_RedactSensitivePrams(Http .AddHttpClient("test") .AddHttpClientLogging(o => { - o.RouteParameterDataClasses.Add("userId", SimpleClassifications.PrivateData); + o.RouteParameterDataClasses.Add("userId", FakeClassifications.PrivateData); o.RequestPathParameterRedactionMode = parameterRedactionMode; }) .Services @@ -376,14 +376,14 @@ public void AddHttpClientLogging_WithNamedClients_RegistersNamedOptions() .AddHttpClientLogging(options => { options.LogRequestStart = true; - options.ResponseHeadersDataClasses = new Dictionary { { "test1", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test1", FakeClassifications.PrivateData } }; }) .Services .AddHttpClient(SecondClientName) .AddHttpClientLogging(options => { options.LogRequestStart = false; - options.ResponseHeadersDataClasses = new Dictionary { { "test2", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test2", FakeClassifications.PrivateData } }; }) .Services .BuildServiceProvider(); @@ -412,14 +412,14 @@ public void AddHttpClientLogging_WithTypedClients_RegistersNamedOptions() .AddHttpClientLogging(options => { options.LogRequestStart = true; - options.ResponseHeadersDataClasses = new Dictionary { { "test1", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test1", FakeClassifications.PrivateData } }; }) .Services .AddHttpClient() .AddHttpClientLogging(options => { options.LogRequestStart = false; - options.ResponseHeadersDataClasses = new Dictionary { { "test2", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test2", FakeClassifications.PrivateData } }; }) .Services .BuildServiceProvider(); @@ -446,36 +446,36 @@ public void AddHttpClientLogging_WithTypedAndNamedClients_RegistersNamedOptions( .AddHttpClient() .AddHttpClientLogging(options => { - options.ResponseHeadersDataClasses = new Dictionary { { "test1", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test1", FakeClassifications.PrivateData } }; }) .Services .AddHttpClient() .AddHttpClientLogging(options => { - options.ResponseHeadersDataClasses = new Dictionary { { "test2", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test2", FakeClassifications.PrivateData } }; }) .Services .AddHttpClient("testClient3") .AddHttpClientLogging(options => { - options.ResponseHeadersDataClasses = new Dictionary { { "test3", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test3", FakeClassifications.PrivateData } }; }) .Services .AddHttpClient("testClient4") .AddHttpClientLogging(options => { - options.ResponseHeadersDataClasses = new Dictionary { { "test4", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test4", FakeClassifications.PrivateData } }; }) .Services .AddHttpClient("testClient5") .AddHttpClientLogging(options => { - options.ResponseHeadersDataClasses = new Dictionary { { "test5", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test5", FakeClassifications.PrivateData } }; }) .Services .AddDefaultHttpClientLogging(options => { - options.ResponseHeadersDataClasses = new Dictionary { { "test6", SimpleClassifications.PrivateData } }; + options.ResponseHeadersDataClasses = new Dictionary { { "test6", FakeClassifications.PrivateData } }; }) .BuildServiceProvider(); @@ -587,9 +587,9 @@ public async Task HttpClientLoggingHandler_LogsBodyDataUpToSpecifiedLimit(int li .AddHttpClient(nameof(HttpClientLoggingHandler_LogsBodyDataUpToSpecifiedLimit)) .AddHttpClientLogging(x => { - x.ResponseHeadersDataClasses.Add("ResponseHeader", SimpleClassifications.PrivateData); - x.RequestHeadersDataClasses.Add("RequestHeader", SimpleClassifications.PrivateData); - x.RequestHeadersDataClasses.Add("RequestHeader2", SimpleClassifications.PrivateData); + x.ResponseHeadersDataClasses.Add("ResponseHeader", FakeClassifications.PrivateData); + x.RequestHeadersDataClasses.Add("RequestHeader", FakeClassifications.PrivateData); + x.RequestHeadersDataClasses.Add("RequestHeader2", FakeClassifications.PrivateData); x.RequestBodyContentTypes.Add("application/json"); x.ResponseBodyContentTypes.Add("application/json"); x.BodySizeLimit = limit; diff --git a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpClientLoggerTest.cs b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpClientLoggerTest.cs index ce43ca284b7..c8f5d6d4341 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpClientLoggerTest.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpClientLoggerTest.cs @@ -200,8 +200,8 @@ public async Task HttpLoggingHandler_AllOptions_LogsOutgoingRequest() var options = new LoggingOptions { - ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, SimpleClassifications.PrivateData }, { "Header3", SimpleClassifications.PrivateData } }, - RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, SimpleClassifications.PrivateData }, { "Header3", SimpleClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, FakeClassifications.PrivateData }, { "Header3", FakeClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, FakeClassifications.PrivateData }, { "Header3", FakeClassifications.PrivateData } }, ResponseBodyContentTypes = new HashSet { TextPlain }, RequestBodyContentTypes = new HashSet { TextPlain }, BodySizeLimit = 32000, @@ -209,7 +209,7 @@ public async Task HttpLoggingHandler_AllOptions_LogsOutgoingRequest() RequestPathLoggingMode = OutgoingPathLoggingMode.Structured, LogRequestStart = false, LogBody = true, - RouteParameterDataClasses = { { "userId", SimpleClassifications.PrivateData } }, + RouteParameterDataClasses = { { "userId", FakeClassifications.PrivateData } }, }; var mockHeadersRedactor = new Mock(); @@ -291,8 +291,8 @@ public async Task HttpLoggingHandler_AllOptionsWithLogRequestStart_LogsOutgoingR var options = new LoggingOptions { - ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, SimpleClassifications.PrivateData } }, - RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, SimpleClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, FakeClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, FakeClassifications.PrivateData } }, ResponseBodyContentTypes = new HashSet { TextPlain }, RequestBodyContentTypes = new HashSet { TextPlain }, BodySizeLimit = 32000, @@ -300,7 +300,7 @@ public async Task HttpLoggingHandler_AllOptionsWithLogRequestStart_LogsOutgoingR RequestPathLoggingMode = OutgoingPathLoggingMode.Structured, LogRequestStart = true, LogBody = true, - RouteParameterDataClasses = { { "userId", SimpleClassifications.PrivateData } }, + RouteParameterDataClasses = { { "userId", FakeClassifications.PrivateData } }, }; var fakeLogger = new FakeLogger( @@ -398,8 +398,8 @@ public async Task HttpLoggingHandler_AllOptionsSendAsyncFailed_LogsRequestInform var options = new LoggingOptions { - ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, SimpleClassifications.PrivateData } }, - RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, SimpleClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, FakeClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, FakeClassifications.PrivateData } }, ResponseBodyContentTypes = new HashSet { TextPlain }, RequestBodyContentTypes = new HashSet { TextPlain }, BodySizeLimit = 32000, @@ -407,7 +407,7 @@ public async Task HttpLoggingHandler_AllOptionsSendAsyncFailed_LogsRequestInform RequestPathLoggingMode = OutgoingPathLoggingMode.Structured, LogRequestStart = false, LogBody = true, - RouteParameterDataClasses = { { "userId", SimpleClassifications.PrivateData } }, + RouteParameterDataClasses = { { "userId", FakeClassifications.PrivateData } }, }; var fakeLogger = new FakeLogger(new FakeLogCollector(Options.Options.Create(new FakeLogCollectorOptions()))); @@ -494,8 +494,8 @@ public async Task HttpLoggingHandler_ReadResponseThrows_LogsException() var options = new LoggingOptions { - ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, SimpleClassifications.PrivateData } }, - RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, SimpleClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, FakeClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, FakeClassifications.PrivateData } }, ResponseBodyContentTypes = new HashSet { TextPlain }, RequestBodyContentTypes = new HashSet { TextPlain }, BodySizeLimit = 32000, @@ -503,7 +503,7 @@ public async Task HttpLoggingHandler_ReadResponseThrows_LogsException() RequestPathLoggingMode = OutgoingPathLoggingMode.Structured, LogRequestStart = false, LogBody = true, - RouteParameterDataClasses = { { "userId", SimpleClassifications.PrivateData } }, + RouteParameterDataClasses = { { "userId", FakeClassifications.PrivateData } }, }; var fakeLogger = new FakeLogger( @@ -609,8 +609,8 @@ public async Task HttpLoggingHandler_AllOptionsTransferEncodingIsNotChunked_Logs var options = new LoggingOptions { - ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, SimpleClassifications.PrivateData } }, - RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, SimpleClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, FakeClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, FakeClassifications.PrivateData } }, ResponseBodyContentTypes = new HashSet { TextPlain }, RequestBodyContentTypes = new HashSet { TextPlain }, BodySizeLimit = 32000, @@ -618,7 +618,7 @@ public async Task HttpLoggingHandler_AllOptionsTransferEncodingIsNotChunked_Logs RequestPathLoggingMode = OutgoingPathLoggingMode.Structured, LogRequestStart = false, LogBody = true, - RouteParameterDataClasses = { { "userId", SimpleClassifications.PrivateData } }, + RouteParameterDataClasses = { { "userId", FakeClassifications.PrivateData } }, }; var fakeLogger = new FakeLogger(new FakeLogCollector(Options.Options.Create(new FakeLogCollectorOptions()))); @@ -877,8 +877,8 @@ public async Task HttpLoggingHandler_AllOptionsTransferEncodingChunked_LogsOutgo var options = new LoggingOptions { - ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, SimpleClassifications.PrivateData } }, - RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, SimpleClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { TestResponseHeader, FakeClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { TestRequestHeader, FakeClassifications.PrivateData } }, ResponseBodyContentTypes = new HashSet { TextPlain }, RequestBodyContentTypes = new HashSet { TextPlain }, BodySizeLimit = 32000, @@ -886,7 +886,7 @@ public async Task HttpLoggingHandler_AllOptionsTransferEncodingChunked_LogsOutgo RequestPathLoggingMode = OutgoingPathLoggingMode.Structured, LogRequestStart = false, LogBody = true, - RouteParameterDataClasses = { { "userId", SimpleClassifications.PrivateData } }, + RouteParameterDataClasses = { { "userId", FakeClassifications.PrivateData } }, }; var fakeLogger = new FakeLogger(new FakeLogCollector(Options.Options.Create(new FakeLogCollectorOptions()))); diff --git a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpClientLoggingExtensionsTest.cs b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpClientLoggingExtensionsTest.cs index 3a4b464974f..fec544a2958 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpClientLoggingExtensionsTest.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpClientLoggingExtensionsTest.cs @@ -129,17 +129,17 @@ public void AddHttpClientLogging_DefaultOptions_CreatesOptionsCorrectly() using var provider = services .AddHttpClient("") - .AddHttpClientLogging(o => o.RequestHeadersDataClasses.Add("test1", SimpleClassifications.PrivateData)) + .AddHttpClientLogging(o => o.RequestHeadersDataClasses.Add("test1", FakeClassifications.PrivateData)) .Services .AddHttpClient("") - .AddHttpClientLogging(o => o.RequestHeadersDataClasses.Add("test2", SimpleClassifications.PrivateData)) + .AddHttpClientLogging(o => o.RequestHeadersDataClasses.Add("test2", FakeClassifications.PrivateData)) .Services .BuildServiceProvider(); var options = provider.GetRequiredService>().Value; options.RequestHeadersDataClasses.Should().HaveCount(2); options.RequestHeadersDataClasses.Should().ContainKeys(new List { "test1", "test2" }); - options.RequestHeadersDataClasses.Should().ContainValues(new List { SimpleClassifications.PrivateData }); + options.RequestHeadersDataClasses.Should().ContainValues(new List { FakeClassifications.PrivateData }); } [Fact] @@ -154,7 +154,7 @@ public void AddHttpClientLogging_GivenActionDelegate_RegistersInDi() var formatRequestPath = _fixture.Create(); var formatRequestPathParameters = _fixture.Create(); var logStart = _fixture.Create(); - var paramToRedact = new KeyValuePair("userId", SimpleClassifications.PrivateData); + var paramToRedact = new KeyValuePair("userId", FakeClassifications.PrivateData); var services = new ServiceCollection(); @@ -168,8 +168,8 @@ public void AddHttpClientLogging_GivenActionDelegate_RegistersInDi() options.BodySizeLimit = bodySizeLimit; options.RequestPathLoggingMode = formatRequestPath; options.RequestPathParameterRedactionMode = formatRequestPathParameters; - options.RequestHeadersDataClasses.Add(requestHeader, SimpleClassifications.PrivateData); - options.ResponseHeadersDataClasses.Add(responseHeader, SimpleClassifications.PrivateData); + options.RequestHeadersDataClasses.Add(requestHeader, FakeClassifications.PrivateData); + options.ResponseHeadersDataClasses.Add(responseHeader, FakeClassifications.PrivateData); options.RouteParameterDataClasses.Add(paramToRedact); options.LogRequestStart = logStart; }); @@ -187,9 +187,9 @@ public void AddHttpClientLogging_GivenActionDelegate_RegistersInDi() options.RequestPathLoggingMode.Should().Be(formatRequestPath); options.RequestPathParameterRedactionMode.Should().Be(formatRequestPathParameters); options.RequestHeadersDataClasses.Should().ContainSingle(); - options.RequestHeadersDataClasses.Should().Contain(requestHeader, SimpleClassifications.PrivateData); + options.RequestHeadersDataClasses.Should().Contain(requestHeader, FakeClassifications.PrivateData); options.ResponseHeadersDataClasses.Should().ContainSingle(); - options.ResponseHeadersDataClasses.Should().Contain(responseHeader, SimpleClassifications.PrivateData); + options.ResponseHeadersDataClasses.Should().Contain(responseHeader, FakeClassifications.PrivateData); options.RouteParameterDataClasses.Should().ContainSingle(); options.RouteParameterDataClasses.Should().Contain(paramToRedact); options.LogRequestStart.Should().Be(logStart); @@ -263,7 +263,7 @@ public void AddHttpClientLogging_ServiceCollection_GivenActionDelegate_Registers var formatRequestPath = _fixture.Create(); var formatRequestPathParameters = _fixture.Create(); var logStart = _fixture.Create(); - var paramToRedact = new KeyValuePair("userId", SimpleClassifications.PrivateData); + var paramToRedact = new KeyValuePair("userId", FakeClassifications.PrivateData); var services = new ServiceCollection(); @@ -278,8 +278,8 @@ public void AddHttpClientLogging_ServiceCollection_GivenActionDelegate_Registers options.BodySizeLimit = bodySizeLimit; options.RequestPathLoggingMode = formatRequestPath; options.RequestPathParameterRedactionMode = formatRequestPathParameters; - options.RequestHeadersDataClasses.Add(requestHeader, SimpleClassifications.PrivateData); - options.ResponseHeadersDataClasses.Add(responseHeader, SimpleClassifications.PrivateData); + options.RequestHeadersDataClasses.Add(requestHeader, FakeClassifications.PrivateData); + options.ResponseHeadersDataClasses.Add(responseHeader, FakeClassifications.PrivateData); options.RouteParameterDataClasses.Add(paramToRedact); options.LogRequestStart = logStart; }); @@ -297,9 +297,9 @@ public void AddHttpClientLogging_ServiceCollection_GivenActionDelegate_Registers options.RequestPathLoggingMode.Should().Be(formatRequestPath); options.RequestPathParameterRedactionMode.Should().Be(formatRequestPathParameters); options.RequestHeadersDataClasses.Should().ContainSingle(); - options.RequestHeadersDataClasses.Should().Contain(requestHeader, SimpleClassifications.PrivateData); + options.RequestHeadersDataClasses.Should().Contain(requestHeader, FakeClassifications.PrivateData); options.ResponseHeadersDataClasses.Should().ContainSingle(); - options.ResponseHeadersDataClasses.Should().Contain(responseHeader, SimpleClassifications.PrivateData); + options.ResponseHeadersDataClasses.Should().Contain(responseHeader, FakeClassifications.PrivateData); options.RouteParameterDataClasses.Should().ContainSingle(); options.RouteParameterDataClasses.Should().Contain(paramToRedact); options.LogRequestStart.Should().Be(logStart); @@ -339,12 +339,12 @@ public void AddHttpClientLogging_ServiceCollectionAndHttpClientBuilder_DoesNotDu .AddHttpClientLogging(x => { x.BodySizeLimit = 100500; - x.RequestHeadersDataClasses.Add(ClientName, SimpleClassifications.PublicData); + x.RequestHeadersDataClasses.Add(ClientName, FakeClassifications.PublicData); }).Services .AddDefaultHttpClientLogging(x => { x.BodySizeLimit = 347; - x.RequestHeadersDataClasses.Add("default", SimpleClassifications.PrivateData); + x.RequestHeadersDataClasses.Add("default", FakeClassifications.PrivateData); }) .BuildServiceProvider(); diff --git a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpHeadersReaderTest.cs b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpHeadersReaderTest.cs index e922f020efd..8d496320fb3 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpHeadersReaderTest.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpHeadersReaderTest.cs @@ -42,23 +42,23 @@ public void HttpHeadersReader_WhenHeadersProvided_ReadsThem() using var httpResponse = new HttpResponseMessage(); var mockHeadersRedactor = new Mock(); - mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), SimpleClassifications.PrivateData)) + mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), FakeClassifications.PrivateData)) .Returns(Redacted); - mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), SimpleClassifications.PublicData)) + mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), FakeClassifications.PublicData)) .Returns, DataClassification>((x, _) => string.Join(",", x)); var options = new LoggingOptions { RequestHeadersDataClasses = new Dictionary { - { "Header1", SimpleClassifications.PrivateData }, - { "Header2", SimpleClassifications.PrivateData } + { "Header1", FakeClassifications.PrivateData }, + { "Header2", FakeClassifications.PrivateData } }, ResponseHeadersDataClasses = new Dictionary { - { "Header3", SimpleClassifications.PublicData }, - { "Header4", SimpleClassifications.PublicData }, - { "hEaDeR7", SimpleClassifications.PrivateData } + { "Header3", FakeClassifications.PublicData }, + { "Header4", FakeClassifications.PublicData }, + { "hEaDeR7", FakeClassifications.PrivateData } }, }; diff --git a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpRequestReaderTest.cs b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpRequestReaderTest.cs index 8c58d016036..c3bf5bf0c83 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpRequestReaderTest.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/HttpRequestReaderTest.cs @@ -58,8 +58,8 @@ public async Task ReadAsync_AllData_ReturnsLogRecord() var options = new LoggingOptions { - RequestHeadersDataClasses = new Dictionary { { header1.Key, SimpleClassifications.PrivateData }, { header3.Key, SimpleClassifications.PrivateData } }, - ResponseHeadersDataClasses = new Dictionary { { header2.Key, SimpleClassifications.PrivateData }, { header3.Key, SimpleClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { header1.Key, FakeClassifications.PrivateData }, { header3.Key, FakeClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { header2.Key, FakeClassifications.PrivateData }, { header3.Key, FakeClassifications.PrivateData } }, RequestBodyContentTypes = new HashSet { plainTextMedia }, ResponseBodyContentTypes = new HashSet { plainTextMedia }, BodyReadTimeout = TimeSpan.FromSeconds(100000), @@ -202,15 +202,15 @@ public async Task ReadAsync_AllDataWithRequestMetadataSet_ReturnsLogRecord() var opts = new LoggingOptions { - RequestHeadersDataClasses = new Dictionary { { header1.Key, SimpleClassifications.PrivateData } }, - ResponseHeadersDataClasses = new Dictionary { { header2.Key, SimpleClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { header1.Key, FakeClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { header2.Key, FakeClassifications.PrivateData } }, RequestBodyContentTypes = new HashSet { plainTextMedia }, ResponseBodyContentTypes = new HashSet { plainTextMedia }, BodyReadTimeout = TimeSpan.FromSeconds(10), LogBody = true, }; - opts.RouteParameterDataClasses.Add("userId", SimpleClassifications.PrivateData); + opts.RouteParameterDataClasses.Add("userId", FakeClassifications.PrivateData); var mockHeadersRedactor = new Mock(); mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), It.IsAny())) .Returns(Redacted); @@ -285,15 +285,15 @@ public async Task ReadAsync_FormatRequestPathDisabled_ReturnsLogRecordWithRoute( { LogRequestStart = true, LogBody = true, - RequestHeadersDataClasses = new Dictionary { { header1.Key, SimpleClassifications.PrivateData } }, - ResponseHeadersDataClasses = new Dictionary { { header2.Key, SimpleClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { header1.Key, FakeClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { header2.Key, FakeClassifications.PrivateData } }, RequestBodyContentTypes = new HashSet { plainTextMedia }, ResponseBodyContentTypes = new HashSet { plainTextMedia }, BodyReadTimeout = TimeSpan.FromSeconds(10), RequestPathLoggingMode = OutgoingPathLoggingMode.Structured }; - opts.RouteParameterDataClasses.Add("userId", SimpleClassifications.PrivateData); + opts.RouteParameterDataClasses.Add("userId", FakeClassifications.PrivateData); var mockHeadersRedactor = new Mock(); mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), It.IsAny())) @@ -366,13 +366,13 @@ public async Task ReadAsync_RouteParameterRedactionModeNone_ReturnsLogRecordWith LogRequestStart = true, LogBody = true, RequestPathParameterRedactionMode = HttpRouteParameterRedactionMode.None, - RequestHeadersDataClasses = new Dictionary { { header1.Key, SimpleClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { header1.Key, FakeClassifications.PrivateData } }, RequestBodyContentTypes = new HashSet { plainTextMedia }, BodyReadTimeout = TimeSpan.FromSeconds(10), RequestPathLoggingMode = OutgoingPathLoggingMode.Structured }; - opts.RouteParameterDataClasses.Add("userId", SimpleClassifications.PrivateData); + opts.RouteParameterDataClasses.Add("userId", FakeClassifications.PrivateData); var mockHeadersRedactor = new Mock(); mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), It.IsAny())) @@ -431,15 +431,15 @@ public async Task ReadAsync_RequestMetadataRequestNameSetAndRouteMissing_Returns var opts = new LoggingOptions { - RequestHeadersDataClasses = new Dictionary { { header1.Key, SimpleClassifications.PrivateData } }, - ResponseHeadersDataClasses = new Dictionary { { header2.Key, SimpleClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { header1.Key, FakeClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { header2.Key, FakeClassifications.PrivateData } }, RequestBodyContentTypes = new HashSet { plainTextMedia }, ResponseBodyContentTypes = new HashSet { plainTextMedia }, BodyReadTimeout = TimeSpan.FromSeconds(10), LogBody = true, }; - opts.RouteParameterDataClasses.Add("userId", SimpleClassifications.PrivateData); + opts.RouteParameterDataClasses.Add("userId", FakeClassifications.PrivateData); var mockHeadersRedactor = new Mock(); mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), It.IsAny())) .Returns(Redacted); @@ -513,15 +513,15 @@ public async Task ReadAsync_NoMetadataUsesRedactedString_ReturnsLogRecord() var opts = new LoggingOptions { - RequestHeadersDataClasses = new Dictionary { { header1.Key, SimpleClassifications.PrivateData } }, - ResponseHeadersDataClasses = new Dictionary { { header2.Key, SimpleClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { header1.Key, FakeClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { header2.Key, FakeClassifications.PrivateData } }, RequestBodyContentTypes = new HashSet { plainTextMedia }, ResponseBodyContentTypes = new HashSet { plainTextMedia }, BodyReadTimeout = TimeSpan.FromSeconds(10), LogBody = true, }; - opts.RouteParameterDataClasses.Add("userId", SimpleClassifications.PrivateData); + opts.RouteParameterDataClasses.Add("userId", FakeClassifications.PrivateData); var mockHeadersRedactor = new Mock(); mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), It.IsAny())) .Returns(Redacted); @@ -590,15 +590,15 @@ public async Task ReadAsync_MetadataWithoutRequestRouteOrNameUsesConstants_Retur var opts = new LoggingOptions { - RequestHeadersDataClasses = new Dictionary { { header1.Key, SimpleClassifications.PrivateData } }, - ResponseHeadersDataClasses = new Dictionary { { header2.Key, SimpleClassifications.PrivateData } }, + RequestHeadersDataClasses = new Dictionary { { header1.Key, FakeClassifications.PrivateData } }, + ResponseHeadersDataClasses = new Dictionary { { header2.Key, FakeClassifications.PrivateData } }, RequestBodyContentTypes = new HashSet { plainTextMedia }, ResponseBodyContentTypes = new HashSet { plainTextMedia }, BodyReadTimeout = TimeSpan.FromSeconds(10), LogBody = true, }; - opts.RouteParameterDataClasses.Add("userId", SimpleClassifications.PrivateData); + opts.RouteParameterDataClasses.Add("userId", FakeClassifications.PrivateData); var mockHeadersRedactor = new Mock(); mockHeadersRedactor.Setup(r => r.Redact(It.IsAny>(), It.IsAny())) .Returns(Redacted); diff --git a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/LoggingOptionsTest.cs b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/LoggingOptionsTest.cs index 0ca22a36ab2..f2758d71c79 100644 --- a/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/LoggingOptionsTest.cs +++ b/test/Libraries/Microsoft.Extensions.Http.Telemetry.Tests/Logging/LoggingOptionsTest.cs @@ -72,8 +72,8 @@ public void CanSetAndGet_RequestHeaders() { var testHeaders = new Dictionary { - { "header 1", SimpleClassifications.PrivateData }, - { "header 2", SimpleClassifications.PrivateData } + { "header 1", FakeClassifications.PrivateData }, + { "header 2", FakeClassifications.PrivateData } }; _sut.RequestHeadersDataClasses = testHeaders; @@ -86,8 +86,8 @@ public void CanSetAndGet_ResponseHeaders() { var testHeaders = new Dictionary { - { "header 1", SimpleClassifications.PrivateData }, - { "header 2", SimpleClassifications.PrivateData } + { "header 1", FakeClassifications.PrivateData }, + { "header 2", FakeClassifications.PrivateData } }; _sut.ResponseHeadersDataClasses = testHeaders; @@ -121,12 +121,12 @@ public void CanAndAndGet_RouteTemplateParametersToRedact() { var paramsToRedacts = new Dictionary { - { "foo", SimpleClassifications.PrivateData }, - { "bar", SimpleClassifications.PrivateData }, + { "foo", FakeClassifications.PrivateData }, + { "bar", FakeClassifications.PrivateData }, }; - _sut.RouteParameterDataClasses.Add("foo", SimpleClassifications.PrivateData); - _sut.RouteParameterDataClasses.Add("bar", SimpleClassifications.PrivateData); + _sut.RouteParameterDataClasses.Add("foo", FakeClassifications.PrivateData); + _sut.RouteParameterDataClasses.Add("bar", FakeClassifications.PrivateData); _sut.RouteParameterDataClasses.Should().BeEquivalentTo(paramsToRedacts); } diff --git a/test/Libraries/Microsoft.Extensions.Telemetry.Abstractions.Tests/Logging/LoggerMessageStateTests.cs b/test/Libraries/Microsoft.Extensions.Telemetry.Abstractions.Tests/Logging/LoggerMessageStateTests.cs index 4c656138839..ff1b808ef0e 100644 --- a/test/Libraries/Microsoft.Extensions.Telemetry.Abstractions.Tests/Logging/LoggerMessageStateTests.cs +++ b/test/Libraries/Microsoft.Extensions.Telemetry.Abstractions.Tests/Logging/LoggerMessageStateTests.cs @@ -40,7 +40,7 @@ public static void Basic() Assert.Equal("Property Name=Value", lms.ToString()); index = lms.ReserveClassifiedTagSpace(1); - lms.ClassifiedTagArray[index] = new(PropName, Value, SimpleClassifications.PrivateData); + lms.ClassifiedTagArray[index] = new(PropName, Value, FakeClassifications.PrivateData); Assert.Equal(1, lms.TagsCount); Assert.Equal(PropName, lms.TagArray[0].Key); Assert.Equal(Value, lms.TagArray[0].Value); @@ -49,7 +49,7 @@ public static void Basic() Assert.Equal(1, lms.ClassifiedTagsCount); Assert.Equal(PropName, lms.ClassifiedTagArray[0].Name); Assert.Equal(Value, lms.ClassifiedTagArray[0].Value); - Assert.Equal(SimpleClassifications.PrivateData, lms.ClassifiedTagArray[0].Classification); + Assert.Equal(FakeClassifications.PrivateData, lms.ClassifiedTagArray[0].Classification); Assert.Equal("Property Name=Value,Property Name=Microsoft.Extensions.Compliance.Testing.SimpleTaxonomy:2", lms.ToString()); index = lms.ReserveTagSpace(1); @@ -96,7 +96,7 @@ public static void CollectorContract() Assert.Equal(PropertyNamPrefix + "_" + PropName, lms.TagArray[0].Key); Assert.Equal(Value, lms.TagArray[0].Value); - collector.Add(PropName, Value, SimpleClassifications.PrivateData); + collector.Add(PropName, Value, FakeClassifications.PrivateData); Assert.Equal(1, lms.TagsCount); Assert.Equal(PropertyNamPrefix + "_" + PropName, lms.TagArray[0].Key); Assert.Equal(Value, lms.TagArray[0].Value); @@ -104,7 +104,7 @@ public static void CollectorContract() Assert.Equal(1, lms.ClassifiedTagsCount); Assert.Equal(PropertyNamPrefix + "_" + PropName, lms.ClassifiedTagArray[0].Name); Assert.Equal(Value, lms.ClassifiedTagArray[0].Value); - Assert.Equal(SimpleClassifications.PrivateData, lms.ClassifiedTagArray[0].Classification); + Assert.Equal(FakeClassifications.PrivateData, lms.ClassifiedTagArray[0].Classification); lms.Clear(); Assert.Equal(0, lms.TagsCount); @@ -114,7 +114,7 @@ public static void CollectorContract() Assert.Equal(PropName, lms.TagArray[0].Key); Assert.Equal(Value, lms.TagArray[0].Value); - collector.Add(PropName, Value, SimpleClassifications.PrivateData); + collector.Add(PropName, Value, FakeClassifications.PrivateData); Assert.Equal(1, lms.TagsCount); Assert.Equal(PropName, lms.TagArray[0].Key); Assert.Equal(Value, lms.TagArray[0].Value); @@ -122,7 +122,7 @@ public static void CollectorContract() Assert.Equal(1, lms.ClassifiedTagsCount); Assert.Equal(PropName, lms.ClassifiedTagArray[0].Name); Assert.Equal(Value, lms.ClassifiedTagArray[0].Value); - Assert.Equal(SimpleClassifications.PrivateData, lms.ClassifiedTagArray[0].Classification); + Assert.Equal(FakeClassifications.PrivateData, lms.ClassifiedTagArray[0].Classification); } [Fact] @@ -151,7 +151,7 @@ public static void ReadOnlyListContract() Assert.Equal(Value, list[0].Value); index = lms.ReserveClassifiedTagSpace(1); - lms.ClassifiedTagArray[index] = new(PropName, Value, SimpleClassifications.PrivateData); + lms.ClassifiedTagArray[index] = new(PropName, Value, FakeClassifications.PrivateData); Assert.Equal(1, list.Count); Assert.Equal(PropName, list[0].Key); Assert.Equal(Value, list[0].Value); diff --git a/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Logging/ExtendedLoggerTests.cs b/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Logging/ExtendedLoggerTests.cs index 9b0b4050afd..e6ed25354a1 100644 --- a/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Logging/ExtendedLoggerTests.cs +++ b/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Logging/ExtendedLoggerTests.cs @@ -63,8 +63,8 @@ public static void Basic() lms.TagArray[index] = new("PK2", "PV2"); index = lms.ReserveClassifiedTagSpace(2); - lms.ClassifiedTagArray[index] = new("PK3", "PV3", SimpleClassifications.PrivateData); - lms.ClassifiedTagArray[index + 1] = new("PK4", null, SimpleClassifications.PrivateData); + lms.ClassifiedTagArray[index] = new("PK3", "PV3", FakeClassifications.PrivateData); + lms.ClassifiedTagArray[index + 1] = new("PK4", null, FakeClassifications.PrivateData); logger.Log(LogLevel.Warning, new EventId(2, "ID2"), lms, null, (_, _) => "MSG2"); diff --git a/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpHeadersRedactorTests.cs b/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpHeadersRedactorTests.cs index 089d1cd4388..4af3e2e40c4 100644 --- a/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpHeadersRedactorTests.cs +++ b/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpHeadersRedactorTests.cs @@ -18,7 +18,7 @@ public void Redact_Works_Correctly(IEnumerable input, string expected) var redactorProvider = new FakeRedactorProvider(new FakeRedactorOptions { RedactionFormat = "Redacted:{0}" }); var headersRedactor = new HttpHeadersRedactor(redactorProvider); - var actual = headersRedactor.Redact(input, SimpleClassifications.PrivateData); + var actual = headersRedactor.Redact(input, FakeClassifications.PrivateData); actual.Should().Be(expected); } diff --git a/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpParserTests.cs b/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpParserTests.cs index 23f26730812..4b5c92d2f65 100644 --- a/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpParserTests.cs +++ b/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpParserTests.cs @@ -18,7 +18,7 @@ public class HttpParserTests public void TryExtractParameters_NullRouteParametersArray_ReturnsFalse(HttpRouteParameterRedactionMode redactionMode) { HttpRouteParser httpParser = CreateHttpRouteParser(); - Dictionary parametersToRedact = new() { { "chatId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "chatId", FakeClassifications.PrivateData } }; string httpPath = "api/routes/routeId123/chats/chatId123"; string httpRoute = "/api/routes/{routeId}/chats/{chatId}"; @@ -35,7 +35,7 @@ public void TryExtractParameters_NullRouteParametersArray_ReturnsFalse(HttpRoute public void TryExtractParameters_RouteParametersArraySmallerThanActualParamCount_ReturnsFalse(HttpRouteParameterRedactionMode redactionMode) { HttpRouteParser httpParser = CreateHttpRouteParser(); - Dictionary parametersToRedact = new() { { "chatId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "chatId", FakeClassifications.PrivateData } }; string httpPath = "api/routes/routeId123/chats/chatId123"; string httpRoute = "/api/routes/{routeId}/chats/{chatId}"; @@ -54,7 +54,7 @@ public void TryExtractParameters_RouteParametersArraySmallerThanActualParamCount public void TryExtractParameters_InvalidHttpRouteParameterRedactionMode_Throws(int redactionMode) { HttpRouteParser httpParser = CreateHttpRouteParser(); - Dictionary parametersToRedact = new() { { "routeId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "routeId", FakeClassifications.PrivateData } }; string httpPath = "routeId123/chats/chatId123/"; string httpRoute = "{routeId}/chats/{chatId}/"; @@ -74,7 +74,7 @@ public void TryExtractParameters_RouteHasFirstParameterToBeRedacted_ReturnsCorre string redactedPrefix = isRedacted ? "Redacted:" : string.Empty; HttpRouteParser httpParser = CreateHttpRouteParser(); - Dictionary parametersToRedact = new() { { "routeId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "routeId", FakeClassifications.PrivateData } }; string httpPath = "routeId123/chats/chatId123/"; string httpRoute = "{routeId}/chats/{chatId}/"; @@ -120,7 +120,7 @@ public void TryExtractParameters_RouteHasFirstParameterToBeRedacted_ReturnsCorre public void TryExtractParameters_NoParameters_ReturnEmptyArray(HttpRouteParameterRedactionMode redactionMode) { HttpRouteParser httpParser = CreateHttpRouteParser(); - Dictionary parametersToRedact = new() { { "routeId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "routeId", FakeClassifications.PrivateData } }; string httpPath = "users/chats/messages"; string httpRoute = "users/chats/messages"; @@ -152,7 +152,7 @@ public void TryExtractParameters_ReturnsExpectedParameters(HttpRouteParameterRed string redactedPrefix = isRedacted ? "Redacted:" : string.Empty; HttpRouteParser httpParser = CreateHttpRouteParser(); - Dictionary parametersToRedact = new() { { "chatId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "chatId", FakeClassifications.PrivateData } }; // Route ends with text string httpPath = "api/routes/routeId123/chats/chatId123"; @@ -195,7 +195,7 @@ public void TryExtractParameters_ReturnsExpectedParameters(HttpRouteParameterRed ValidateRouteParameter(httpRouteParameters[1], "chatId", $"{redactedPrefix}chatId123", isRedacted); // Route ends with parameter that doesn't need to be redacted - parametersToRedact.Add("routeId", SimpleClassifications.PrivateData); + parametersToRedact.Add("routeId", FakeClassifications.PrivateData); parametersToRedact.Remove("chatId"); httpPath = "api/routes/routeId123/chats/chatId123"; httpRoute = "/api/routes/{routeId}/chats/{chatId}"; @@ -223,7 +223,7 @@ public void TryExtractParameters_WithSomeParametersWithPublicNonPersonalData_Ret string redactedPrefix = isRedacted ? "Redacted:" : string.Empty; HttpRouteParser httpParser = CreateHttpRouteParser(); - Dictionary parametersToRedact = new() { { "chatId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "chatId", FakeClassifications.PrivateData } }; // Route ends with text string httpPath = "api/routes/routeId123/chats/chatId123"; @@ -277,7 +277,7 @@ public void TryExtractParameters_WhenRouteHasDefaultParameters_ReturnsExpectedPa string redactedPrefix = isRedacted ? "Redacted:" : string.Empty; HttpRouteParser httpParser = CreateHttpRouteParser(); - Dictionary parametersToRedact = new() { { "filter", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "filter", FakeClassifications.PrivateData } }; HttpRouteParameter[] httpRouteParameters = new HttpRouteParameter[3]; const string HttpRoute = "{controller=home}/{action=index}/{filter=all}"; @@ -322,8 +322,8 @@ public void TryExtractParameters_WhenRouteHasDefaultParameters_ReturnsExpectedPa // A well known parameter is redacted when it is explicitly specified in an http path, // and is not redacted when it is omitted. - parametersToRedact.Add("controller", SimpleClassifications.PrivateData); - parametersToRedact.Add("action", SimpleClassifications.PrivateData); + parametersToRedact.Add("controller", FakeClassifications.PrivateData); + parametersToRedact.Add("action", FakeClassifications.PrivateData); httpPath = "users"; @@ -346,8 +346,8 @@ public void TryExtractParameters_WhenRouteHasOptionalsAndConstraints_ReturnsExpe HttpRouteParser httpParser = CreateHttpRouteParser(); Dictionary parametersToRedact = new() { - { "routeId", SimpleClassifications.PrivateData }, - { "chatId", SimpleClassifications.PrivateData }, + { "routeId", FakeClassifications.PrivateData }, + { "chatId", FakeClassifications.PrivateData }, }; HttpRouteParameter[] httpRouteParameters = new HttpRouteParameter[2]; diff --git a/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpRouteFormatterTests.cs b/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpRouteFormatterTests.cs index 49efba74dca..208ca070e2e 100644 --- a/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpRouteFormatterTests.cs +++ b/test/Libraries/Microsoft.Extensions.Telemetry.Tests/Telemetry.Internal/HttpRouteFormatterTests.cs @@ -92,8 +92,8 @@ public void Format_NoParameterRoute_WithParametersToRedact_ReturnsOriginalpath(H HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); Dictionary parametersToRedact = new() { - { "userId", SimpleClassifications.PrivateData }, - { "v1", SimpleClassifications.PrivateData } + { "userId", FakeClassifications.PrivateData }, + { "v1", FakeClassifications.PrivateData } }; string httpPath = "/api/v1/chats"; @@ -135,8 +135,8 @@ public void Format_WithParametersToRedact_GivenInvalidHttpRouteParameterRedactio HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); Dictionary parametersToRedact = new() { - { "userId", SimpleClassifications.PrivateData }, - { "routeId", SimpleClassifications.PrivateData } + { "userId", FakeClassifications.PrivateData }, + { "routeId", FakeClassifications.PrivateData } }; string httpPath = "/api/routes/routeId123/chats/chatId123"; @@ -156,8 +156,8 @@ public void Format_WithParametersToRedact_ReturnsPathWithSensitiveParamsRedacted HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); Dictionary parametersToRedact = new() { - { "userId", SimpleClassifications.PrivateData }, - { "routeId", SimpleClassifications.PrivateData } + { "userId", FakeClassifications.PrivateData }, + { "routeId", FakeClassifications.PrivateData } }; string httpPath = "/api/routes/routeId123/chats/chatId123"; @@ -179,7 +179,7 @@ public void Format_WithParametersToRedact_ReturnsPathWithSensitiveParamsRedacted Assert.Equal($"api/routes/routeId123/chats/chatId123", formattedPath); } - parametersToRedact.Add("chatId", SimpleClassifications.PrivateData); + parametersToRedact.Add("chatId", FakeClassifications.PrivateData); formattedPath = httpFormatter.Format(httpRoute, httpPath, redactionMode, parametersToRedact); Assert.Equal($"api/routes/{redactedPrefix}routeId123/chats/{redactedPrefix}chatId123", formattedPath); @@ -238,9 +238,9 @@ public void Format_WithParametersToRedact_PublicNonPersonalData_NotRedacted(Http HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); Dictionary parametersToRedact = new() { - { "userId", SimpleClassifications.PrivateData }, + { "userId", FakeClassifications.PrivateData }, { "routeId", DataClassification.None }, - { "chatId", SimpleClassifications.PrivateData }, + { "chatId", FakeClassifications.PrivateData }, }; string httpPath = "/api/routes/routeId123/chats/chatId123"; @@ -254,7 +254,7 @@ public void Format_WithParametersToRedact_PublicNonPersonalData_NotRedacted(Http public void Format_RouteHasFirstParameterToBeRedacted_ReturnsCorrectlyRedactedPath(HttpRouteParameterRedactionMode redactionMode) { HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); - Dictionary parametersToRedact = new() { { "routeId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "routeId", FakeClassifications.PrivateData } }; string httpPath = "routeId123/chats/chatId123"; string httpRoute = "{routeId}/chats/{chatId}"; @@ -321,7 +321,7 @@ public void Format_RouteHasFirstParameterToBeRedacted_ReturnsCorrectlyRedactedPa public void Format_RouteHasLastParameterToBeRedacted_ReturnsCorrectlyRedactedPath(HttpRouteParameterRedactionMode redactionMode) { HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); - Dictionary parametersToRedact = new() { { "chatId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "chatId", FakeClassifications.PrivateData } }; string httpPath = "/api/routes/routeId123/chats/chatId123"; string httpRoute = "/api/routes/{routeId}/chats/{chatId}"; @@ -350,7 +350,7 @@ public void Format_RouteHasDefaultParametersToBeRedacted_ReturnsCorrectlyRedacte string redactedPrefix = redactionMode == HttpRouteParameterRedactionMode.None ? string.Empty : "Redacted:"; HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); - Dictionary parametersToRedact = new() { { "routeId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "routeId", FakeClassifications.PrivateData } }; string httpRoute = "/api/routes/{routeId=defaultRoute}"; // A default parameter is redacted when it is explicitly specified. @@ -370,7 +370,7 @@ public void Format_RouteHasWellKnownParameters_ReturnsCorrectlyFormattedPath(Htt { string redactedPrefix = redactionMode == HttpRouteParameterRedactionMode.None ? string.Empty : "Redacted:"; HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); - Dictionary parametersToRedact = new() { { "filter", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "filter", FakeClassifications.PrivateData } }; string httpRoute = "{controller=home}/{action=index}/{filter=all}"; // An http path includes well known "controller" and "action" parameters, and a parameter "filter". @@ -398,8 +398,8 @@ public void Format_RouteHasWellKnownParameters_ReturnsCorrectlyFormattedPath(Htt // A well known parameter is redacted when it is explicitly specified in an http path, // and is not redacted when it is omitted. - parametersToRedact.Add("controller", SimpleClassifications.PrivateData); - parametersToRedact.Add("action", SimpleClassifications.PrivateData); + parametersToRedact.Add("controller", FakeClassifications.PrivateData); + parametersToRedact.Add("action", FakeClassifications.PrivateData); httpPath = "users"; formattedPath = httpFormatter.Format(httpRoute, httpPath, redactionMode, parametersToRedact); @@ -412,7 +412,7 @@ public void Format_RouteHasOptionalParametersToBeRedacted_ReturnsCorrectlyRedact { string redactedPrefix = redactionMode == HttpRouteParameterRedactionMode.None ? string.Empty : "Redacted:"; HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); - Dictionary parametersToRedact = new() { { "routeId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "routeId", FakeClassifications.PrivateData } }; string httpRoute = "/api/routes/{routeId?}"; // An optional parameter is redacted when it is explicitly specified. @@ -432,7 +432,7 @@ public void Format_RouteHasParametersWithConstraintsToBeRedacted_ReturnsCorrectl { string redactedPrefix = redactionMode == HttpRouteParameterRedactionMode.None ? string.Empty : "Redacted:"; HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); - Dictionary parametersToRedact = new() { { "routeId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "routeId", FakeClassifications.PrivateData } }; string httpRoute = "/api/routes/{routeId:int:min(1)}"; string httpPath = "/api/routes/routeId123"; @@ -448,7 +448,7 @@ public void Format_HttpPathMayHaveTrailingSlash_FormattedHttpPathDoNotHaveTraili string redactedPrefix = redactionMode == HttpRouteParameterRedactionMode.None ? string.Empty : "Redacted:"; HttpRouteFormatter httpFormatter = CreateHttpRouteFormatter(); - Dictionary parametersToRedact = new() { { "routeId", SimpleClassifications.PrivateData } }; + Dictionary parametersToRedact = new() { { "routeId", FakeClassifications.PrivateData } }; string httpRoute = "/api/routes/static_route"; // An http route is static.