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

namespace ServerTest.Web;

public class WebStartupServiceRegistrationTests
{
    private static String GetSourcePath(String relativePath) =>
        Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "../../../", relativePath));

    [Fact]
    public void Startup_Registers_HttpClientFactory_And_MySqlService()
    {
        var source = File.ReadAllText(GetSourcePath("Stardust.Web/Startup.cs"));

        Assert.Contains("services.AddHttpClient();", source);
        Assert.Contains("services.AddSingleton<IMySqlService, MySqlService>();", source);
        Assert.Contains("services.AddHostedService(s => (MySqlService)s.GetRequiredService<IMySqlService>());", source);
    }

    [Fact]
    public void AppClientLogController_Uses_ShardingAware_Search()
    {
        var source = File.ReadAllText(GetSourcePath("Stardust.Web/Areas/Registry/Controllers/AppClientLogController.cs"));

        Assert.Contains("var appId = p[\"appId\"].ToInt(-1);", source);
        Assert.Contains("var threadId = p[\"threadId\"];", source);
        Assert.Contains("if (start.Year < 2000 && end.Year < 2000)", source);
        Assert.Contains("return AppClientLog.Search(threadId, appId, start, end, p[\"Q\"], p);", source);
    }
}