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

ec.gob.senescyt.sniese.commons.tests.RecursoSeguroIntTest 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;

import ec.gob.senescyt.sniese.commons.clients.ServicioUsuarioCliente;
import ec.gob.senescyt.sniese.commons.configurations.ConfiguracionSnieseBase;
import ec.gob.senescyt.sniese.commons.security.Usuario;
import ec.gob.senescyt.sniese.commons.security.shiro.SeguridadRealm;
import ec.gob.senescyt.sniese.commons.tests.helpers.InicializadorPropiedades;
import io.dropwizard.setup.Environment;
import org.apache.shiro.web.env.IniWebEnvironment;
import org.apache.shiro.web.util.WebUtils;
import org.junit.Before;
import org.mockito.Mock;

import java.io.IOException;

import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.initMocks;

public abstract class RecursoSeguroIntTest extends AbstractIntegrationTest {

    @Mock
    private SeguridadRealm seguridadRealm;
    @Mock
    private ServicioUsuarioCliente servicioUsuarioCliente;

    public RecursoSeguroIntTest(Class applicationClass) {
        super(applicationClass);
    }

    @Override
    @Before
    public void setUp() throws Exception {
        super.setUp();
        initMocks(this);
        Environment environment = getRule().getEnvironment();
        if (((ConfiguracionSnieseBase) getRule().getConfiguration()).getConfiguracionSegura() != null) {
            configurarSeguridad(environment);
        }
    }

    private void configurarSeguridad(Environment environment) throws NoSuchFieldException, IllegalAccessException {
        IniWebEnvironment env = (IniWebEnvironment) WebUtils.getRequiredWebEnvironment(environment.getApplicationContext().getServletContext());
        seguridadRealm = env.getObject("SeguridadRealm", SeguridadRealm.class);
        InicializadorPropiedades.asignar(seguridadRealm, "servicioUsuarioCliente", servicioUsuarioCliente);
    }

    protected void configurarUsuarioAutenticado(Usuario usuario) throws IOException {
        when(servicioUsuarioCliente.obtenerInformacionUsuarioPorToken(any())).thenReturn(usuario);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy