예제 #1
0
            public static async Task <TestAutoHandler> Create(string scheme, bool auto)
            {
                var handler = new TestAutoHandler();
                var context = new DefaultHttpContext();

                context.Features.Set <IHttpResponseFeature>(new TestResponse());
                await handler.InitializeAsync(new TestAutoOptions(), context, new LoggerFactory().CreateLogger("TestAutoHandler"), Framework.WebEncoders.UrlEncoder.Default);

                handler.Options.AuthenticationScheme    = scheme;
                handler.Options.AutomaticAuthentication = auto;
                return(handler);
            }
예제 #2
0
        public void AutomaticHandlerShouldNotHandleChallengeWhenSchemesNotEmpty()
        {
            var handler = new TestAutoHandler(null, true);

            Assert.False(handler.ShouldHandleScheme(new string[] { "Alpha" }));
        }
예제 #3
0
        public void AutomaticHandlerShouldNotHandleChallengeWhenSchemeDoesNotMatches()
        {
            var handler = new TestAutoHandler("Dog", true);

            Assert.False(handler.ShouldHandleScheme(new string[] { "Alpha" }));
        }
예제 #4
0
        public void AutomaticHandlerShouldHandleSchemeWhenSchemeMatches()
        {
            var handler = new TestAutoHandler("Alpha", true);

            Assert.True(handler.ShouldHandleScheme(new string[] { "Alpha" }));
        }
예제 #5
0
        public void AutomaticHandlerInAutomaticModeHandlesEmptyChallenges()
        {
            var handler = new TestAutoHandler("ignored", true);

            Assert.True(handler.ShouldHandleScheme(new string[0]));
        }
예제 #6
0
        public void AutomaticHandlerIgnoresWhitespaceScheme()
        {
            var handler = new TestAutoHandler("ignored", true);

            Assert.False(handler.ShouldHandleScheme("    "));
        }
예제 #7
0
        public void AutomaticHandlerHandlesNullScheme()
        {
            var handler = new TestAutoHandler("ignored", true);

            Assert.True(handler.ShouldHandleScheme(null));
        }
        public async Task AutomaticHandlerShouldNotHandleChallengeWhenSchemesNotEmpty()
        {
            var handler = await TestAutoHandler.Create(null, true);

            Assert.False(handler.ShouldHandleScheme("Alpha", handleAutomatic: true));
        }
        public async Task AutomaticHandlerShouldHandleSchemeWhenSchemeMatches()
        {
            var handler = await TestAutoHandler.Create("Alpha", true);

            Assert.True(handler.ShouldHandleScheme("Alpha", handleAutomatic: true));
        }
예제 #10
0
        public async Task AutomaticHandlerDoesNotHandleSchemes(string scheme)
        {
            var handler = await TestAutoHandler.Create("ignored", true);

            Assert.False(handler.ShouldHandleScheme(scheme, handleAutomatic: true));
        }
예제 #11
0
        public async Task AutomaticHandlerInAutomaticModeHandlesEmptyChallenges()
        {
            var handler = await TestAutoHandler.Create("ignored", true);

            Assert.True(handler.ShouldHandleScheme(AuthenticationManager.AutomaticScheme, handleAutomatic: true));
        }
예제 #12
0
        public async Task AutomaticHandlerShouldNotHandleChallengeWhenSchemeDoesNotMatches()
        {
            var handler = await TestAutoHandler.Create("Dog", true);

            Assert.False(handler.ShouldHandleScheme("Alpha"));
        }
예제 #13
0
        public async Task AutomaticHandlerIgnoresWhitespaceScheme()
        {
            var handler = await TestAutoHandler.Create("ignored", true);

            Assert.False(handler.ShouldHandleScheme("    "));
        }
예제 #14
0
        public async Task AutomaticHandlerHandlesNullScheme()
        {
            var handler = await TestAutoHandler.Create("ignored", true);

            Assert.True(handler.ShouldHandleScheme(null));
        }