package org.jolokia.test.util; import javax.security.auth.Subject; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; import mockit.Mock; import mockit.MockUp; import static org.testng.Assert.*; /** * @author roland * @since 27.05.14 */ // Mockup class using jmockit for getting into JAAS Login Module public final class MockLoginContext extends MockUp<LoginContext> { static public final Subject SUBJECT = new Subject(); private String realm; private boolean success; public MockLoginContext(String pRealm, boolean pSuccess) { super(); success = pSuccess; realm = pRealm; } @Mock public void $init(String pRealm, CallbackHandler handler) { assertEquals(pRealm,realm); } @Mock public void login() throws LoginException { if (!success) { throw new LoginException("Failed"); } } @Mock public Subject getSubject() { return success ? SUBJECT : null; } }