diff --git a/common/src/main/java/org/jboss/hal/testsuite/util/ServerEnvironmentUtils.java b/common/src/main/java/org/jboss/hal/testsuite/util/ServerEnvironmentUtils.java index e4204db3..9fc38be0 100644 --- a/common/src/main/java/org/jboss/hal/testsuite/util/ServerEnvironmentUtils.java +++ b/common/src/main/java/org/jboss/hal/testsuite/util/ServerEnvironmentUtils.java @@ -18,4 +18,12 @@ public ServerEnvironmentUtils(OnlineManagementClient client) { public String getServerHostName() throws IOException { return operations.readAttribute(SERVER_ENVIRONMENT_ADDRESS, "host-name").stringValue(); } + + public boolean isEAP() { + try { + return operations.readAttribute(Address.root(), "product-name").stringValue().contains("EAP"); + } catch (IOException ex) { + throw new IllegalStateException("Unable to read product-name from server CLI", ex); + } + } } diff --git a/tests-hal-basic/src/test/java/org/jboss/hal/testsuite/test/HomePageTest.java b/tests-hal-basic/src/test/java/org/jboss/hal/testsuite/test/HomePageTest.java index 0d5aebac..118425c3 100644 --- a/tests-hal-basic/src/test/java/org/jboss/hal/testsuite/test/HomePageTest.java +++ b/tests-hal-basic/src/test/java/org/jboss/hal/testsuite/test/HomePageTest.java @@ -15,6 +15,7 @@ */ package org.jboss.hal.testsuite.test; +import java.io.IOException; import java.util.List; import org.jboss.arquillian.core.api.annotation.Inject; @@ -23,13 +24,17 @@ import org.jboss.arquillian.junit.Arquillian; import org.jboss.hal.resources.Ids; import org.jboss.hal.testsuite.Console; +import org.jboss.hal.testsuite.creaper.ManagementClientProvider; import org.jboss.hal.testsuite.fragment.HeaderFragment; import org.jboss.hal.testsuite.page.HomePage; +import org.jboss.hal.testsuite.util.ServerEnvironmentUtils; +import org.junit.AfterClass; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; +import org.wildfly.extras.creaper.core.online.OnlineManagementClient; import static org.jboss.hal.testsuite.Selectors.contains; import static org.junit.Assert.assertEquals; @@ -38,6 +43,9 @@ @RunWith(Arquillian.class) public class HomePageTest { + private static final OnlineManagementClient client = ManagementClientProvider.createOnlineManagementClient(); + private static final ServerEnvironmentUtils serverEnvironmentUtils = new ServerEnvironmentUtils(client); + @Page private HomePage page; @Inject private Console console; @@ -46,18 +54,26 @@ public void setUp() { page.navigate(); } + @AfterClass + public static void cleanUp() throws IOException { + client.close(); + } + @Test public void topLevelCategories() { HeaderFragment header = console.header(); List topLevelCategories = header.getTopLevelCategories(); - assertEquals(5, topLevelCategories.size()); + assertEquals(serverEnvironmentUtils.isEAP() ? 6 : 5, topLevelCategories.size()); assertEquals(Ids.TLC_HOMEPAGE, header.getSelectedTopLevelCategory().getAttribute("id")); assertTrue(containsTopLevelCategory(topLevelCategories, Ids.TLC_HOMEPAGE)); assertTrue(containsTopLevelCategory(topLevelCategories, Ids.TLC_DEPLOYMENTS)); + assertTrue(containsTopLevelCategory(topLevelCategories, Ids.TLC_CONFIGURATION)); assertTrue(containsTopLevelCategory(topLevelCategories, Ids.TLC_RUNTIME)); assertTrue(containsTopLevelCategory(topLevelCategories, Ids.TLC_ACCESS_CONTROL)); - assertTrue(containsTopLevelCategory(topLevelCategories, Ids.TLC_CONFIGURATION)); + if (serverEnvironmentUtils.isEAP()) { + assertTrue(containsTopLevelCategory(topLevelCategories, Ids.TLC_UPDATE_MANAGER)); + } } @Test @@ -66,6 +82,9 @@ public void modules() { assertTrue(containsModule("Configuration")); assertTrue(containsModule("Runtime")); assertTrue(containsModule("Access Control")); + if (serverEnvironmentUtils.isEAP()) { + assertTrue(containsModule("Update Manager")); + } By selector = ByJQuery.selector(".eap-home-module-header > h2" + contains("Need Help?")); assertTrue(page.getRootContainer().findElement(selector).isDisplayed()); diff --git a/tests-hal-runtime/src/test/java/org/jboss/hal/testsuite/test/runtime/MissingOperationsTestCase.java b/tests-hal-runtime/src/test/java/org/jboss/hal/testsuite/test/runtime/MissingOperationsTestCase.java index 8e1e97e8..551cf9b9 100644 --- a/tests-hal-runtime/src/test/java/org/jboss/hal/testsuite/test/runtime/MissingOperationsTestCase.java +++ b/tests-hal-runtime/src/test/java/org/jboss/hal/testsuite/test/runtime/MissingOperationsTestCase.java @@ -122,6 +122,8 @@ public void testMenuItems() { missingItems.append(menuItem); } } + // start servers back again to keep original conditions for other test cases + changeStatusStart(); Assert.assertTrue("Menu should contains values " + missingItems.toString() + ". See HAL-1582.", missingItems.toString().isEmpty()); } @@ -136,6 +138,15 @@ private void changeStatus(String status) { verifyServersAreInState(Arrays.asList(SERVERS_IN_SERVER_GROUP), STOPPED, 15000); } + private void changeStatusStart() { + console.finder(NameTokens.RUNTIME, SERVER_GROUP_FINDER_PATH) + .column(Ids.SERVER_GROUP) + .selectItem(SERVER_GROUP) + .dropdown() + .click("Start"); + console.verifySuccess(); + verifyServersAreInState(Arrays.asList(SERVERS_IN_SERVER_GROUP), RUNNING, 20000); + } private void verifyServersAreInState(Collection servers, String state, int timeout) { servers.parallelStream().forEach(server -> {