1 22 package org.jboss.test.security.test.auth; 23 24 import java.util.HashMap ; 25 26 import javax.security.auth.callback.Callback ; 27 import javax.security.auth.callback.NameCallback ; 28 import javax.security.auth.callback.PasswordCallback ; 29 30 import org.jboss.security.auth.callback.AppCallbackHandler; 31 import org.jboss.security.auth.callback.ByteArrayCallback; 32 import org.jboss.security.auth.callback.MapCallback; 33 import org.jboss.test.JBossTestCase; 34 35 37 43 public class AppCallbackHandlerUnitTestCase extends JBossTestCase 44 { 45 private NameCallback ncb = null; 46 private PasswordCallback pcb = null; 47 private MapCallback mcb = null; 48 private ByteArrayCallback bacb = null; 49 50 public AppCallbackHandlerUnitTestCase(String name) 51 { 52 super(name); 53 } 54 55 protected void setUp() throws Exception 56 { 57 ncb = new NameCallback ("Enter Username:"); 58 pcb = new PasswordCallback ("Enter Password:", false); 59 mcb = new MapCallback(); 60 bacb = new ByteArrayCallback("Enter data"); 61 } 62 63 protected void tearDown() throws Exception 64 { 65 ncb = null; 66 pcb = null; 67 mcb = null; 68 bacb = null; 69 } 70 71 public void testUserNamePassword() throws Exception 72 { 73 AppCallbackHandler apc = new AppCallbackHandler("jduke","theduke".toCharArray()); 74 Callback [] cb = new Callback []{ncb,pcb}; 76 apc.handle(cb); 77 assertTrue("jduke", "jduke".equals(ncb.getName())); 78 assertTrue("theduke","theduke".equals(new String (pcb.getPassword())) ); 79 } 80 81 public void testMapCallback() throws Exception 82 { 83 HashMap hm = new HashMap (); 84 hm.put("jduke","theduke"); 85 hm.put("scott","echoman"); 86 AppCallbackHandler apc = new AppCallbackHandler(hm); 87 Callback [] cb = new Callback []{mcb}; 88 apc.handle(cb); 89 assertTrue("jduke=theduke", "theduke".equals(mcb.getInfo("jduke"))); 90 assertTrue("scott=echoman", "echoman".equals(mcb.getInfo("scott"))); 91 } 92 93 public void testByteArrayCallback() throws Exception 94 { 95 AppCallbackHandler apc = new AppCallbackHandler("scott", 96 "echoman".toCharArray(), "Loves Skiing!!!".getBytes()); 97 Callback [] cb = new Callback []{ncb,pcb,bacb}; 99 apc.handle(cb); 100 assertTrue("scott", "scott".equals(ncb.getName())); 101 assertTrue("echoman","echoman".equals(new String (pcb.getPassword())) ); 102 assertTrue("Loves Skiing!!!", 103 "Loves Skiing!!!".equals(new String (bacb.getByteArray()))); 104 } 105 } 106 | Popular Tags |