ec.gob.senescyt.sniese.commons.tests.builders.UsuarioAutenticadoBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sniese-commons-test Show documentation
Show all versions of sniese-commons-test Show documentation
Librería que contiene clases de uso comun para microservicios hechos en dropwizard
package ec.gob.senescyt.sniese.commons.tests.builders;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import ec.gob.senescyt.sniese.commons.security.Permiso;
import ec.gob.senescyt.sniese.commons.security.UsuarioAutenticado;
import io.dropwizard.jackson.Jackson;
import java.util.List;
import java.util.function.Consumer;
import static com.google.common.collect.Lists.newArrayList;
import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
import static org.apache.commons.lang.math.RandomUtils.nextLong;
public class UsuarioAutenticadoBuilder {
public String nombreUsuario = randomAlphabetic(10);
public String credenciales = randomAlphabetic(7);
public String emailInstitucional = randomAlphabetic(5) + "@" + randomAlphabetic(5) + ".com";
public String nombre = randomAlphabetic(25);
public Long institucion = nextLong();
public List permisosSimples = newArrayList(randomAlphabetic(10), randomAlphabetic(5));
private static UsuarioAutenticadoBuilder usuarioAutenticadoBuilder;
public UsuarioAutenticadoBuilder con(Consumer consumer) {
consumer.accept(usuarioAutenticadoBuilder);
return usuarioAutenticadoBuilder;
}
public UsuarioAutenticado generar() {
return new UsuarioAutenticado(nombreUsuario, credenciales, emailInstitucional, nombre, institucion, obtenerPermisos());
}
private List obtenerPermisos() {
List permisos = newArrayList();
permisosSimples.stream().forEach(permiso -> permisos.add(new Permiso(nextLong(), randomAlphabetic(5), randomAlphabetic(8), randomAlphabetic(4), permiso)));
return permisos;
}
public static UsuarioAutenticadoBuilder nuevo() {
usuarioAutenticadoBuilder = new UsuarioAutenticadoBuilder();
return usuarioAutenticadoBuilder;
}
public String generarUsuarioJson() throws JsonProcessingException {
ObjectMapper mapper = Jackson.newObjectMapper();
String jsonInicial = "{\"nombreUsuario\":\"" + nombreUsuario + "\",\"emailInstitucional\":\"" + emailInstitucional + "\"," +
"\"nombre\":\""+ nombre +"\",\"institucion\":\""+ institucion +"\"," +
"\"permisos\":[";
StringBuffer usuarioJson = new StringBuffer(jsonInicial);
List permisos = obtenerPermisos();
for (Permiso permiso : permisos) {
usuarioJson.append(mapper.writeValueAsString(permiso));
}
return usuarioJson.append("]}").toString();
}
}