diff --git a/src/TelemetryConsumption/WebSockets/WebSocketCloseReason.cs b/src/TelemetryConsumption/WebSockets/WebSocketCloseReason.cs index ed39a7a7a..63df79fa2 100644 --- a/src/TelemetryConsumption/WebSockets/WebSocketCloseReason.cs +++ b/src/TelemetryConsumption/WebSockets/WebSocketCloseReason.cs @@ -13,4 +13,5 @@ public enum WebSocketCloseReason : int ServerGracefulClose, ClientDisconnect, ServerDisconnect, + ActivityTimeout, } diff --git a/test/ReverseProxy.FunctionalTests/TelemetryEnumTests.cs b/test/ReverseProxy.FunctionalTests/TelemetryEnumTests.cs new file mode 100644 index 000000000..9bd6c9a8e --- /dev/null +++ b/test/ReverseProxy.FunctionalTests/TelemetryEnumTests.cs @@ -0,0 +1,20 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +using System; +using System.Linq; +using Xunit; + +namespace Yarp.ReverseProxy; + +public class TelemetryEnumTests +{ + [Theory] + [InlineData(typeof(Telemetry.Consumption.ForwarderStage), typeof(Forwarder.ForwarderStage))] + [InlineData(typeof(Telemetry.Consumption.WebSocketCloseReason), typeof(WebSocketsTelemetry.WebSocketCloseReason))] + public void ExposedEnumsMatchInternalCopies(Type publicEnum, Type internalEnum) + { + Assert.Equal(internalEnum.GetEnumNames(), publicEnum.GetEnumNames()); + Assert.Equal(internalEnum.GetEnumValues().Cast().ToArray(), publicEnum.GetEnumValues().Cast().ToArray()); + } +}