1 package cz.frantovo.jaas.sql;
3 import com.sun.enterprise.security.auth.realm.BadRealmException;
4 import com.sun.enterprise.security.auth.realm.NoSuchRealmException;
5 import java.util.Properties;
6 import javax.naming.NamingException;
7 import org.junit.Before;
9 import static org.junit.Assert.*;
15 public class SQLRealmTest {
17 private static final String JAAS_KONTEXT = "sqlRealm_123456";
18 private static final String JNDI_DS = "jdbc/test";
19 private static final String SQL_HESLO = "SELECT jmeno FROM uzivatel WHERE jmeno = ? AND heslo = ?";
20 private static final String SQL_SKUPINY_UŽIVATELE = "SELECT …";
21 private static final String SQL_SKUPINY_VŠECHNY = "SELECT …";
22 private static final String PARAMETR_NEPOVINNÝ = "nepovinný_parametr";
23 private static final String PARAMETR_NEPOVINNÝ_HODNOTA = "hodnota nepovinného parametru";
24 private SQLRealm realm;
27 public void setUp() throws BadRealmException, NoSuchRealmException, NamingException {
28 Properties parametry = new Properties();
30 parametry.setProperty(SQLRealm.JAAS_CONTEXT_PARAM, JAAS_KONTEXT);
31 parametry.setProperty(SQLRealm.PARAM_JNDI, JNDI_DS);
32 parametry.setProperty(SQLRealm.PARAM_SQL_HESLO, SQL_HESLO);
33 parametry.setProperty(SQLRealm.PARAM_SQL_SKUPINY_UŽIVATELE, SQL_SKUPINY_UŽIVATELE);
34 parametry.setProperty(SQLRealm.PARAM_SQL_SKUPINY_VŠECHNY, SQL_SKUPINY_VŠECHNY);
36 parametry.setProperty(SQLRealm.PARAM_NETESTOVAT_SPOJENÍ, Boolean.TRUE.toString());
38 realm = new SQLRealm();
39 realm.init(parametry);
41 realm.setProperty(PARAMETR_NEPOVINNÝ, PARAMETR_NEPOVINNÝ_HODNOTA);
45 public void testJaasKontext() {
46 String kontext = realm.getJAASContext();
47 System.out.println("jaasContext = " + kontext);
48 assertEquals("Kontext je jiný, než jsme nastavili v init parametrech.", JAAS_KONTEXT, kontext);
52 public void testGetAuthType() {
53 String authType = realm.getAuthType();
54 System.out.println("authType = " + authType);
55 assertTrue("authType musí být nenulový", authType != null);
56 assertTrue("authType musí být neprázdný", authType.trim().length() > 0);
60 public void testGetProperty() {
61 assertEquals("Neplatná hodnota parametru JAAS_KONTEXT", JAAS_KONTEXT, realm.getProperty(SQLRealm.JAAS_CONTEXT_PARAM));
62 assertEquals("Neplatná hodnota parametru SQL_HESLO", SQL_HESLO, realm.getProperty(SQLRealm.PARAM_SQL_HESLO));
63 assertEquals("Neplatná hodnota parametru PARAMETR_NEPOVINNÝ", PARAMETR_NEPOVINNÝ_HODNOTA, realm.getProperty(PARAMETR_NEPOVINNÝ));