public void Clean_ShouldNotReturnFullValueInPasswordHash() { string expectedId = "TestId"; DateTime expectedCreateDate = DateTime.Now; DateTime expectedUpdateDate = DateTime.Now; string expectedPasswordHash = "TestPasswordHash"; bool expectedHasPointsPersistence = false; long expectedTTL = 123456789; List <Player> expectedPlayers = new List <Player>() { new Player() { Name = "TestPlayerName", Points = 3 } }; TokenUser tokenUser = new TokenUser(); tokenUser.Id = expectedId; tokenUser.CreateDate = expectedCreateDate; tokenUser.UpdateDate = expectedUpdateDate; tokenUser.PasswordHash = expectedPasswordHash; tokenUser.HasPointsPersistence = expectedHasPointsPersistence; tokenUser.TTL = expectedTTL; tokenUser.Players = expectedPlayers; TokenUser cleansedTokenUser = tokenUser.Clean(); Assert.Equal(tokenUser.Id, cleansedTokenUser.Id); Assert.Equal(tokenUser.CreateDate, cleansedTokenUser.CreateDate); Assert.Equal(tokenUser.UpdateDate, cleansedTokenUser.UpdateDate); Assert.Equal(tokenUser.HasPointsPersistence, cleansedTokenUser.HasPointsPersistence); Assert.Equal(tokenUser.TTL, cleansedTokenUser.TTL); Assert.True(tokenUser.Players.SequenceEqual(cleansedTokenUser.Players)); Assert.NotEqual(tokenUser.PasswordHash, cleansedTokenUser.PasswordHash); }
public async Task <TokenUser> GetUserApplicationState(SkillRequest skillRequest) { if (!this.skillRequestValidator.IsValid(skillRequest)) { throw new ArgumentNullException("skillRequest"); } this.logger.LogTrace("BEGIN GetUserApplicationState. RequestId: {0}.", skillRequest.Request.RequestId); // Uniquely identifies each Token User string userId = await this.userProfileClient.GetUserId(skillRequest.Context.System.User.AccessToken); TokenUser tokenUser = await this.tokenUserData.Get(userId); tokenUser = tokenUser ?? RequestBusinessLogic.GenerateEmptyTokenUser(userId); tokenUser.HasPointsPersistence = await this.HasPointsPersistence(skillRequest); this.logger.LogTrace("END GetUserApplicationState. RequestId: {0}, TokenUser: {1}.", skillRequest.Request.RequestId, JsonConvert.SerializeObject(tokenUser.Clean())); return(tokenUser); }