Skip to content

Commit

Permalink
[WFLY-3239] Improve error reporting
Browse files Browse the repository at this point in the history
  • Loading branch information
kabir committed Oct 22, 2016
1 parent 959732c commit 4d61ae4
Showing 1 changed file with 33 additions and 17 deletions.
Expand Up @@ -36,22 +36,22 @@
import static org.jboss.as.naming.subsystem.NamingSubsystemModel.BINDING_TYPE; import static org.jboss.as.naming.subsystem.NamingSubsystemModel.BINDING_TYPE;
import static org.jboss.as.naming.subsystem.NamingSubsystemModel.LOOKUP; import static org.jboss.as.naming.subsystem.NamingSubsystemModel.LOOKUP;
import static org.jboss.as.naming.subsystem.NamingSubsystemModel.OBJECT_FACTORY; import static org.jboss.as.naming.subsystem.NamingSubsystemModel.OBJECT_FACTORY;
import static org.jboss.as.naming.subsystem.NamingSubsystemModel.REBIND;
import static org.jboss.as.naming.subsystem.NamingSubsystemModel.SIMPLE; import static org.jboss.as.naming.subsystem.NamingSubsystemModel.SIMPLE;
import static org.jboss.as.naming.subsystem.NamingSubsystemModel.TYPE; import static org.jboss.as.naming.subsystem.NamingSubsystemModel.TYPE;
import static org.jboss.as.naming.subsystem.NamingSubsystemModel.VALUE; import static org.jboss.as.naming.subsystem.NamingSubsystemModel.VALUE;
import static org.jboss.as.naming.subsystem.NamingSubsystemModel.REBIND;
import static org.jboss.as.test.shared.integration.ejb.security.PermissionUtils.createPermissionsXmlAsset; import static org.jboss.as.test.shared.integration.ejb.security.PermissionUtils.createPermissionsXmlAsset;


import org.jboss.as.naming.NamingContext;

import java.net.SocketPermission; import java.net.SocketPermission;
import java.net.URL; import java.net.URL;

import javax.ejb.EJB; import javax.ejb.EJB;


import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian; import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.test.api.ArquillianResource; import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.as.arquillian.container.ManagementClient; import org.jboss.as.arquillian.container.ManagementClient;
import org.jboss.as.naming.NamingContext;
import org.jboss.as.naming.subsystem.NamingExtension; import org.jboss.as.naming.subsystem.NamingExtension;
import org.jboss.as.test.shared.TestSuiteEnvironment; import org.jboss.as.test.shared.TestSuiteEnvironment;
import org.jboss.dmr.ModelNode; import org.jboss.dmr.ModelNode;
Expand Down Expand Up @@ -103,7 +103,7 @@ public void testRebinding() throws Exception {


final String name = "java:global/rebind"; final String name = "java:global/rebind";
final String lookup = "java:global/lookup"; final String lookup = "java:global/lookup";

Exception error = null;
try { try {
ModelNode operation = prepareAddBindingOperation(name, SIMPLE); ModelNode operation = prepareAddBindingOperation(name, SIMPLE);
operation.get(VALUE).set("http://localhost"); operation.get(VALUE).set("http://localhost");
Expand Down Expand Up @@ -138,17 +138,20 @@ public void testRebinding() throws Exception {
operationResult = managementClient.getControllerClient().execute(operation); operationResult = managementClient.getControllerClient().execute(operation);
Assert.assertFalse(operationResult.get(FAILURE_DESCRIPTION).toString(), operationResult.get(FAILURE_DESCRIPTION).isDefined()); Assert.assertFalse(operationResult.get(FAILURE_DESCRIPTION).toString(), operationResult.get(FAILURE_DESCRIPTION).isDefined());
Assert.assertEquals("java:global/lookup", operationResult.get(RESULT).get(LOOKUP).asString()); Assert.assertEquals("java:global/lookup", operationResult.get(RESULT).get(LOOKUP).asString());

} catch (Exception e) {
error = e;
throw e;
} finally { } finally {
removeBinding(name); removeBinding(name, error);
removeBinding(lookup); removeBinding(lookup, error);
} }
} }


