Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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();
        }
Exemple #5
0
        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();
        }
Exemple #6
0
        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);
            }
        }
Exemple #8
0
 public static IAppBuilder UseLightNode(this IAppBuilder app, LightNodeOptions options, params Assembly[] hostAssemblies)
 {
     return(app.Use(typeof(LightNodeServerMiddleware), options, hostAssemblies));
 }
Exemple #9
0
 public static IAppBuilder UseLightNode(this IAppBuilder app, LightNodeOptions options)
 {
     return(app.Use(typeof(LightNodeServerMiddleware), options));
 }