Example #1
0
        public static WTMContext CreateWtmContext(IDataContext dataContext = null, string usercode = null)
        {
            GlobalData gd = new GlobalData();

            gd.AllAccessUrls = new List <string>();
            gd.AllAssembly   = new List <System.Reflection.Assembly>();
            gd.AllModule     = new List <WalkingTec.Mvvm.Core.Support.Json.SimpleModule>();

            Mock <HttpContext>      mockHttpContext = new Mock <HttpContext>();
            Mock <HttpRequest>      mockHttpRequest = new Mock <HttpRequest>();
            Mock <IServiceProvider> mockService     = new Mock <IServiceProvider>();
            MockHttpSession         mockSession     = new MockHttpSession();

            mockHttpRequest.Setup(x => x.Cookies).Returns(new MockCookie());
            var cache = new MemoryDistributedCache(Options.Create <MemoryDistributedCacheOptions>(new MemoryDistributedCacheOptions()));
            var res   = new ResourceManagerStringLocalizerFactory(Options.Create <LocalizationOptions>(new LocalizationOptions {
                ResourcesPath = "Resources"
            }), new Microsoft.Extensions.Logging.LoggerFactory());

            mockService.Setup(x => x.GetService(typeof(IDistributedCache))).Returns(cache);
            mockHttpContext.Setup(x => x.Request).Returns(mockHttpRequest.Object);
            mockHttpContext.Setup(x => x.RequestServices).Returns(mockService.Object);
            var httpa = new HttpContextAccessor();

            httpa.HttpContext = mockHttpContext.Object;
            var wtmcontext = new WTMContext(null, new GlobalData(), httpa, new DefaultUIService(), null, dataContext, res, cache: cache);

            wtmcontext.MSD     = new BasicMSD();
            wtmcontext.Session = new SessionServiceProvider(mockSession);
            if (dataContext == null)
            {
                wtmcontext.DC = new EmptyContext(Guid.NewGuid().ToString(), DBTypeEnum.Memory);
            }
            else
            {
                wtmcontext.DC = dataContext;
            }
            wtmcontext.LoginUserInfo = new LoginUserInfo {
                ITCode = usercode ?? "user"
            };
            wtmcontext.GlobaInfo.AllAccessUrls = new List <string>();
            wtmcontext.GlobaInfo.AllAssembly   = new List <System.Reflection.Assembly>();
            wtmcontext.GlobaInfo.AllModule     = new List <WalkingTec.Mvvm.Core.Support.Json.SimpleModule>();
            mockService.Setup(x => x.GetService(typeof(WtmFileProvider))).Returns(new WtmFileProvider(wtmcontext));
            return(wtmcontext);
        }
Example #2
0
 /// <summary>
 /// Custom Reload user process when cache is not available
 /// 设置自定义的方法重新读取用户信息,这个方法会在用户缓存失效的时候调用
 /// </summary>
 /// <param name="context"></param>
 /// <param name="account"></param>
 /// <returns></returns>
 public LoginUserInfo ReloadUser(WTMContext context, string account)
 {
     return(null);
 }