42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
|
|
using Microsoft.AspNetCore.Mvc.Testing;
|
||
|
|
using Xunit;
|
||
|
|
using System.Text.Json;
|
||
|
|
|
||
|
|
namespace DiunaBI.Tests;
|
||
|
|
|
||
|
|
public class ApiConnectionTests : IClassFixture<WebApplicationFactory<Program>>
|
||
|
|
{
|
||
|
|
private readonly WebApplicationFactory<Program> _factory;
|
||
|
|
|
||
|
|
public ApiConnectionTests(WebApplicationFactory<Program> factory)
|
||
|
|
{
|
||
|
|
_factory = factory;
|
||
|
|
}
|
||
|
|
|
||
|
|
[Fact]
|
||
|
|
public async Task PingToApi()
|
||
|
|
{
|
||
|
|
var client = _factory.CreateClient();
|
||
|
|
|
||
|
|
var response = await client.GetAsync("/api/Ping/Ping");
|
||
|
|
var content = await response.Content.ReadAsStringAsync();
|
||
|
|
var statusCode = (int)response.StatusCode;
|
||
|
|
|
||
|
|
Assert.Equal(200, statusCode);
|
||
|
|
Assert.Equal("Pong", content);
|
||
|
|
}
|
||
|
|
|
||
|
|
[Fact]
|
||
|
|
public async Task DatabaseConnectionTest()
|
||
|
|
{
|
||
|
|
var client = _factory.CreateClient();
|
||
|
|
|
||
|
|
var response = await client.GetAsync("/api/Layers?start=0&limit=1");
|
||
|
|
var content = await response.Content.ReadAsStringAsync();
|
||
|
|
var statusCode = (int)response.StatusCode;
|
||
|
|
|
||
|
|
Assert.Equal(200, statusCode);
|
||
|
|
var layers = JsonSerializer.Deserialize<dynamic>(content);
|
||
|
|
Assert.NotNull(layers);
|
||
|
|
}
|
||
|
|
}
|