public async Task TestChangePassword()
        {
            Utilisateur utilisateur = new Utilisateur {
                Nom         = "Kahuma",
                Postnom     = "Luzolo",
                Prenom      = "Precieu",
                Sexe        = Sexe.Masculin,
                Photosrc    = "",
                Email       = "*****@*****.**",
                Username    = "******",
                Password    = "******",
                NiveauAcces = NiveauAcces.Utilisateur
            };

            var response = await TestClient.PostAsJsonAsync(route + "create", utilisateur);

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            Utilisateur utilisateur1 = await response.Content.ReadAsAsync <Utilisateur>();

            var response1 = await TestClient.GetAsync(route + "getbyid?id=" + utilisateur1.Id);

            response1.StatusCode.Should().Be(HttpStatusCode.OK);
            Utilisateur u = await response1.Content.ReadAsAsync <Utilisateur>();

            u.Equals(utilisateur1).Should().BeTrue();

            string token = GetEncrypt(u.Username);

            UtilisateurNewPassword utilisateurNewPassword = new UtilisateurNewPassword {
                Token    = token,
                Username = u.Username,
                Password = "******"
            };

            var response2 = await TestClient.PutAsJsonAsync(route + "changepassword", utilisateurNewPassword);

            response2.StatusCode.Should().Be(HttpStatusCode.OK);
            Utilisateur u1 = await response2.Content.ReadAsAsync <Utilisateur>();

            u1.Equals(u).Should().BeFalse();
            u1.Equals(utilisateur1).Should().BeFalse();
            u1.Password.Equals(u.Password).Should().BeFalse();
            u1.Password.Equals(utilisateur1.Password).Should().BeFalse();

            var response3 = await TestClient.GetAsync(route + "getbyid?id=" + utilisateur1.Id);

            response3.StatusCode.Should().Be(HttpStatusCode.OK);
            Utilisateur u2 = await response3.Content.ReadAsAsync <Utilisateur>();

            u2.Equals(u).Should().BeFalse();
            u2.Equals(utilisateur1).Should().BeFalse();
            u2.Password.Equals(u.Password).Should().BeFalse();
            u2.Password.Equals(utilisateur1.Password).Should().BeFalse();
        }
 public async Task <ActionResult <Utilisateur> > ChangePassword(UtilisateurNewPassword unp)
 {
     if (unp.Token != null)
     {
         if (!UtilisateurService.IsChangePasswordTokenValid(unp.Token, unp.Username))
         {
             return(null);
         }
     }
     return(await UtilisateurService.ChangePassword(unp.Username, unp.Password));
 }