OnGetAsync() public method

public OnGetAsync ( ) : Task
return Task
示例#1
0
        public async Task OnGetAsync_WithError()
        {
            // Arrange
            var httpContext   = new DefaultHttpContext();
            var modelState    = new ModelStateDictionary();
            var actionContext = new ActionContext(
                httpContext: httpContext,
                routeData: new RouteData(),
                actionDescriptor: new PageActionDescriptor(),
                modelState: modelState);
            var viewData = new ViewDataDictionary(
                metadataProvider: new EmptyModelMetadataProvider(),
                modelState: modelState);
            var login = new LoginModel(_signInManager.Object, _userManager.Object, _logger.Object)
            {
                PageContext = new PageContext(actionContext)
                {
                    ViewData    = viewData,
                    HttpContext = httpContext
                },
                Url          = new UrlHelper(actionContext),
                ErrorMessage = "Error"
            };

            // Act
            var get = await login.OnGetAsync().ConfigureAwait(false);

            // Assert
            Assert.IsType <PageResult>(get);
            Assert.Equal(login.Url.Content("~/"), login.ReturnUrl);
            Assert.Equal(1, login.ModelState.ErrorCount);
        }
示例#2
0
        public async Task OnGetAsync()
        {
            // Arrange
            const string returnUrl      = "~/return-url";
            var          requestUri     = new Uri("http://localhost");
            var          requestHeaders = new HeaderDictionary
            {
                [Referer] = requestUri.ToString()
            };
            var requestFeature = new Mock <IHttpRequestFeature>();

            requestFeature.Setup(x => x.Headers).Returns(requestHeaders);
            var featureCollection = new Mock <IFeatureCollection>();

            featureCollection.Setup(x => x.Get <IHttpRequestFeature>()).Returns(requestFeature.Object);
            var httpContext   = new DefaultHttpContext(featureCollection.Object);
            var modelState    = new ModelStateDictionary();
            var actionContext = new ActionContext(
                httpContext: httpContext,
                routeData: new RouteData(),
                actionDescriptor: new PageActionDescriptor(),
                modelState: modelState);
            var viewData = new ViewDataDictionary(
                metadataProvider: new EmptyModelMetadataProvider(),
                modelState: modelState);
            var handlerType           = typeof(JwtBearerHandler);
            var authenticationSchemes = new List <AuthenticationScheme>
            {
                new AuthenticationScheme("Scheme1", "Scheme 1", handlerType),
                new AuthenticationScheme("Scheme2", "Scheme 2", handlerType),
                new AuthenticationScheme("Scheme3", "Scheme 3", handlerType)
            };

            _signInManager.Setup(x => x.GetExternalAuthenticationSchemesAsync()).ReturnsAsync(authenticationSchemes);
            var login = new LoginModel(_signInManager.Object, _userManager.Object, _logger.Object)
            {
                PageContext = new PageContext(actionContext)
                {
                    ViewData    = viewData,
                    HttpContext = httpContext
                },
                Url = new UrlHelper(actionContext)
            };

            // Act
            var get = await login.OnGetAsync(returnUrl).ConfigureAwait(false);

            // Assert
            Assert.IsType <PageResult>(get);
            _signInManager.Verify(x => x.SignOutAsync(), Times.Once);
            Assert.Equal(login.ReturnUrl, returnUrl);
            Assert.Equal(login.ExternalLogins, authenticationSchemes);
        }
示例#3
0
        public async Task OnGetAsync_WithError()
        {
            // Arrange
            var requestUri     = new Uri("http://localhost");
            var requestHeaders = new HeaderDictionary
            {
                [Host] = requestUri.Host
            };
            var requestFeature = new Mock <IHttpRequestFeature>();

            requestFeature.Setup(x => x.Scheme).Returns(requestUri.Scheme);
            requestFeature.Setup(x => x.Headers).Returns(requestHeaders);
            var featureCollection = new Mock <IFeatureCollection>();

            featureCollection.Setup(x => x.Get <IHttpRequestFeature>()).Returns(requestFeature.Object);
            var httpContext   = new DefaultHttpContext(featureCollection.Object);
            var modelState    = new ModelStateDictionary();
            var actionContext = new ActionContext(
                httpContext: httpContext,
                routeData: new RouteData(),
                actionDescriptor: new PageActionDescriptor(),
                modelState: modelState);
            var viewData = new ViewDataDictionary(
                metadataProvider: new EmptyModelMetadataProvider(),
                modelState: modelState);
            var login = new LoginModel(_signInManager.Object, _userManager.Object, _logger.Object)
            {
                PageContext = new PageContext(actionContext)
                {
                    ViewData    = viewData,
                    HttpContext = httpContext
                },
                Url          = new UrlHelper(actionContext),
                ErrorMessage = "Error"
            };

            // Act
            var get = await login.OnGetAsync().ConfigureAwait(false);

            // Assert
            Assert.IsType <PageResult>(get);
            Assert.Equal(login.Url.Content("~/"), login.ReturnUrl);
            Assert.Equal(1, login.ModelState.ErrorCount);
        }