1 17 package org.apache.geronimo.jmxremoting; 18 19 import java.util.Arrays ; 20 import javax.security.auth.callback.Callback ; 21 import javax.security.auth.callback.NameCallback ; 22 import javax.security.auth.callback.PasswordCallback ; 23 import javax.security.auth.callback.UnsupportedCallbackException ; 24 import javax.security.auth.callback.TextOutputCallback ; 25 26 import junit.framework.TestCase; 27 28 33 public class CredentialsTest extends TestCase { 34 private static final String USERNAME = "username"; 35 private static final String PASSWORD = "PASSWORD"; 36 private final Credentials credentials = new Credentials(USERNAME, PASSWORD); 37 38 public void testCallbacks() { 39 try { 40 NameCallback nameCallback = new NameCallback ("user"); 41 PasswordCallback passwordCallback = new PasswordCallback ("password", false); 42 Callback [] callbacks = new Callback []{nameCallback, passwordCallback}; 43 credentials.handle(callbacks); 44 assertEquals(USERNAME, nameCallback.getName()); 45 assertEquals(PASSWORD, new String (passwordCallback.getPassword())); 46 } catch (UnsupportedCallbackException e) { 47 fail(); 48 } 49 50 try { 51 credentials.handle(new Callback []{ new TextOutputCallback (0, "foo")}); 52 fail(); 53 } catch (UnsupportedCallbackException e) { 54 } 56 } 57 58 public void testClear() { 59 credentials.clear(); 60 NameCallback nameCallback = new NameCallback ("user"); 61 PasswordCallback passwordCallback = new PasswordCallback ("password", false); 62 Callback [] callbacks = new Callback []{nameCallback, passwordCallback}; 63 try { 64 credentials.handle(callbacks); 65 } catch (UnsupportedCallbackException e) { 66 fail(); 67 } 68 assertEquals(USERNAME, nameCallback.getName()); 69 assertTrue(Arrays.equals(new char[]{0,0,0,0,0,0,0,0}, passwordCallback.getPassword())); 70 } 71 72 protected void setUp() throws Exception { 73 super.setUp(); 74 } 75 } 76 | Popular Tags |