package org.jboss.windup.testutil.html; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; /** * Used to assist the unit tests in validating the contents of the EJB Report. * * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> * */ public class TestEJBReportUtil extends TestReportUtil { public enum EJBType { MDB, STATELESS, STATEFUL, ENTITY } /** * Checks that an EJB of the given type and classname is listed with given columns in the table */ public boolean checkBeanInReport(EJBType ejbType, String... columns) { String tableID; switch (ejbType) { case MDB: tableID = "mdbTable"; break; case STATELESS: tableID = "statelessTable"; break; case STATEFUL: tableID = "statefulTable"; break; case ENTITY: tableID = "entityTable"; break; default: throw new IllegalArgumentException("Unexpected type: " + ejbType); } WebElement element = getDriver().findElement(By.id(tableID)); if (element == null) { throw new CheckFailedException("Unable to find ejb beans table element"); } return checkValueInTable(element, columns); } }