Example #1
0
        public static bool PasswordExpirationDate(PasswordExpirationDateConfiguration config,
                                                  DateTime lastPasswordChange)
        {
            switch (config.PasswordExpiration)
            {
            case PasswordExpiration.Year:
                return(lastPasswordChange.AddMonths(12) >= DateTime.UtcNow);

            case PasswordExpiration.HalfYear:
                return(lastPasswordChange.AddMonths(6) >= DateTime.UtcNow);

            case PasswordExpiration.Month:
                return(lastPasswordChange.AddMonths(1) >= DateTime.UtcNow);

            case PasswordExpiration.Custom:
                if (!config.CustomValue.HasValue)
                {
                    throw new Exception("Custom password expiration date not set.");
                }
                return(lastPasswordChange.AddDays(config.CustomValue.Value) >= DateTime.UtcNow);

            default:
                throw new Exception("Bad policy");
            }
        }
Example #2
0
        public void PasswordExpirationDateCheckShouldReturnFalseBecauseOfDateExpired()
        {
            // arrange
            var configuration = new PasswordExpirationDateConfiguration
            {
                PasswordExpiration = PasswordExpiration.Month
            };

            // act
            var checkResult = Check.PasswordExpirationDate(configuration, DateTime.Now.AddMonths(-2));

            // assert
            Assert.False(checkResult);
        }
Example #3
0
 public IActionResult SavePasswordExpirationPolicy(Policy policy, int projectId,
                                                   PasswordExpirationDateConfiguration policySettings)
 {
     try
     {
         savePolicyToProjectFactory.Create().Invoke(projectId, policy, policySettings);
         Alert(AlertType.Success, "Policy added correctly.");
         return(RedirectToAction("GetById", "Projects", new { id = projectId }));
     }
     catch (Exception ex)
     {
         Alert(AlertType.Warning, ex.Message);
         return(View("ErrorPage"));
     }
 }
Example #4
0
        public void PasswordExpirationDateCheckShouldReturnTrue()
        {
            // arrange
            var configuration = new PasswordExpirationDateConfiguration
            {
                PasswordExpiration = PasswordExpiration.Custom,
                CustomValue        = 42
            };

            // act
            var checkResult = Check.PasswordExpirationDate(configuration, DateTime.UtcNow.AddDays(-41));

            // assert
            Assert.True(checkResult);
        }