public async Task Auth_Should_Not_Add_The_User_To_The_CurrentlyLoggedInUsersSingleton_If_Grant_Type_Is_refresh_token() { this.tokenServiceMock = new Mock <ITokenService>(); this.tokenServiceMock.Setup(m => m.ReplaceUserRefreshToken(It.IsAny <string>(), It.IsAny <string>())) .Returns(Task.FromResult(new Token() { UserId = "user-id", Value = "token-value" })); this.Arrange_Configuration(); this.configurationMock = new Mock <IConfiguration>(); this.tokenController = new TokenController(this.tokenServiceMock.Object, this.configuration); var model = this.CreateTokenRequestModelWithPasswordGrantType(); model.grant_type = "refresh_token"; IActionResult result = await this.tokenController.Auth(model); int keysCount = CurrentlyLoggedInUsersSingleton.GetAllUsernames().Count(); this.Annihilate(); Assert.Equal(0, keysCount); }
public async Task <IActionResult> GetUsers() { var currentUser = await this.authManager.GetUserAsync(HttpContext.User); var allUsers = CurrentlyLoggedInUsersSingleton.GetAllUsernames() .Where(v => string.Equals(v, currentUser.UserName, StringComparison.OrdinalIgnoreCase) == false) .ToList(); return(Json(allUsers, jsonSettings)); }
public async Task GetUsers_Should_Return_JsonResult() { this.Arrange(); CurrentlyLoggedInUsersSingleton.AddNewEntry("user", "user-id"); CurrentlyLoggedInUsersSingleton.AddNewEntry("second-user", "second-user-id"); var result = await this.userController.GetUsers(); this.Annihilate(); Assert.IsType <JsonResult>(result); }
private void Annihilate() { this.tokenServiceMock = null; this.configurationMock = null; this.configuration = null; this.tokenServiceMock = null; var allUsernames = CurrentlyLoggedInUsersSingleton.GetAllUsernames(); foreach (var username in allUsernames) { CurrentlyLoggedInUsersSingleton.RemoveEntryByKey(username); } }
private async Task <IActionResult> GetToken(TokenRequestViewModel model) { try { Token refreshToken = await this.tokenService.CreateUserRefreshToken(model.username, model.password, model.client_id); CurrentlyLoggedInUsersSingleton.AddNewEntry(model.username, refreshToken.UserId); TokenResponseViewModel tokenResponse = this.CreateAccessToken(refreshToken.UserId, refreshToken.Value, model.username); return(Json(tokenResponse)); } catch (VideoChatWebAppMainException e) when(e is UserNotFoundException || e is UserPasswordMissmatchException) { return(new UnauthorizedResult()); } }
public async Task GetUsers_Should_Return_All_Users_Except_The_Current_User() { this.Arrange(); CurrentlyLoggedInUsersSingleton.AddNewEntry("username", "user-id"); CurrentlyLoggedInUsersSingleton.AddNewEntry("second-user", "second-user-id"); var actionResult = await this.userController.GetUsers(); this.Annihilate(); JsonResult result = actionResult as JsonResult; List <string> usernames = result.Value as List <string>; Assert.Single(usernames); Assert.Equal("second-user", usernames.ElementAt(0)); }