package eu.dnetlib.oauth;


import eu.dnetlib.oauth.config.SpringConfiguration;
import eu.dnetlib.oauth.store.CredentialsStore;
import org.apache.log4j.BasicConfigurator;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.surfnet.oaaas.config.SpringConfigTest;

import javax.inject.Inject;

import static org.junit.Assert.assertNotNull;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfiguration.class)
public class CredentialsTest extends SpringConfigTest {

    private final Logger log = LoggerFactory.getLogger(this.getClass());

    @Inject
    private CredentialsStore dbStore;

    @Inject
    private CredentialsStore LDAPStore;

    @Before
    public void wire() {

        BasicConfigurator.configure();

        assertNotNull(dbStore);

        assertNotNull(LDAPStore);
    }

    @Test
    public void authenticateDB() {
        try {
            dbStore.authenticate("user1", "pass");
        } catch (Exception e) {
            log.error(e.toString());
        }

    }

    @Test
    public void authenticateLDAP() {
        try {
            log.info("BLAH VLAH VAH");
            LDAPStore.authenticate("eri.katsari", "UDxG2ydA");
        } catch (Exception e) {
            log.error(e.toString());
        }

    }

}
