use of org.apache.qpid.server.security.auth.AuthenticationResult in project qpid-broker-j by apache.
the class AuthenticationResultCacherTest method testCacheMissDifferentAddress.
public void testCacheMissDifferentAddress() throws Exception {
Subject.doAs(_subject, new PrivilegedAction<Void>() {
@Override
public Void run() {
AuthenticationResult result;
result = _authenticationResultCacher.getOrLoad(new String[] { "credentials" }, _loader);
assertEquals("Unexpected AuthenticationResult", _successfulAuthenticationResult, result);
assertEquals("Unexpected number of loads before cache hit", 1, _loadCallCount);
return null;
}
});
when(_connection.getRemoteSocketAddress()).thenReturn(new InetSocketAddress("example.com", 8888));
Subject.doAs(_subject, new PrivilegedAction<Void>() {
@Override
public Void run() {
AuthenticationResult result;
result = _authenticationResultCacher.getOrLoad(new String[] { "credentials" }, _loader);
assertEquals("Unexpected AuthenticationResult", _successfulAuthenticationResult, result);
assertEquals("Unexpected number of loads before cache hit", 2, _loadCallCount);
return null;
}
});
}
use of org.apache.qpid.server.security.auth.AuthenticationResult in project qpid-broker-j by apache.
the class AuthenticationResultCacherTest method setUp.
@Override
public void setUp() throws Exception {
super.setUp();
_connection = mock(AMQPConnection.class);
when(_connection.getRemoteSocketAddress()).thenReturn(new InetSocketAddress("example.com", 9999));
_subject = new Subject(true, Collections.singleton(new ConnectionPrincipal(_connection)), Collections.emptySet(), Collections.emptySet());
_authenticationResultCacher = new AuthenticationResultCacher(10, 10 * 60L, 2);
_loadCallCount = 0;
_loader = new Callable<AuthenticationResult>() {
@Override
public AuthenticationResult call() throws Exception {
_loadCallCount += 1;
return _successfulAuthenticationResult;
}
};
}
use of org.apache.qpid.server.security.auth.AuthenticationResult in project qpid-broker-j by apache.
the class ExternalAuthenticationManagerTest method testFullDNMode_Authenticate.
public void testFullDNMode_Authenticate() throws Exception {
X500Principal principal = new X500Principal("CN=person, DC=example, DC=com");
when(_saslSettings.getExternalPrincipal()).thenReturn(principal);
SaslNegotiator negotiator = _managerUsingFullDN.createSaslNegotiator("EXTERNAL", _saslSettings, null);
AuthenticationResult result = negotiator.handleResponse(new byte[0]);
assertNotNull(result);
assertEquals("Expected authentication to be successful", AuthenticationResult.AuthenticationStatus.SUCCESS, result.getStatus());
assertOnlyContainsWrapped(principal, result.getPrincipals());
assertEquals("CN=person,DC=example,DC=com", result.getMainPrincipal().getName());
}
use of org.apache.qpid.server.security.auth.AuthenticationResult in project qpid-broker-j by apache.
the class ExternalAuthenticationManagerTest method testAuthenticatePrincipalCnDc_OtherComponentsIgnored.
public void testAuthenticatePrincipalCnDc_OtherComponentsIgnored() throws Exception {
X500Principal principal = new X500Principal("CN=person, DC=example, DC=com, O=My Company Ltd, L=Newbury, ST=Berkshire, C=GB");
UsernamePrincipal expectedPrincipal = new UsernamePrincipal("person@example.com", _manager);
when(_saslSettings.getExternalPrincipal()).thenReturn(principal);
SaslNegotiator negotiator = _manager.createSaslNegotiator("EXTERNAL", _saslSettings, null);
AuthenticationResult result = negotiator.handleResponse(new byte[0]);
assertNotNull(result);
assertEquals("Expected authentication to be successful", AuthenticationResult.AuthenticationStatus.SUCCESS, result.getStatus());
assertOnlyContainsWrapped(expectedPrincipal, result.getPrincipals());
assertEquals("person@example.com", result.getMainPrincipal().getName());
}
use of org.apache.qpid.server.security.auth.AuthenticationResult in project qpid-broker-j by apache.
the class ExternalAuthenticationManagerTest method testAuthenticatePrincipalNoCn_CausesAuthError.
public void testAuthenticatePrincipalNoCn_CausesAuthError() throws Exception {
X500Principal principal = new X500Principal("DC=example, DC=com, O=My Company Ltd, L=Newbury, ST=Berkshire, C=GB");
when(_saslSettings.getExternalPrincipal()).thenReturn(principal);
SaslNegotiator negotiator = _manager.createSaslNegotiator("EXTERNAL", _saslSettings, null);
AuthenticationResult result = negotiator.handleResponse(new byte[0]);
assertNotNull(result);
assertEquals("Expected authentication to be unsuccessful", AuthenticationResult.AuthenticationStatus.ERROR, result.getStatus());
assertNull(result.getMainPrincipal());
}
Aggregations