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);
        }
Exemple #2
0
        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);
        }