mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-04-05 17:38:01 +08:00
71 lines
2.0 KiB
C#
71 lines
2.0 KiB
C#
using System;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using Infrastructure;
|
|
using Infrastructure.Cache;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Moq;
|
|
using NUnit.Framework;
|
|
using OpenAuth.App.Request;
|
|
using OpenAuth.App.SSO;
|
|
using OpenAuth.Repository;
|
|
using OpenAuth.Repository.Domain;
|
|
using OpenAuth.Repository.Interface;
|
|
|
|
namespace OpenAuth.App.Test
|
|
{
|
|
public class TestDynamic : TestBase
|
|
{
|
|
public override ServiceCollection GetService()
|
|
{
|
|
var services = new ServiceCollection();
|
|
|
|
var cachemock = new Mock<ICacheContext>();
|
|
cachemock.Setup(x => x.Get<UserAuthSession>("tokentest"))
|
|
.Returns(new UserAuthSession { Account = Define.SYSTEM_USERNAME });
|
|
services.AddScoped(x => cachemock.Object);
|
|
|
|
var httpContextAccessorMock = new Mock<IHttpContextAccessor>();
|
|
httpContextAccessorMock.Setup(x => x.HttpContext.Request.Query[Define.TOKEN_NAME])
|
|
.Returns("tokentest");
|
|
|
|
services.AddScoped(x => httpContextAccessorMock.Object);
|
|
|
|
return services;
|
|
}
|
|
|
|
[Test]
|
|
public void Async()
|
|
{
|
|
Console.WriteLine($"开始异步测试");
|
|
|
|
var result =AddOrUpdate();
|
|
|
|
Console.WriteLine("异步测试结束");
|
|
|
|
//延长主线程,防止程序退出
|
|
Thread.Sleep(3000);
|
|
}
|
|
|
|
private async Task AddOrUpdate()
|
|
{
|
|
var repository = _autofacServiceProvider.GetService<IRepository<SysUser,OpenAuthDBContext>>();
|
|
|
|
var account = "user_" + DateTime.Now.ToString("yyyy_MM_dd HH:mm:ss");
|
|
|
|
var user = new SysUser
|
|
{
|
|
Account = account,
|
|
Name = account
|
|
};
|
|
await repository.AddAsync(user);
|
|
|
|
user.Account = "new_" + user.Account;
|
|
|
|
await repository.UpdateAsync(user);
|
|
Console.WriteLine($"更新完成");
|
|
}
|
|
}
|
|
}
|