package org.wildfly.extension.batch; import org.jboss.as.controller.Extension; import org.jboss.as.controller.PathAddress; import org.jboss.as.controller.PathElement; import org.jboss.as.controller.client.Operation; import org.jboss.as.subsystem.test.AbstractSubsystemBaseTest; import org.jboss.as.subsystem.test.KernelServices; import org.jboss.as.subsystem.test.SubsystemOperations; import org.jboss.dmr.ModelNode; import org.junit.Assert; /** * @author <a href="mailto:jperkins@redhat.com">James R. Perkins</a> */ abstract class AbstractBatchTestCase extends AbstractSubsystemBaseTest { public AbstractBatchTestCase(final String mainSubsystemName, final Extension mainExtension) { super(mainSubsystemName, mainExtension); } protected KernelServices boot() throws Exception { return boot(getSubsystemXml()); } protected KernelServices boot(final String subsystemXml) throws Exception { final KernelServices result; if (subsystemXml == null) { result = createKernelServicesBuilder(createAdditionalInitialization()).build(); } else { result = createKernelServicesBuilder(createAdditionalInitialization()).setSubsystemXml(subsystemXml).build(); } Assert.assertTrue(result.isSuccessfulBoot()); return result; } protected static ModelNode executeOperation(final KernelServices kernelServices, final Operation op) { return executeOperation(kernelServices, op.getOperation()); } protected static ModelNode executeOperation(final KernelServices kernelServices, final ModelNode op) { final ModelNode result = kernelServices.executeOperation(op); Assert.assertTrue(SubsystemOperations.getFailureDescriptionAsString(result), SubsystemOperations.isSuccessfulOutcome(result)); return result; } protected static ModelNode createAddress(final PathElement pathElement) { if (pathElement == null) { return PathAddress.pathAddress(BatchSubsystemDefinition.SUBSYSTEM_PATH).toModelNode(); } return PathAddress.pathAddress(BatchSubsystemDefinition.SUBSYSTEM_PATH, pathElement).toModelNode(); } protected static ModelNode createAddress(final String resourceKey, final String resourceValue) { return createAddress(PathElement.pathElement(resourceKey, resourceValue)); } }