节点在线、应用在线、配置在线使用令牌查询
大石头 authored at 2021-12-16 19:49:30
1.43 KiB
Stardust
using Stardust.WebApiTests.Fixtures;
using Xunit;
using Xunit.Abstractions;

namespace Stardust.WebApiTests.Areas;

/// <summary>监控域:链路追踪与告警组。</summary>
[Collection(WebApiCollection.Name)]
public class MonitorsTests
{
    private readonly ApiClient _api;

    public MonitorsTests(WebApiTestFactory factory, ITestOutputHelper output) => _api = new(factory, output);

    public static TheoryData<String> Endpoints => new()
    {
        "Monitors/TraceData/GetFields?kind=List",
        "Monitors/Trace/GetFields?kind=List",
        "Monitors/AlarmGroup/GetFields?kind=List",
        "Monitors/AlarmHistory/GetFields?kind=List",
        "Monitors/AlarmRecord/GetFields?kind=List",
        "Monitors/AppDayStat/GetFields?kind=List",
        "Monitors/AppMinuteStat/GetFields?kind=List",
        "Monitors/AppTracer/GetFields?kind=List",
        "Monitors/SampleData2/GetFields?kind=List",
        "Monitors/SampleData/GetFields?kind=List",
        "Monitors/TraceDayStat/GetFields?kind=List",
        "Monitors/TraceHourStat/GetFields?kind=List",
        "Monitors/TraceItem/GetFields?kind=List",
        "Monitors/TraceMinuteStat/GetFields?kind=List",
        "Monitors/TraceRule/GetFields?kind=List",
    };

    [Theory]
    [MemberData(nameof(Endpoints))]
    public async Task GetFields_ReturnsFieldList(String endpoint)
    {
        var api = await _api.GetJsonAsync(endpoint);

        ApiAssert.FieldList(api.Data, endpoint);
    }
}