public void FilterBasic() { using (var server = Microsoft.Owin.Testing.TestServer.Create(app => { var option = new LightNodeOptions(AcceptVerbs.Get | AcceptVerbs.Post, new JavaScriptContentFormatter()); option.Filters.Add(async (context, next) => { context.ContractName.Is("FilterTestContract"); context.OperationName.Is("Hoge"); context.Verb.Is(AcceptVerbs.Get); var filterList = context.Environment["filter"] as List<string>; filterList.Add("Global2"); await next(); }, order: 1000); option.Filters.Add(async (context, next) => { context.ContractName.Is("FilterTestContract"); context.OperationName.Is("Hoge"); context.Verb.Is(AcceptVerbs.Get); context.IsAttributeDefined<AllowAnonymousAttribute>().IsTrue(); context.IsAttributeDefined<MustMobileAttribute>().IsFalse(); context.GetAttributes<AllowAnonymousAttribute>().First().GetType().Is(typeof(AllowAnonymousAttribute)); var filterList = context.Environment["filter"] as List<string>; filterList.Add("Global1"); await next(); }, order: -1000); app.Use(async (context, next) => { try { await next(); } finally { var filterList = context.Environment["filter"] as List<string>; filterList.Is("Contract1", "Global1", "Method1", "Global2"); } }); app.UseLightNode(option, typeof(MockEnv).Assembly); })) { server.CreateRequest("/FilterTestContract/Hoge").GetAsync().Wait(); } }
public void FilterBasic() { using (var server = Microsoft.Owin.Testing.TestServer.Create((Action <Owin.IAppBuilder>)(app => { var option = new LightNodeOptions(AcceptVerbs.Get | AcceptVerbs.Post, new JavaScriptContentFormatter()); option.Filters.Add(async(context, next) => { context.ContractName.Is("FilterTestContract"); context.OperationName.Is("Hoge"); context.Verb.Is(AcceptVerbs.Get); var filterList = context.Environment["filter"] as List <string>; filterList.Add("Global2"); await next(); }, order: 1000); option.Filters.Add(async(context, next) => { context.ContractName.Is("FilterTestContract"); context.OperationName.Is("Hoge"); context.Verb.Is(AcceptVerbs.Get); context.IsAttributeDefined <AllowAnonymousAttribute>().IsTrue(); context.IsAttributeDefined <MustMobileAttribute>().IsFalse(); context.GetAttributes <AllowAnonymousAttribute>().First().GetType().Is(typeof(AllowAnonymousAttribute)); var filterList = context.Environment["filter"] as List <string>; filterList.Add("Global1"); await next(); }, order: -1000); Owin.AppBuilderUseExtensions.Use(app, async(context, next) => { try { await next(); } finally { var filterList = context.Environment["filter"] as List <string>; filterList.Is("Contract1", "Global1", "Method1", "Global2"); } }); Owin.AppBuilderLightNodeMiddlewareExtensions.UseLightNode(app, option, typeof(MockEnv).Assembly); }))) { server.CreateRequest("/FilterTestContract/Hoge").GetAsync().Wait(); } }
public void LightNodeEventSourceLogging() { var listener = new MockEventListener(); listener.EnableEvents(LightNode.Diagnostics.LightNodeEventSource.Log, EventLevel.LogAlways); var testServer = TestServer.Create(app => { var option = new LightNodeOptions { Logger = LightNode.Diagnostics.LightNodeEventSource.Log }; app.UseLightNode(option, typeof(MockEnv).Assembly); }); (listener.EventList.Count > 0).IsTrue(); }
public void LightNodeEventSourceLogging() { var listener = new MockEventListener(); listener.EnableEvents(LightNode.Diagnostics.LightNodeEventSource.Log, EventLevel.LogAlways); var testServer = TestServer.Create((Action <Owin.IAppBuilder>)(app => { var option = new LightNodeOptions { Logger = LightNode.Diagnostics.LightNodeEventSource.Log }; Owin.AppBuilderLightNodeMiddlewareExtensions.UseLightNode(app, option, typeof(MockEnv).Assembly); })); (listener.EventList.Count > 0).IsTrue(); }
public void FilterBasic2() { using (var server = Microsoft.Owin.Testing.TestServer.Create(app => { var option = new LightNodeOptions(AcceptVerbs.Get | AcceptVerbs.Post, new JavaScriptContentFormatter()); option.Filters.Add(async (context, next) => { context.ContractName.Is("FilterTestContract"); context.OperationName.Is("Huga"); context.Verb.Is(AcceptVerbs.Get); var attr = context.GetAttributes<AllowAnonymousAttribute>(); attr.Count().Is(1); attr.First().Message.Is("aaa"); context.IsAttributeDefined<MustMobileAttribute>().IsTrue(); var filterList = context.Environment["filter"] as List<string>; filterList.Add("Global1"); await next(); }, order: 1000); app.Use(async (context, next) => { try { await next(); } finally { var filterList = context.Environment["filter"] as List<string>; filterList.Is("Contract1", "Global1"); } }); app.UseLightNode(option, typeof(MockEnv).Assembly); })) { server.CreateRequest("/FilterTestContract/Huga").GetAsync().Result.StatusCode.Is(System.Net.HttpStatusCode.NotFound); } }
public void FilterBasic2() { using (var server = Microsoft.Owin.Testing.TestServer.Create(app => { var option = new LightNodeOptions(AcceptVerbs.Get | AcceptVerbs.Post, new JavaScriptContentFormatter()); option.Filters.Add(async(context, next) => { context.ContractName.Is("FilterTestContract"); context.OperationName.Is("Huga"); context.Verb.Is(AcceptVerbs.Get); var attr = context.GetAttributes <AllowAnonymousAttribute>(); attr.Count().Is(1); attr.First().Message.Is("aaa"); context.IsAttributeDefined <MustMobileAttribute>().IsTrue(); var filterList = context.Environment["filter"] as List <string>; filterList.Add("Global1"); await next(); }, order: 1000); app.Use(async(context, next) => { try { await next(); } finally { var filterList = context.Environment["filter"] as List <string>; filterList.Is("Contract1", "Global1"); } }); app.UseLightNode(option, typeof(MockEnv).Assembly); })) { server.CreateRequest("/FilterTestContract/Huga").GetAsync().Result.StatusCode.Is(System.Net.HttpStatusCode.NotFound); } }
public static IAppBuilder UseLightNode(this IAppBuilder app, LightNodeOptions options, params Assembly[] hostAssemblies) { return(app.Use(typeof(LightNodeServerMiddleware), options, hostAssemblies)); }
public static IAppBuilder UseLightNode(this IAppBuilder app, LightNodeOptions options) { return(app.Use(typeof(LightNodeServerMiddleware), options)); }