节点在线、应用在线、配置在线使用令牌查询
大石头 authored at 2021-12-16 19:49:30
1.14 KiB
Stardust
using System.ComponentModel;
using System.Linq;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using NewLife.Log;
using Xunit;

namespace Stardust.Tests;

/// <summary>AddStardust 一行接入注册测试。</summary>
public class StarFactoryExtensionsTests
{
    /// <summary>AddStardust 自动注册追踪中间件与启动服务,无需再调用 UseStardust。</summary>
    [Fact]
    [DisplayName("AddStardust 一行注册追踪中间件与启动服务")]
    public void AddStardustRegistersAutoMiddlewareAndHostedService()
    {
        var services = new ServiceCollection();
        services.AddStardust(null, "Stardust.Tests.OneLine", null);

        Assert.Contains(services, e => e.ServiceType == typeof(StarFactory));
        Assert.Contains(services, e => e.ServiceType == typeof(ITracer));
        Assert.Contains(services, e => e.ServiceType == typeof(IHostedService) && e.ImplementationType?.Name == "StardustTracerHostedService");
        Assert.Contains(services, e => e.ServiceType == typeof(IStartupFilter) && e.ImplementationType?.Name == "StartupFilter");
    }
}