[jboss-svn-commits] JBL Code SVN: r23388 - in labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta: tests/src/org/jboss/soa/esb/listeners/message and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 9 06:40:09 EDT 2008
Author: beve
Date: 2008-10-09 06:40:09 -0400 (Thu, 09 Oct 2008)
New Revision: 23388
Modified:
labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipelineUnitTest.java
Log:
Work for https://jira.jboss.org/jira/browse/JBESB-2105 "NPE when invoking secured service without credentials"
Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2008-10-09 09:58:37 UTC (rev 23387)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2008-10-09 10:40:09 UTC (rev 23388)
@@ -424,6 +424,10 @@
// get the authentication request from the message
byte[] encrypted = (byte[]) message.getProperties().getProperty(SecurityService.AUTH_REQUEST);
+ if (encrypted == null)
+ {
+ throw new SecurityServiceException("Missing AuthenticationRequest. Cannot be authenticated.");
+ }
AuthenticationRequest authRequest = (AuthenticationRequest) PublicCryptoUtil.INSTANCE.decrypt(encrypted);
// authenticate the caller
@@ -557,7 +561,7 @@
final long processTime = System.nanoTime() - actionStart;
serviceMessageCounter.update(new ActionStatusBean(processTime, count, message,
ActionStatusBean.ACTION_FAILED));
-
+
if (throwRuntime)
{
throw (RuntimeException)ex ;
Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipelineUnitTest.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipelineUnitTest.java 2008-10-09 09:58:37 UTC (rev 23387)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipelineUnitTest.java 2008-10-09 10:40:09 UTC (rev 23388)
@@ -475,6 +475,35 @@
checkOrder(MockActionInfo.getDestroyList()) ;
}
+ public void testSecuredServiceWithoutAutenticationRequest() throws Exception
+ {
+ final ConfigTree configTree = new ConfigTree("parent") ;
+
+ // added the security configuration
+ addSecurityConfig(configTree, "adminRole", null, "SuccessfulLogin", null);
+ configTree.setAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG, ListenerTagNames.MEP_ONE_WAY) ;
+
+ addAction(configTree, MockSecuredActionProcessor.class.getName(), "process", null, null) ;
+
+ final ActionProcessingPipeline pipeline = new ActionProcessingPipeline(configTree) ;
+ pipeline.initialise() ;
+ checkOrder(MockActionInfo.getInitialiseList()) ;
+
+ Message message = MessageFactory.getInstance().getMessage();
+
+ try
+ {
+ pipeline.process(message);
+ }
+ catch(final Exception e)
+ {
+ assertTrue(e instanceof SecurityServiceException);
+ }
+
+ pipeline.destroy() ;
+ checkOrder(MockActionInfo.getDestroyList()) ;
+ }
+
public void testSecuredServiceWithPreExistingSecurityContext() throws Exception
{
final ConfigTree configTree = new ConfigTree("parent") ;
@@ -512,6 +541,8 @@
assertTrue(result);
assertEquals(user, MockSecuredActionProcessor.getSubject().getPrincipals().iterator().next());
+ assertNull(message.getProperties().getProperty(SecurityService.CONTEXT));
+
pipeline.destroy() ;
checkOrder(MockActionInfo.getDestroyList()) ;
}
More information about the jboss-svn-commits
mailing list