@Test @Test
public void testRebindingObjectFactory() throws Exception { public void testRebindingObjectFactory() throws Exception {


final String bindingName = "java:global/bind"; final String bindingName = "java:global/bind";
Exception error = null;


try { try {
ModelNode operation = prepareAddBindingOperation(bindingName, SIMPLE); ModelNode operation = prepareAddBindingOperation(bindingName, SIMPLE);
Expand All @@ -162,18 +165,21 @@ public void testRebindingObjectFactory() throws Exception {
operation.get("class").set("org.jboss.as.naming.interfaces.java.javaURLContextFactory"); operation.get("class").set("org.jboss.as.naming.interfaces.java.javaURLContextFactory");
operationResult = managementClient.getControllerClient().execute(operation); operationResult = managementClient.getControllerClient().execute(operation);
verifyBindingClass(operationResult, bindingName, NamingContext.class.getName()); verifyBindingClass(operationResult, bindingName, NamingContext.class.getName());

} catch (Exception e) {
error = e;
throw e;
} finally { } finally {
removeBinding(bindingName); removeBinding(bindingName, error);
} }
} }


@Test @Test
public void testRebidingLookup() throws Exception { public void testRebindingLookup() throws Exception {


final String simpleBindingName1 = "java:global/simple1"; final String simpleBindingName1 = "java:global/simple1";
final String simpleBindingName2 = "java:global/simple2"; final String simpleBindingName2 = "java:global/simple2";
final String lookupBindingName = "java:global/lookup"; final String lookupBindingName = "java:global/lookup";
Exception error = null;


try { try {
ModelNode operation = prepareAddBindingOperation(simpleBindingName1, SIMPLE); ModelNode operation = prepareAddBindingOperation(simpleBindingName1, SIMPLE);
Expand All @@ -197,11 +203,13 @@ public void testRebidingLookup() throws Exception {
operation.get(LOOKUP).set(simpleBindingName2); operation.get(LOOKUP).set(simpleBindingName2);
operationResult = managementClient.getControllerClient().execute(operation); operationResult = managementClient.getControllerClient().execute(operation);
verifyBinding(operationResult, lookupBindingName, "simple2"); verifyBinding(operationResult, lookupBindingName, "simple2");

} catch (Exception e) {
error = e;
throw e;
} finally { } finally {
removeBinding(simpleBindingName1); removeBinding(simpleBindingName1, error);
removeBinding(simpleBindingName2); removeBinding(simpleBindingName2, error);
removeBinding(lookupBindingName); removeBinding(lookupBindingName, error);
} }
} }


Expand Down Expand Up @@ -246,14 +254,22 @@ private ModelNode getBindingAddress(String bindingName) {
return bindingAddress; return bindingAddress;
} }


private void removeBinding (String bindingName) throws Exception { private void removeBinding (String bindingName, Exception testException) throws Exception {
ModelNode removeOperation = new ModelNode(); ModelNode removeOperation = new ModelNode();
removeOperation.get(OP).set(REMOVE); removeOperation.get(OP).set(REMOVE);
removeOperation.get(OP_ADDR).set(getBindingAddress(bindingName)); removeOperation.get(OP_ADDR).set(getBindingAddress(bindingName));
removeOperation.get(OPERATION_HEADERS).get(ALLOW_RESOURCE_SERVICE_RESTART).set(true); removeOperation.get(OPERATION_HEADERS).get(ALLOW_RESOURCE_SERVICE_RESTART).set(true);
ModelNode removeResult = managementClient.getControllerClient().execute(removeOperation); ModelNode removeResult = managementClient.getControllerClient().execute(removeOperation);
Assert.assertFalse(removeResult.get(FAILURE_DESCRIPTION).toString(), removeResult.get(FAILURE_DESCRIPTION) if (testException == null) {
.isDefined()); //Only error here if the test was successful
Assert.assertFalse(removeResult.get(FAILURE_DESCRIPTION).toString(), removeResult.get(FAILURE_DESCRIPTION)
.isDefined());
} else {
if (removeResult.get(FAILURE_DESCRIPTION).isDefined()) {
throw new Exception(removeResult.get(FAILURE_DESCRIPTION) +
" - there was an exisiting exception in the test, it is added as the cause", testException);
}
}
} }


} }

0 comments on commit 4d61ae4

Please sign in to comment.