Skip to content

Commit

Permalink
fixed password length issues
Browse files Browse the repository at this point in the history
  • Loading branch information
albogdano committed May 23, 2022
1 parent ffde022 commit fa677c6
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 4 deletions.
3 changes: 1 addition & 2 deletions para-core/src/main/java/com/erudika/para/core/User.java
Expand Up @@ -32,7 +32,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
Expand Down Expand Up @@ -80,7 +79,7 @@ public class User implements ParaObject {
@Stored private String idpAccessToken;
@Stored private String idpRefreshToken;

private transient @Max(MAX_PASSWORD_LENGTH) String password;
private transient String password;

/**
* No-args constructor.
Expand Down
Expand Up @@ -60,6 +60,7 @@
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.hibernate.validator.constraints.URL;
import org.slf4j.Logger;
Expand Down Expand Up @@ -125,6 +126,9 @@ public static String[] validateObject(ParaObject content) {
String prop = "'".concat(constraintViolation.getPropertyPath().toString()).concat("'");
list.add(prop.concat(" ").concat(constraintViolation.getMessage()));
}
if (content instanceof User && StringUtils.length(((User) content).getPassword()) > User.MAX_PASSWORD_LENGTH) {
list.add(Utils.formatMessage("{0} must not be longer than {1}.", Config._PASSWORD, User.MAX_PASSWORD_LENGTH));
}
} catch (Exception e) {
logger.error(null, e);
}
Expand Down
Expand Up @@ -17,13 +17,12 @@
*/
package com.erudika.para.core.utils;

import com.erudika.para.core.utils.Config;
import com.erudika.para.core.App;
import com.erudika.para.core.Sysprop;
import com.erudika.para.core.Tag;
import com.erudika.para.core.User;
import static com.erudika.para.core.validation.ValidationUtils.*;
import static com.erudika.para.core.validation.Constraint.*;
import static com.erudika.para.core.validation.ValidationUtils.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
Expand Down Expand Up @@ -228,6 +227,68 @@ public void testValidateObject() {
assertTrue(validateObject(app, s1).length == 0);
}

@Test
public void testPasswordConstraint() {
User u = new User();
u.setName("test");
u.setEmail("ab@cd.com");
u.setIdentifier("ab@cd.com");
assertTrue(validateObject(u).length == 0);
u.setPassword("T123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456"
+ "78912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345670"
+ "89123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789"
+ "12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912"
+ "34567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234"
+ "56789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456"
+ "78912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678"
+ "91234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891"
+ "23456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123"
+ "45678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345"
+ "67891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567"
+ "89123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789"
+ "12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912"
+ "34567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234"
+ "56789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456"
+ "78912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678"
+ "91234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891"
+ "23456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123"
+ "45678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345"
+ "67891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567"
+ "89123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789"
+ "12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912"
+ "34567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234"
+ "56789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456"
+ "78912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678"
+ "91234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891"
+ "23456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123"
+ "45678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345"
+ "67891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567"
+ "89123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789"
+ "12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912"
+ "34567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234"
+ "56789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456"
+ "78912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678"
+ "91234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891"
+ "23456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123"
+ "45678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345"
+ "67891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567"
+ "89123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789"
+ "12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912"
+ "34567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234"
+ "56789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456"
+ "78912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678"
+ "91234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891"
+ "23456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123"
+ "45678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345"
+ "67891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567"
+ "89123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789"
+ "12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912"
+ "34567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234567891234"
+ "56789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456"
+ "789hellohellohellohello");
assertFalse(validateObject(u).length == 0);
}

@Test
public void testGetCoreValidationConstraints() {
assertTrue(getCoreValidationConstraints().containsKey("app"));
Expand Down

0 comments on commit fa677c6

Please sign in to comment.