Files
git.stella-ops.org/src/Scanner/__Tests/StellaOps.Scanner.WebService.Tests/SliceLocalizationEndpointsTests.cs

43 lines
1.5 KiB
C#

using System.Net;
using System.Net.Http.Json;
using System.Text.Json;
using StellaOps.Auth.Abstractions;
using StellaOps.Scanner.WebService.Endpoints;
using StellaOps.TestKit;
namespace StellaOps.Scanner.WebService.Tests;
public sealed class SliceLocalizationEndpointsTests
{
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task QuerySlice_WithoutScanId_WithGermanLocale_ReturnsLocalizedError()
{
await using var factory = ScannerApplicationFactory.CreateLightweight().WithOverrides(
configureConfiguration: static config =>
{
config["scanner:authority:enabled"] = "false";
});
await factory.InitializeAsync();
using var client = factory.CreateClient();
using var request = new HttpRequestMessage(HttpMethod.Post, "/api/slices/query")
{
Content = JsonContent.Create(new SliceQueryRequestDto
{
CveId = "CVE-2024-1234"
})
};
request.Headers.TryAddWithoutValidation(StellaOpsHttpHeaderNames.Tenant, "tenant-a");
request.Headers.TryAddWithoutValidation("X-Locale", "de-DE");
var response = await client.SendAsync(request);
var content = await response.Content.ReadAsStringAsync();
Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
using var payload = JsonDocument.Parse(content);
Assert.Equal("scanId ist erforderlich", payload.RootElement.GetProperty("error").GetString());
}
}