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); }
public void GetUserTableIdFromClaims_NameIdentifierNull() { var fromClaims = CheckIfAccountExistMiddleware.GetUserTableIdFromClaims( new DefaultHttpContext { User = new ClaimsPrincipal() }); Assert.AreEqual(0, fromClaims); }
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); }
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); }
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); }