Example #1
0
        public async Task HasClaim_AndAuthenticated_ButRemoved()
        {
            var invoked    = false;
            var middleware = new CheckIfAccountExistMiddleware(next:
                                                               (_) =>
            {
                invoked = true;
                return(Task.FromResult(0));
            });

            var httpContextAccessor = _serviceProvider.GetRequiredService <IHttpContextAccessor>();
            var userManager         = _serviceProvider.GetRequiredService <IUserManager>();

            var result = await userManager.SignUpAsync("test", "email", "test", "test");

            await userManager.SignIn(httpContextAccessor.HttpContext, result.User);

            // and remove user
            await userManager.RemoveUser("email", "test");


            await middleware.Invoke(httpContextAccessor.HttpContext);

            Assert.IsFalse(invoked);
            Assert.AreEqual(401, httpContextAccessor.HttpContext.Response.StatusCode);
        }
Example #2
0
        public void GetUserTableIdFromClaims_NameIdentifierNull()
        {
            var fromClaims = CheckIfAccountExistMiddleware.GetUserTableIdFromClaims(
                new DefaultHttpContext {
                User = new ClaimsPrincipal()
            });

            Assert.AreEqual(0, fromClaims);
        }
Example #3
0
        public void GetUserTableIdFromClaims_Valid()
        {
            var userId      = "2";
            var httpContext = new DefaultHttpContext();
            var claims      = new List <Claim> {
                new Claim(ClaimTypes.NameIdentifier, userId)
            };

            httpContext.User = new ClaimsPrincipal(new ClaimsIdentity(claims));

            var fromClaims = CheckIfAccountExistMiddleware.GetUserTableIdFromClaims(httpContext);

            Assert.AreEqual(2, fromClaims);
        }
Example #4
0
        public async Task NotLoggedIn()
        {
            var invoked    = false;
            var middleware = new CheckIfAccountExistMiddleware(next:
                                                               (_) =>
            {
                invoked = true;
                return(Task.FromResult(0));
            });

            var httpContext = new DefaultHttpContext
            {
                Request =
                {
                    Path = "/api/index"
                }
            };
            await middleware.Invoke(httpContext);

            Assert.IsTrue(invoked);
        }
Example #5
0
        public async Task HasClaim_AndAuthenticated()
        {
            var invoked    = false;
            var middleware = new CheckIfAccountExistMiddleware(next:
                                                               (_) =>
            {
                invoked = true;
                return(Task.FromResult(0));
            });

            var httpContextAccessor = _serviceProvider.GetRequiredService <IHttpContextAccessor>();
            var userManager         = _serviceProvider.GetRequiredService <IUserManager>();

            var result = await userManager.SignUpAsync("test", "email", "test", "test");

            await userManager.SignIn(httpContextAccessor.HttpContext, result.User);

            await middleware.Invoke(httpContextAccessor.HttpContext);

            Assert.IsTrue(invoked);
            Assert.IsTrue(httpContextAccessor.HttpContext.User.Identity.IsAuthenticated);
        }