public void Test_Bad_Param() { string actual = RandomChars.Generate(-1); Assert.AreNotEqual(-1, actual.Length, "length should not be less than zero"); Assert.AreEqual(0, actual.Length, "actual length should be 0"); }
public async Task <OperacionDto <RecuperarContraseniaRespuestaDto> > RecuperarContrasenia(RecuperarContraseniaPeticionDto peticion) { var validadModelo = ValidacionUtilitario.ValidarModelo <RecuperarContraseniaRespuestaDto>(peticion); if (!validadModelo.Completado) { return(validadModelo); } var entidad = await _usuarioRepositorio.BuscarPorUserName(peticion.UserName); if (entidad == null) { return(new OperacionDto <RecuperarContraseniaRespuestaDto>(CodigosOperacionDto.NoExiste, "Usuario no existe")); } var persona = await _personaRepositorio.ObtenerPorIdUsuario(entidad.IdUsuario); var nombreCompleto = default(string); if (persona != null) { nombreCompleto = $@"{persona.Nombre}, {persona.APaterno} {persona.AMaterno}"; } var password = RandomChars.RandomString(10); password = Regex.Replace(password, @"[^a-zA-Z0-9]", m => "9"); entidad.Password = Md5Utilitario.Cifrar(password, entidad.PasswordSalt); var html = File.ReadAllText(_appConfiguraciones.RutaTemplateRecuperarContrasenia); html = html.Replace("%%Nombre%%", nombreCompleto); html = html.Replace("%%Contrasenia%%", password); var asunto = "Nueva Contraseña"; var cuerpo = html; var destinatarios = new List <string>(); destinatarios.Add(persona.Correo); CorreoUtiliario.EnviarCorreo(asunto, destinatarios, cuerpo); await _usuarioRepositorio.EditarUsuario(entidad); return(new OperacionDto <RecuperarContraseniaRespuestaDto>(new RecuperarContraseniaRespuestaDto() { Mensaje = "Correo Enviado", Suceso = true })); }
public void Allwoed_Chars_Test() { string actual = RandomChars.Generate(100); string CharsAllowed = "abcdefghijklmnopqrstyvwxyz"; for (int z = 0; z < 100; z++) { for (int c = 0; c < 25; c++) { Assert.AreNotEqual(actual, z, CharsAllowed, c, 1); Assert.AreEqual(actual, z, CharsAllowed, c, 1, "generated char is not allowed"); } } }
private static string CreateRandomJobId(string testId) { // Of the form "mabfc-inttest-joboutput-jan01-010101-1234567890abcdef" // Require IDs to be short so they don't push the length over the munging // threshold. if (testId.Length > 12) { throw new ArgumentException("testId must be 12 or fewer characters", nameof(testId)); } // Use local time to make it easier to see which is the container for the // "current" test run in storage viewers. var timestampPart = DateTime.Now.ToString("MMMdd-HHmmss", CultureInfo.InvariantCulture).ToLowerInvariant(); // Some randomness in case the same test class gets run twice within a // second. We wouldn't expect this to happen very often, so we don't // need a lot of randomness, and it's more valuable to keep names below the // munging threshold than to reduce the risk of collisions to sub-cosmic-ray levels. var randomPart = RandomChars.RandomString(16); return($"mabfc-inttest-{testId}-{timestampPart}-{randomPart}"); }
public void Test_Password_Eq1024() { string actual = RandomChars.Generate(1024); Assert.AreEqual(1024, actual.Length, "testing for 1024 symbol password failed"); }
public void Test_Zero_Password() { string actual = RandomChars.Generate(0); Assert.AreEqual(0, actual.Length, "testing for none symbol password failed"); }
public async Task <OperacionDto <RegistrarUsuarioRespuestaDto> > RegistrarUsuario(RegistrarUsuarioPeticionDto peticion) { var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarUsuarioPeticionDto>(peticion); if (!validaModelo.Completado) { return(new OperacionDto <RegistrarUsuarioRespuestaDto>(CodigosOperacionDto.CamposRequeridos, validaModelo.Mensajes)); } //var password = RandomChars.RandomString(10); var password = peticion.Password; var passwordSalt = RijndaelUtilitario.EncryptRijndaelToBase64(password); var username = "******" + DateTime.UtcNow.Year.ToString() + RandomChars.RandomFecha(5, DateTime.UtcNow.Millisecond.ToString()); var entidad = await _usuarioRepositorio.BuscarPorUserName(username); while (entidad != null) { username = "******" + DateTime.UtcNow.Year.ToString() + RandomChars.RandomFecha(5, DateTime.UtcNow.Millisecond.ToString()); if (!entidad.Username.Equals(username)) { break; } } var usuario = new Usuario() { Username = username, Password = Md5Utilitario.Cifrar(password, passwordSalt), PasswordSalt = passwordSalt }; var valorUsuario = await _usuarioRepositorio.Registro(usuario); if (valorUsuario <= 0) { return(new OperacionDto <RegistrarUsuarioRespuestaDto>(new RegistrarUsuarioRespuestaDto() { Mensaje = "Error al crear Usuario", Suceso = false })); } var persona = new Persona() { Nombre = peticion.Nombre, APaterno = peticion.APaterno, AMaterno = peticion.AMaterno, Telefono = peticion.Telefono, Correo = peticion.Correo, FechaNacimiento = peticion.FechaNacimiento, IdUsuario = usuario.IdUsuario, Direccion = peticion.Direccion }; var valorPersona = await _personaRepositorio.Registro(persona); if (valorPersona <= 0) { return(new OperacionDto <RegistrarUsuarioRespuestaDto>(new RegistrarUsuarioRespuestaDto() { Mensaje = "Error al crear Usuario", Suceso = false })); } return(new OperacionDto <RegistrarUsuarioRespuestaDto>(new RegistrarUsuarioRespuestaDto() { Mensaje = "Usuario creado correctamente", Suceso = true })); }