franta-hg@5: package cz.frantovo.jaas.sql; franta-hg@5: franta-hg@5: import com.sun.enterprise.security.auth.realm.BadRealmException; franta-hg@5: import com.sun.enterprise.security.auth.realm.NoSuchRealmException; franta-hg@5: import java.util.Properties; franta-hg@7: import javax.naming.NamingException; franta-hg@5: import org.junit.Before; franta-hg@5: import org.junit.Test; franta-hg@5: import static org.junit.Assert.*; franta-hg@5: franta-hg@5: /** franta-hg@5: * franta-hg@5: * @author fiki franta-hg@5: */ franta-hg@5: public class SQLRealmTest { franta-hg@5: franta-hg@5: private static final String JAAS_KONTEXT = "sqlRealm_123456"; franta-hg@7: private static final String JNDI_DS = "jdbc/test"; franta-hg@7: private static final String SQL_HESLO = "SELECT jmeno FROM uzivatel WHERE jmeno = ? AND heslo = ?"; franta-hg@7: private static final String SQL_SKUPINY_UŽIVATELE = "SELECT …"; franta-hg@7: private static final String SQL_SKUPINY_VŠECHNY = "SELECT …"; franta-hg@7: private static final String PARAMETR_NEPOVINNÝ = "nepovinný_parametr"; franta-hg@7: private static final String PARAMETR_NEPOVINNÝ_HODNOTA = "hodnota nepovinného parametru"; franta-hg@5: private SQLRealm realm; franta-hg@5: franta-hg@5: @Before franta-hg@7: public void setUp() throws BadRealmException, NoSuchRealmException, NamingException { franta-hg@5: Properties parametry = new Properties(); franta-hg@7: franta-hg@5: parametry.setProperty(SQLRealm.JAAS_CONTEXT_PARAM, JAAS_KONTEXT); franta-hg@7: parametry.setProperty(SQLRealm.PARAM_JNDI, JNDI_DS); franta-hg@7: parametry.setProperty(SQLRealm.PARAM_SQL_HESLO, SQL_HESLO); franta-hg@7: parametry.setProperty(SQLRealm.PARAM_SQL_SKUPINY_UŽIVATELE, SQL_SKUPINY_UŽIVATELE); franta-hg@7: parametry.setProperty(SQLRealm.PARAM_SQL_SKUPINY_VŠECHNY, SQL_SKUPINY_VŠECHNY); franta-hg@7: franta-hg@7: parametry.setProperty(SQLRealm.PARAM_NETESTOVAT_SPOJENÍ, Boolean.TRUE.toString()); franta-hg@5: franta-hg@5: realm = new SQLRealm(); franta-hg@5: realm.init(parametry); franta-hg@7: franta-hg@7: realm.setProperty(PARAMETR_NEPOVINNÝ, PARAMETR_NEPOVINNÝ_HODNOTA); franta-hg@5: } franta-hg@5: franta-hg@5: @Test franta-hg@5: public void testJaasKontext() { franta-hg@5: String kontext = realm.getJAASContext(); franta-hg@5: System.out.println("jaasContext = " + kontext); franta-hg@5: assertEquals("Kontext je jiný, než jsme nastavili v init parametrech.", JAAS_KONTEXT, kontext); franta-hg@5: } franta-hg@5: franta-hg@5: @Test franta-hg@5: public void testGetAuthType() { franta-hg@5: String authType = realm.getAuthType(); franta-hg@5: System.out.println("authType = " + authType); franta-hg@6: assertTrue("authType musí být nenulový", authType != null); franta-hg@6: assertTrue("authType musí být neprázdný", authType.trim().length() > 0); franta-hg@5: } franta-hg@7: franta-hg@7: @Test franta-hg@7: public void testGetProperty() { franta-hg@7: assertEquals("Neplatná hodnota parametru JAAS_KONTEXT", JAAS_KONTEXT, realm.getProperty(SQLRealm.JAAS_CONTEXT_PARAM)); franta-hg@7: assertEquals("Neplatná hodnota parametru SQL_HESLO", SQL_HESLO, realm.getProperty(SQLRealm.PARAM_SQL_HESLO)); franta-hg@7: assertEquals("Neplatná hodnota parametru PARAMETR_NEPOVINNÝ", PARAMETR_NEPOVINNÝ_HODNOTA, realm.getProperty(PARAMETR_NEPOVINNÝ)); franta-hg@7: franta-hg@7: } franta-hg@5: }