43 lines
1.5 KiB
C#
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());
|
|
}
|
|
}
|