Files
UnrealEngine/Engine/Source/Programs/Horde/HordeServer.Tests/SwaggerTest.cs
2025-05-18 13:04:45 +08:00

30 lines
938 B
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;
using Microsoft.VisualStudio.TestTools.UnitTesting;
#pragma warning disable CA2234 // Pass system uri objects instead of strings
namespace HordeServer.Tests
{
[TestClass]
public class SwaggerTest : ControllerIntegrationTest
{
[TestMethod]
public async Task ValidateSwaggerAsync()
{
HttpResponseMessage res = await Client.GetAsync("/swagger/v1/swagger.json");
if (!res.IsSuccessStatusCode)
{
string rawJson = await res.Content.ReadAsStringAsync();
JsonElement tempElement = JsonSerializer.Deserialize<JsonElement>(rawJson);
string formattedJson = JsonSerializer.Serialize(tempElement, new JsonSerializerOptions { WriteIndented = true });
await Console.Error.WriteLineAsync("Error result:\n" + formattedJson);
res.EnsureSuccessStatusCode();
}
}
}
}