diff --git a/test/raven-integration/User/UserCrud.cs b/test/raven-integration/User/UserCrud.cs index 76ae2ee7..4078b326 100644 --- a/test/raven-integration/User/UserCrud.cs +++ b/test/raven-integration/User/UserCrud.cs @@ -220,24 +220,69 @@ namespace raven_integration Util.ValidateDataReturnResponseOk(R); + //PUT + var NewPassword = "NEW_PASSWORD"; + D.password = NewPassword; + D.concurrencyToken=OriginalConcurrencyToken; + R = await Util.PutAsync("User/" + UserId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in"), D.ToString()); + Util.ValidateDataReturnResponseOk(R); + + //Test can login with new creds + //dynamic DCreds = new JObject(); + DCreds.password = NewPassword; + DCreds.login = D.login; + R = await Util.PostAsync("Auth", null, DCreds.ToString()); + Util.ValidateDataReturnResponseOk(R); + } + + + /// + /// + /// + [Fact] + public async void PutPasswordShouldWork() + { + //CREATE + dynamic D = new JObject(); + D.name = Util.Uniquify("PutPasswordShouldWork"); + D.ownerId = 1L; + D.active = true; + D.login = Util.Uniquify("LOGIN"); + D.password = Util.Uniquify("PASSWORD"); + D.roles = 0;//norole + D.localeId = 1;//random locale + D.userType = 3;//non scheduleable + + ApiResponse R = await Util.PostAsync("User", await Util.GetTokenAsync("manager", "l3tm3in"), D.ToString()); + Util.ValidateDataReturnResponseOk(R); + long UserId = R.ObjectResponse["result"]["id"].Value(); + uint OriginalConcurrencyToken = R.ObjectResponse["result"]["concurrencyToken"].Value(); + + //Test can login + dynamic DCreds = new JObject(); + DCreds.password = D.password; + DCreds.login = D.login; + R = await Util.PostAsync("Auth", null, DCreds.ToString()); + Util.ValidateDataReturnResponseOk(R); + + //PATCH var newPassword = "NEW_PASSWORD"; string patchJson = "[{\"value\": \"" + newPassword + "\",\"path\": \"/password\",\"op\": \"replace\"}]"; R = await Util.PatchAsync("User/" + UserId.ToString() + "/" + OriginalConcurrencyToken.ToString(), await Util.GetTokenAsync("manager", "l3tm3in"), patchJson); - Util.ValidateDataReturnResponseOk(R); + Util.ValidateDataReturnResponseOk(R); - //Test can login with new creds + //Test can login with new creds //dynamic DCreds = new JObject(); DCreds.password = newPassword; DCreds.login = D.login; R = await Util.PostAsync("Auth", null, DCreds.ToString()); - Util.ValidateDataReturnResponseOk(R); + Util.ValidateDataReturnResponseOk(R); } - //================================================== }//eoc