Files
allstarr/allstarr.Tests/WebSocketProxyMiddlewareTests.cs
T
joshpatra 8d6dd7ccf1
Docker Build & Push / build-and-test (push) Has been cancelled
Docker Build & Push / docker (push) Has been cancelled
v1.0.3-beta.1: Refactored all large files, Fixed the cron schedule bug, hardened security, added global mapping for much more stable matchings
2026-02-16 14:59:21 -05:00

36 lines
1.1 KiB
C#

using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Moq;
using allstarr.Middleware;
using allstarr.Models.Settings;
namespace allstarr.Tests;
public class WebSocketProxyMiddlewareTests
{
[Fact]
public void BuildMaskedQuery_RedactsSensitiveParams()
{
var qs = "?api_key=secret&deviceId=abc&token=othertoken";
var masked = allstarr.Middleware.WebSocketProxyMiddleware.BuildMaskedQuery(qs);
Assert.Contains("api_key=<redacted>", masked);
Assert.Contains("deviceId=abc", masked);
Assert.Contains("token=<redacted>", masked);
Assert.DoesNotContain("secret", masked);
Assert.DoesNotContain("othertoken", masked);
}
[Fact]
public void BuildMaskedQuery_EmptyOrNull_ReturnsEmpty()
{
Assert.Equal(string.Empty, allstarr.Middleware.WebSocketProxyMiddleware.BuildMaskedQuery(null));
Assert.Equal(string.Empty, allstarr.Middleware.WebSocketProxyMiddleware.BuildMaskedQuery(string.Empty));
}
}