Beispiel #1
0
        public async Task<IHttpActionResult> ChangePassword(ChangePasswordBindingModel model)
        {
            if (!ModelState.IsValid)
                return BadRequest(ModelState);


            if (model == null || model.NewPassword == null || model.OldPassword == null)
                return BadRequest("Parameters cannot be null");

            if (User.Identity.GetUserId() == null)
                return BadRequest("Unknown User");

            IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword,
                model.NewPassword);

            if (!result.Succeeded)
                return BadRequest(result.Errors.Aggregate("", (current, error) => current + (error + ", ")));

            return Ok("ok");
        }
Beispiel #2
0
        public void ChangePassword()
        {
            var controller = InitController();


            CancellationTokenSource cs = new CancellationTokenSource();
            CancellationToken t = cs.Token;


            // Test 1
            var result = controller.ChangePassword(null);
            var response = result.Result.ExecuteAsync(t).Result;
            var code = response.StatusCode;

            Assert.AreEqual(HttpStatusCode.BadRequest, code);
            var value = response.Content.ReadAsStringAsync().Result;
            Assert.IsTrue(value.Contains("Parameters cannot be null"));


            // Test 2
            var model = new ChangePasswordBindingModel { NewPassword = "******" };
            result = controller.ChangePassword(model);
            response = result.Result.ExecuteAsync(t).Result;
            code = response.StatusCode;

            Assert.AreEqual(HttpStatusCode.BadRequest, code);
            value = response.Content.ReadAsStringAsync().Result;
            Assert.IsTrue(value.Contains("Parameters cannot be null"));


            //Test 3 
            model = new ChangePasswordBindingModel { OldPassword = "******" };
            result = controller.ChangePassword(model);
            response = result.Result.ExecuteAsync(t).Result;
            code = response.StatusCode;

            Assert.AreEqual(HttpStatusCode.BadRequest, code);
            value = response.Content.ReadAsStringAsync().Result;
            Assert.IsTrue(value.Contains("Parameters cannot be null"));


            // Test 4
            model = new ChangePasswordBindingModel { NewPassword = "******", OldPassword = ""};
            result = controller.ChangePassword(model);
            response = result.Result.ExecuteAsync(t).Result;
            code = response.StatusCode;

            Assert.AreEqual(HttpStatusCode.BadRequest, code);

            // Test 5
            model = new ChangePasswordBindingModel { NewPassword = "", OldPassword = "******" };
            result = controller.ChangePassword(model);
            response = result.Result.ExecuteAsync(t).Result;
            code = response.StatusCode;

            Assert.AreEqual(HttpStatusCode.BadRequest, code);

            // Test 6
            model = new ChangePasswordBindingModel { NewPassword = "", OldPassword = "" };
            result = controller.ChangePassword(model);
            response = result.Result.ExecuteAsync(t).Result;
            code = response.StatusCode;

            Assert.AreEqual(HttpStatusCode.BadRequest, code);

            //test 7
            model = new ChangePasswordBindingModel { NewPassword = "******", OldPassword = "******" };
            result = controller.ChangePassword(model);
            response = result.Result.ExecuteAsync(t).Result;
            code = response.StatusCode;

            // if unknown user BadRequest else OK
            Assert.IsTrue(HttpStatusCode.OK == code || HttpStatusCode.BadRequest == code);

        }