// *********************************************************************** // Assembly : OpenAuth.Mvc // Author : 李玉宝 // Created : 07-02-2018 // // Last Modified By : 李玉宝 // Last Modified On : 07-02-2018 // *********************************************************************** // // Copyright (c) http://www.openauth.net.cn. All rights reserved. // // // 测试加载用户菜单 // // *********************************************************************** using System; using System.Diagnostics; using Infrastructure; using Infrastructure.Cache; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Moq; using NUnit.Framework; using OpenAuth.App; using OpenAuth.App.SSO; using OpenAuth.App.Test; using OpenAuth.Mvc.Controllers; namespace OpenAuth.Mvc.Test { public class UserSessionControllerTest : TestBase { //如果要测试controller,则要重写 public override ServiceCollection GetService() { var services = new ServiceCollection(); var cachemock = new Mock(); cachemock.Setup(x => x.Get("tokentest")).Returns(new UserAuthSession{Account = Define.SYSTEM_USERNAME}); services.AddScoped(x => cachemock.Object); var httpContextAccessorMock = new Mock(); httpContextAccessorMock.Setup(x => x.HttpContext.Request.Query[Define.TOKEN_NAME]).Returns("tokentest"); services.AddScoped(x => httpContextAccessorMock.Object); services.AddMvc().AddControllersAsServices(); services.AddScoped(); //读取配置文件 IConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); // Duplicate here any configuration sources you use. configurationBuilder.AddJsonFile("AppSettings.json"); IConfiguration configuration = configurationBuilder.Build(); services.Configure(configuration.GetSection("AppSetting")); return services; } [Test] public void GetModulesTree() { Stopwatch watch = Stopwatch.StartNew(); var controller = _autofacServiceProvider.GetService(); var result = controller.GetModulesTree(); Console.WriteLine(JsonHelper.Instance.Serialize(result)); watch.Stop(); Console.WriteLine($"总耗时:{watch.ElapsedMilliseconds}"); } } }