All checks were successful
continuous-integration/drone/push Build is passing
35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using FluentAssertions;
|
|
using FluentAssertions.Extensions;
|
|
using System.Net.Http.Json;
|
|
using Vegasco.Server.Api.Info;
|
|
|
|
namespace Vegasco.Server.Api.Tests.Integration.Info;
|
|
|
|
[Collection(SharedTestCollection.Name)]
|
|
public class GetServerInfoTests
|
|
{
|
|
private readonly WebAppFactory _factory;
|
|
|
|
public GetServerInfoTests(WebAppFactory factory)
|
|
{
|
|
_factory = factory;
|
|
}
|
|
|
|
[Fact]
|
|
public async Task GetServerInfo_ShouldReturnServerInfo_WhenCalled()
|
|
{
|
|
// Arrange
|
|
|
|
// Act
|
|
using HttpResponseMessage response = await _factory.HttpClient.GetAsync("/v1/info/server");
|
|
|
|
// Assert
|
|
response.IsSuccessStatusCode.Should().BeTrue();
|
|
GetServerInfo.Response? serverInfo = await response.Content.ReadFromJsonAsync<GetServerInfo.Response>();
|
|
serverInfo!.Environment.Should().NotBeEmpty();
|
|
serverInfo.CommitDate.Should().BeAfter(23.August(2024))
|
|
.And.NotBeAfter(DateTime.Now);
|
|
serverInfo.CommitId.Should().MatchRegex(@"[0-9a-f]{40}");
|
|
serverInfo.FullVersion.Should().MatchRegex(@"\d\.\d\.\d(-[0-9a-zA-Z]+)?(\+g?[0-9a-f]{10})?");
|
|
}
|
|
} |