Admin.Core/src/tests/ZhonTai.Tests/BaseControllerTest.cs

(开头部分) 8KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.ComponentModel;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Xunit;
using ZhonTai.Admin.Tools.Cache;
using ZhonTai.Admin.Tools.Captcha;
using ZhonTai.Admin.Core.Configs;
using ZhonTai.Admin.Services.Auth.Dto;
using ZhonTai.Admin.Core.Enums;
using System.Collections.Generic;
using ZhonTai.Admin.Core.Consts;

namespace ZhonTai.Tests;

public class BaseControllerTest : BaseTest
{
    private readonly ICacheTool _cache;
    private readonly ICaptchaTool _captcha;
    private readonly AppConfig _appConfig;

    protected BaseControllerTest()
    {
        _cache = GetService<ICacheTool>();
        _captcha = GetService<ICaptchaTool>();
        _appConfig = GetService<AppConfig>();
    }

    public static HttpContent GetHttpContent(object input, string contentType = "application/json;charset=UTF-8", ContentTypeEnum contentTypeEnum = ContentTypeEnum.Json)
    {
        // HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(input));
        var content = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(input));
        HttpContent httpContent;
        if (contentTypeEnum == ContentTypeEnum.FormData)
        {
            httpContent = new FormUrlEncodedContent(JsonConvert.DeserializeObject<Dictionary<string, string>>(JsonConvert.SerializeObject(input)));
        }
        else
        {
            httpContent = new ByteArrayContent(content);
        }
        httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType);
        return httpContent;
    }

    public static HttpContent GetHttpContent(object input, ContentTypeEnum contentTypeEnum)
    {
        var contentType = contentTypeEnum switch
        {
            ContentTypeEnum.Json => "application/json;charset=UTF-8",
            ContentTypeEnum.FormData => "application/x-www-form-urlencoded;charset=UTF-8",
            _ => string.Empty
        };
        return GetHttpContent(input, contentType, contentTypeEnum);
    }
后面还有 149 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。