All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ec.gob.senescyt.sniese.commons.tests.builders.UsuarioAutenticadoBuilder Maven / Gradle / Ivy

Go to download

Librería que contiene clases de uso comun para microservicios hechos en dropwizard

There is a newer version: 1.0.16
Show newest version
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();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy