You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by je...@apache.org on 2016/01/21 23:55:58 UTC
[77/96] [abbrv] incubator-geode git commit: GEODE-12: Assign
categories to the tests and ignore some of them because they were not run in
the original script. Have the tests not depend on the system variables
defined in the gradle script.
GEODE-12: Assign categories to the tests and ignore some of them because they were not run in the original script. Have the tests not depend on the system variables defined in the gradle script.
(cherry picked from commit f5aec68d8871b3a428095babd0214c5e110d1633)
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/dcad5101
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/dcad5101
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/dcad5101
Branch: refs/heads/develop
Commit: dcad51010f4209cfaa0f8421231c3a1b20451e03
Parents: 446f451
Author: Jinmei Liao <ji...@pivotal.io>
Authored: Tue Jan 12 13:12:33 2016 -0800
Committer: Jens Deppe <jd...@pivotal.io>
Committed: Thu Jan 21 14:31:19 2016 -0800
----------------------------------------------------------------------
gemfire-pulse/build.gradle | 27 +-
.../gemfire/tools/pulse/testbed/TestBed.java | 16 +-
.../tools/pulse/testbed/driver/PulseUITest.java | 73 +-
.../pulse/testbed/driver/TomcatHelper.java | 28 +-
.../pulse/tests/DataBrowserResultLoader.java | 14 +-
.../tools/pulse/tests/PulseAutomatedTest.java | 774 ++++++++++
.../tools/pulse/tests/PulseAutomatedTests.java | 1434 ------------------
.../tools/pulse/tests/PulseBaseTest.java | 667 ++++++++
.../gemfire/tools/pulse/tests/PulseTest.java | 1048 +++++++++++++
.../gemfire/tools/pulse/tests/PulseTests.java | 1044 -------------
.../pulse/tests/junit/BaseServiceTest.java | 58 +-
.../junit/ClusterSelectedRegionServiceTest.java | 8 +-
...ClusterSelectedRegionsMemberServiceTest.java | 8 +-
.../junit/MemberGatewayHubServiceTest.java | 8 +-
14 files changed, 2577 insertions(+), 2630 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dcad5101/gemfire-pulse/build.gradle
----------------------------------------------------------------------
diff --git a/gemfire-pulse/build.gradle b/gemfire-pulse/build.gradle
index 580e7fc..d1c51cc 100755
--- a/gemfire-pulse/build.gradle
+++ b/gemfire-pulse/build.gradle
@@ -46,6 +46,7 @@ dependencies {
provided 'org.mortbay.jetty:servlet-api:2.5-20081211'
provided 'com.google.guava:guava:15.0'
+ provided project(path: ':gemfire-junit', configuration: 'testOutput')
testCompile 'org.apache.tomcat.embed:tomcat-embed-core:7.0.30'
testCompile 'org.apache.tomcat.embed:tomcat-embed-jasper:7.0.30'
@@ -57,10 +58,6 @@ dependencies {
testRuntime 'com.google.code.gson:gson:2.3.1'
testRuntime 'org.apache.commons:commons-exec:1.3'
-
- // Required only for creating test categories
-// testPulseCompile project(path: ':gemfire-junit', configuration: 'testOutput')
-
}
// Creates the version properties file and writes it to the resources dir
@@ -137,25 +134,3 @@ war {
classpath configurations.runtime
classpath project(':gemfire-core').webJar.archivePath
}
-
-test {
-
-// Includes all tests in PulseTests, PulseBaseTests & PulseAutomatedTests
- include '**/PulseAutomatedTests.class'
-
- systemProperty 'pulse.propfile', "$projectDir/src/test/resources/test.properties"
- systemProperty 'pulse.war', "$buildDir/libs/$pulseWarFile"
-// systemProperty 'pulse.propMockDataUpdaterClass', "com.vmware.gemfire.tools.pulse.testbed.PropMockDataUpdater"
-// systemProperty 'pulse.updater', "MOCK"
-
- useJUnit {
- // TODO: Classify and add categories to different Pulse tests
-// includeCategories 'com.gemstone.gemfire.test.junit.categories.UnitTest'
-// excludeCategories 'com.gemstone.gemfire.test.junit.categories.IntegrationTest'
-// excludeCategories 'com.gemstone.gemfire.test.junit.categories.DistributedTest'
- }
-
- // show standard out and standard error of the test JVM(s) on the console
- testLogging.showStandardStreams = true
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dcad5101/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/TestBed.java
----------------------------------------------------------------------
diff --git a/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/TestBed.java b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/TestBed.java
index 03bfa75..9638374 100644
--- a/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/TestBed.java
+++ b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/TestBed.java
@@ -19,7 +19,21 @@ public class TestBed {
private String fileName=null;
PropFileHelper propertiesFile =null;
GemFireDistributedSystem ds = null;
-
+
+ public TestBed(){
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ InputStream inputStream = classLoader.getResourceAsStream("testbed.properties");
+ Properties properties = new Properties();
+ try {
+ properties.load(inputStream);
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException(e);
+ }
+ propertiesFile = new PropFileHelper(properties);
+ ds = new GemFireDistributedSystem("t1", propertiesFile.getProperties());
+ }
+
public TestBed(String fileName) throws FileNotFoundException, IOException{
this.fileName = fileName;
propertiesFile = new PropFileHelper(fileName);
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dcad5101/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java
----------------------------------------------------------------------
diff --git a/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java
index 601ce84..8060fae 100644
--- a/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java
+++ b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java
@@ -12,15 +12,15 @@ import java.io.IOException;
import java.net.InetAddress;
import java.util.List;
+import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
+import com.gemstone.gemfire.test.junit.categories.UnitTest;
+import com.vmware.gemfire.tools.pulse.tests.PulseTest;
import junit.framework.Assert;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.*;
+import org.junit.experimental.categories.Category;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
@@ -39,13 +39,14 @@ import com.vmware.gemfire.tools.pulse.testbed.TestBed;
* @author tushark
*
*/
+@Ignore
+@Category(IntegrationTest.class)
public class PulseUITest {
- private WebDriver driver;
- private TestBed testBed;
- private final String testBedPropertyfile = System.getProperty("pulse.propMockDataUpdaterFile");
- private static String pulseURL = System.getProperty("pulse.url");
- private static String path =System.getProperty("pulse.war");
+ private static WebDriver driver;
+ private static TestBed testBed;
+ private static String pulseURL;
+ private static String path;
private static final String userName = "admin";
private static final String pasword = "admin";
@@ -57,57 +58,23 @@ public class PulseUITest {
private static final String CLUSTER_VIEW_REGIONS_ID = "clusterTotalRegionsText";
private static Tomcat tomcat = null;
- private static WebDriver initdriver = null;
@BeforeClass
- public static void setUpTomcat(){
- try {
+ public static void setUpTomcat() throws Exception{
String host = InetAddress.getLocalHost().getHostAddress();
int port = 8080;
- String context = "/pulse";
+ String context = "/pulse";
+ path = PulseTest.getPulseWarPath();
//System.setProperty("pulse.propMockDataUpdaterClass", "com.vmware.gemfire.tools.pulse.testbed.PropMockDataUpdater");
- tomcat = TomcatHelper.startTomcat(host, port, context, path);
+ tomcat = TomcatHelper.startTomcat(host, port, context, path);
pulseURL = "http://" + host + ":" + port + context;
Thread.sleep(1000); //wait till tomcat settles down
- initdriver = new FirefoxDriver();
- loginToPulse(initdriver, userName, pasword);
- Thread.sleep(5000); //wait till pulse starts polling threads...
- initdriver.close();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- Assert.fail("Error " +e.getMessage());
- } catch (IOException e) {
- e.printStackTrace();
- Assert.fail("Error " +e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- Assert.fail("Error " +e.getMessage());
- }
- }
-
+ driver = new FirefoxDriver();
+ driver.manage().window().maximize();//required to make all elements visible
- @Before
- public void setUp() {
- try {
- testBed = new TestBed(testBedPropertyfile,true);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- Assert.fail("Error " +e.getMessage());
- } catch (IOException e) {
- e.printStackTrace();
- Assert.fail("Error " +e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- Assert.fail("Error " +e.getMessage());
- }
-
- driver = new FirefoxDriver();
- driver.manage().window().maximize();//required to make all elements visible
- loginToPulse();
- }
-
- private void loginToPulse() {
- loginToPulse(driver, userName, pasword);
+ Thread.sleep(5000); //wait till pulse starts polling threads...
+ testBed = new TestBed();
+ loginToPulse(driver, userName, pasword);
}
private static void loginToPulse(WebDriver driver, String userName,String password){
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dcad5101/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/TomcatHelper.java
----------------------------------------------------------------------
diff --git a/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/TomcatHelper.java b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/TomcatHelper.java
index 4a3f318..e450a37 100644
--- a/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/TomcatHelper.java
+++ b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/TomcatHelper.java
@@ -1,10 +1,10 @@
-/*=========================================================================
- * Copyright (c) 2012-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
+/*=========================================================================
+ * Copyright (c) 2012-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
package com.vmware.gemfire.tools.pulse.testbed.driver;
import java.net.InetAddress;
@@ -63,18 +63,4 @@ public class TomcatHelper {
return tomcat;
}
-
- public static void main(String[] args) throws Exception {
- String host = InetAddress.getLocalHost().getHostAddress();
- int port = 8080;
- String path = "/tushark1/code-checkout/tools/Pulse/trunk/build-artifacts/linux/dist/pulse-7.0.1.RC1.war";
- String context = "/pulse";
- System.setProperty("pulse.propMockDataUpdaterClass", "com.vmware.gemfire.tools.pulse.testbed.PropMockDataUpdater");
- Tomcat tomcat = TomcatHelper.startTomcat("localhost", port, context, path);
- Thread.sleep(30000);
- System.out.println("Sleep completed");
- System.out.println("Exiting ....");
- tomcat.stop();
- tomcat.destroy();
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dcad5101/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/DataBrowserResultLoader.java
----------------------------------------------------------------------
diff --git a/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/DataBrowserResultLoader.java b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/DataBrowserResultLoader.java
index 93560a0..554fc00 100644
--- a/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/DataBrowserResultLoader.java
+++ b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/DataBrowserResultLoader.java
@@ -33,19 +33,19 @@ public class DataBrowserResultLoader {
try {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- if (queryString.equals(PulseTests.QUERY_TYPE_ONE)) {
+ if (queryString.equals(PulseTest.QUERY_TYPE_ONE)) {
url = classLoader.getResource("testQueryResultClusterSmall.txt");
- } else if (queryString.equals(PulseTests.QUERY_TYPE_TWO)) {
+ } else if (queryString.equals(PulseTest.QUERY_TYPE_TWO)) {
url = classLoader.getResource("testQueryResultSmall.txt");
- } else if (queryString.equals(PulseTests.QUERY_TYPE_THREE)) {
+ } else if (queryString.equals(PulseTest.QUERY_TYPE_THREE)) {
url = classLoader.getResource("testQueryResult.txt");
- } else if (queryString.equals(PulseTests.QUERY_TYPE_FOUR)) {
+ } else if (queryString.equals(PulseTest.QUERY_TYPE_FOUR)) {
url = classLoader.getResource("testQueryResultWithStructSmall.txt");
- } else if (queryString.equals(PulseTests.QUERY_TYPE_FIVE)) {
+ } else if (queryString.equals(PulseTest.QUERY_TYPE_FIVE)) {
url = classLoader.getResource("testQueryResultClusterWithStruct.txt");
- } else if (queryString.equals(PulseTests.QUERY_TYPE_SIX)) {
+ } else if (queryString.equals(PulseTest.QUERY_TYPE_SIX)) {
url = classLoader.getResource("testQueryResultHashMapSmall.txt");
- } else if (queryString.equals(PulseTests.QUERY_TYPE_SEVENE)) {
+ } else if (queryString.equals(PulseTest.QUERY_TYPE_SEVENE)) {
url = classLoader.getResource("testQueryResult1000.txt");
} else {
url = classLoader.getResource("testQueryResult.txt");
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/dcad5101/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAutomatedTest.java
----------------------------------------------------------------------
diff --git a/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAutomatedTest.java b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAutomatedTest.java
new file mode 100644
index 0000000..ecf5029
--- /dev/null
+++ b/gemfire-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAutomatedTest.java
@@ -0,0 +1,774 @@
+/*=========================================================================
+ * Copyright (c) 2012-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+/**
+* This test class contains automated tests for Pulse application related to
+* 1. Different grid data validations for example - Topology, Server Group, Redundancy Zone
+* 2. Data Browser
+* 3.
+*
+*
+* @author Smita Phad
+* @version 1.0
+* @since 2014-04-02
+*/
+
+package com.vmware.gemfire.tools.pulse.tests;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.concurrent.TimeUnit;
+import java.util.TreeMap;
+
+import junit.framework.Assert;
+
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.interactions.Actions;
+import org.openqa.selenium.support.ui.ExpectedConditions;
+import org.openqa.selenium.support.ui.WebDriverWait;
+
+public class PulseAutomatedTest extends PulseBaseTest {
+
+
+ @Test
+ public void serverGroupGridDataValidation() {
+ navigateToServerGroupGridView();
+ validateServerGroupGridData();
+ }
+
+ @Test
+ public void redundancyZonesGridDataValidation() {
+ navigateToRedundancyZonesGridView();
+ validateRedundancyZonesGridData();
+ }
+
+ @Test
+ public void topologyGridDataValidation() {
+ navigateToTopologyGridView();
+ validateTopologyGridData();
+ }
+
+ @Test
+ public void dataViewGridDataValidation() {
+ navigateToDataPrespectiveGridView();
+ validateDataPrespectiveGridData();
+ }
+
+ @Test
+ public void regionDetailsGridDataValidation() {
+ navigateToRegionDetailsGridView();
+ validateRegionDetailsGridData();
+
+ }
+
+ @Test
+ public void regionDetailsNavigationTest() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals("/R2", getTextUsingId(PulseTestLocators.RegionDetailsView.regionNameDivId));
+ }
+
+ @Test
+ public void regionName() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.name"), getTextUsingId(PulseTestLocators.RegionDetailsView.regionNameDivId));
+ }
+
+ @Test
+ public void regionPath() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.fullPath"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.regionPathId));
+ }
+
+ @Test
+ public void regionType() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.regionType"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.regionTypeId));
+ }
+
+ @Test
+ public void regionMembers() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.memberCount"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.regionMembersTextId));
+ }
+
+ @Test
+ public void regionEmptyNodes() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.emptyNodes"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.regionEmptyNodesId));
+ }
+
+ @Test
+ public void regionEntryCount() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.systemRegionEntryCount"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.regionEntryCountTextId));
+ }
+
+ @Test
+ public void regionDiskUsage() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.diskUsage"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.regionDiskUsageId));
+ }
+
+ @Test
+ public void regionPersistence() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPersistanceEnabled(getPropertyValue("region.R2.persistentEnabled")),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.regionPersistenceId));
+ }
+
+ @Ignore("WIP")
+ @Test
+ public void regionMemoryUsage() {
+ navigateToRegionDetailsView();
+ // need to check the respective property values
+ }
+
+ @Test
+ public void regionInMemoryRead() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.getsRate"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.inMemoryReadsId));
+
+ }
+
+ @Test
+ public void regionInMemoryWrites() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.putsRate"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.inMemoryWritesId));
+ }
+
+ @Test
+ public void regionDiskRead() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.diskReadsRate"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.diskReadsId));
+ }
+
+ @Test
+ public void regionDiskWrites() {
+ navigateToRegionDetailsView();
+ Assert.assertEquals(getPropertyValue("region.R2.diskWritesRate"),
+ getTextUsingId(PulseTestLocators.RegionDetailsView.diskWritesId));
+ }
+
+ @Test
+ public void clickHostShowsMemberTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.nodeH1Id);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM1Id);
+ clickElementUsingId(PulseTestLocators.TopologyView.nodeH2Id);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM2Id);
+ clickElementUsingId(PulseTestLocators.TopologyView.nodeH3Id);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM3Id);
+ }
+
+ @Test
+ public void verifyHostTooltipsOfTopologyGraphTest() {
+ for (int i = 1; i <=3; i++) {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ mouseClickAndHoldOverElementById("h" + i);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.hostNameTTXpath, getPropertyValue("member.M" + i + ".host"));
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.cpuUsageTTXpath, "0%");
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.memoryUsageTTXpath, getPropertyValue("member.M" + i
+ + ".UsedMemory"));
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.loadAvgTTXpath, getPropertyValue("member.M" + i
+ + ".loadAverage"));
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.soketsTTXpath, getPropertyValue("member.M" + i
+ + ".totalFileDescriptorOpen"));
+ mouseReleaseById("h" + i);
+ driver.navigate().refresh();
+ }
+ }
+
+ @Ignore("Issues with member tooltip xpath")
+ @Test
+ public void verifyMemberTooltipsOfTopologyGraphTest() {
+
+ verifyElementPresentById(PulseTestLocators.TopologyView.nodeH1Id);
+ clickElementUsingId(PulseTestLocators.TopologyView.nodeH1Id);
+ mouseClickAndHoldOverElementById(PulseTestLocators.TopologyView.memberM1Id);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.memNameTTXpath, getPropertyValue("member.M1.member"));
+ //verifyTextPresrntByXpath(PulseTestLocators.TopologyView.memCpuUsageTTXpath, getPropertyValue("member.M1.cpuUsage") + "%");
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.jvmPausesTTXpath, getPropertyValue("member.M1.JVMPauses"));
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.regionsTTXpath, getPropertyValue("member.M1.totalRegionCount"));
+ verifyElementPresentById(PulseTestLocators.TopologyView.nodeH2Id);
+ clickElementUsingId(PulseTestLocators.TopologyView.nodeH2Id);
+ mouseClickAndHoldOverElementById(PulseTestLocators.TopologyView.memberM2Id);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.memNameTTXpath, getPropertyValue("member.M2.member"));
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.memCpuUsageTTXpath, getPropertyValue("member.M2.cpuUsage") + "%");
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.jvmPausesTTXpath, getPropertyValue("member.M2.JVMPauses"));
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.regionsTTXpath, getPropertyValue("member.M2.totalRegionCount"));
+
+ verifyElementPresentById(PulseTestLocators.TopologyView.nodeH3Id);
+ clickElementUsingId(PulseTestLocators.TopologyView.nodeH3Id);
+ mouseClickAndHoldOverElementById(PulseTestLocators.TopologyView.memberM3Id);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.memNameTTXpath, getPropertyValue("member.M3.member"));
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.memCpuUsageTTXpath, getPropertyValue("member.M3.cpuUsage") + "%");
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.jvmPausesTTXpath, getPropertyValue("member.M3.JVMPauses"));
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.regionsTTXpath, getPropertyValue("member.M3.totalRegionCount"));
+
+ }
+
+ @Test
+ public void VerifyRGraphTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ verifyElementPresentById(PulseTestLocators.TopologyView.nodeH1Id);
+ verifyElementPresentById(PulseTestLocators.TopologyView.nodeH2Id);
+ verifyElementPresentById(PulseTestLocators.TopologyView.nodeH3Id);
+ }
+
+ @Test
+ public void clickMembersOfTopologyGraphTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.nodeH1Id);
+ clickElementUsingId(PulseTestLocators.TopologyView.memberM1Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M1");
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.nodeH2Id);
+ clickElementUsingId(PulseTestLocators.TopologyView.memberM2Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M2");
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.nodeH3Id);
+ clickElementUsingId(PulseTestLocators.TopologyView.memberM3Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M3");
+ }
+
+ @Test
+ public void clickTreeMapViewShowingTreeMapTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.treeMapButtonId);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM1Id);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM2Id);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM3Id);
+ }
+
+ @Test
+ public void verifyMembersPresentInTreeMapTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.treeMapButtonId);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM1Id);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM2Id);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM3Id);
+ verifyTextPresrntById(PulseTestLocators.TopologyView.memberM1Id, "M1");
+ verifyTextPresrntById(PulseTestLocators.TopologyView.memberM2Id, "M2");
+ verifyTextPresrntById(PulseTestLocators.TopologyView.memberM3Id, "M3");
+ }
+
+ @Test
+ public void clickMemberNavigatingToCorrespondingRegionTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.treeMapButtonId);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM1Id);
+ verifyTextPresrntById(PulseTestLocators.TopologyView.memberM1Id, "M1");
+ clickElementUsingId(PulseTestLocators.TopologyView.memberM1Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M1");
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.treeMapButtonId);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM2Id);
+ verifyTextPresrntById(PulseTestLocators.TopologyView.memberM2Id, "M2");
+ clickElementUsingId(PulseTestLocators.TopologyView.memberM2Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M2");
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.treeMapButtonId);
+ verifyElementPresentById(PulseTestLocators.TopologyView.memberM3Id);
+ verifyTextPresrntById(PulseTestLocators.TopologyView.memberM3Id, "M3");
+ clickElementUsingId(PulseTestLocators.TopologyView.memberM3Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M3");
+ }
+
+ @Test
+ public void clickGridButtonShowsGridTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.gridButtonId);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.idM1Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.nameM1Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.hostH1Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.idM2Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.nameM2Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.hostH2Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.idM3Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.nameM3Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.hostH3Xpath);
+ }
+
+ @Test
+ public void verifyMembersPresentInGridTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.gridButtonId);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.nameM1Xpath);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.nameM1Xpath, "M1");
+
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.nameM2Xpath);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.nameM2Xpath, "M2");
+
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.nameM3Xpath);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.nameM3Xpath, "M3");
+ }
+
+ @Test
+ public void verifyHostNamesInGridTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.gridButtonId);
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.hostH1Xpath);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.hostH1Xpath, "h1");
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.hostH2Xpath);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.hostH2Xpath, "h2");
+ verifyElementPresentByXpath(PulseTestLocators.TopologyView.hostH3Xpath);
+ verifyTextPresrntByXpath(PulseTestLocators.TopologyView.hostH3Xpath, "h3");
+ }
+
+ @Test
+ public void clickOnGridMemNameNavigatingToCorrespondingRegionTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.gridButtonId);
+ clickElementUsingXpath(PulseTestLocators.TopologyView.nameM1Xpath);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M1");
+
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.gridButtonId);
+ clickElementUsingXpath(PulseTestLocators.TopologyView.nameM2Xpath);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M2");
+
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.gridButtonId);
+ clickElementUsingXpath(PulseTestLocators.TopologyView.nameM3Xpath);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M3");
+ }
+
+ @Test
+ public void verifyMembersPresentInSvrGrpTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrpsRadioXpath);
+ verifyElementPresentById(PulseTestLocators.ServerGroups.serverGrp1Id);
+ verifyElementPresentById(PulseTestLocators.ServerGroups.serverGrp2Id);
+ verifyElementPresentById(PulseTestLocators.ServerGroups.serverGrp3Id);
+
+ verifyElementPresentById(PulseTestLocators.ServerGroups.sg1M1Id);
+ verifyElementPresentById(PulseTestLocators.ServerGroups.sg1M2Id);
+ verifyElementPresentById(PulseTestLocators.ServerGroups.sg1M3Id);
+
+ verifyElementPresentById(PulseTestLocators.ServerGroups.sg2M1Id);
+ verifyElementPresentById(PulseTestLocators.ServerGroups.sg2M2Id);
+
+ verifyElementPresentById(PulseTestLocators.ServerGroups.sg3M3Id);
+ }
+
+ @Test
+ public void expandAndCloseServerGroupsTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ //waitForElement(findElementByXpath(PulseTestLocators.ServerGroups.serverGrpsRadioXpath));
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrpsRadioXpath);
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrp1Xpath);
+ verifyElementAttributeById(PulseTestLocators.ServerGroups.serverGrp1Id, "style", "width: 720px; height: 415px;");
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrp1Xpath);
+ verifyElementAttributeById(PulseTestLocators.ServerGroups.serverGrp1Id, "style", "width: 239.667px; height: 399px;");
+
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrp2Xpath);
+ verifyElementAttributeById(PulseTestLocators.ServerGroups.serverGrp2Id, "style", "width: 720px; height: 415px;");
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrp2Xpath);
+ verifyElementAttributeById(PulseTestLocators.ServerGroups.serverGrp2Id, "style", "width: 239.667px; height: 399px;");
+
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrp3Xpath);
+ verifyElementAttributeById(PulseTestLocators.ServerGroups.serverGrp3Id, "style", "width: 720px; height: 415px;");
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrp3Xpath);
+ verifyElementAttributeById(PulseTestLocators.ServerGroups.serverGrp3Id, "style", "width: 239.667px; height: 399px;");
+ }
+
+ @Test
+ public void verifyMembersInServGrpTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrpsRadioXpath);
+
+ verifyTextPresrntById(PulseTestLocators.ServerGroups.serverGrp1Id, "SG1");
+ verifyTextPresrntById(PulseTestLocators.ServerGroups.serverGrp2Id, "SG2");
+ verifyTextPresrntById(PulseTestLocators.ServerGroups.serverGrp3Id, "SG3");
+
+ verifyTextPresrntById(PulseTestLocators.ServerGroups.sg1M1Id, "M1");
+ verifyTextPresrntById(PulseTestLocators.ServerGroups.sg1M2Id, "M2");
+ verifyTextPresrntById(PulseTestLocators.ServerGroups.sg1M3Id, "M3");
+
+ verifyTextPresrntById(PulseTestLocators.ServerGroups.sg2M1Id, "M1");
+ verifyTextPresrntById(PulseTestLocators.ServerGroups.sg2M2Id, "M2");
+
+ verifyTextPresrntById(PulseTestLocators.ServerGroups.sg3M3Id, "M3");
+ }
+
+ @Test
+ public void memberNavigationFromServGrpTest() {
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.serverGrpsRadioXpath);
+ clickElementUsingId(PulseTestLocators.ServerGroups.sg1M1Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M1");
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.sg1M2Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M2");
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.sg1M3Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M3");
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.sg2M1Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M1");
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.sg2M2Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M2");
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.sg3M3Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M3");
+ }
+
+ @Test
+ public void clickServGrpGridButtonShowsGridTest() {
+ navigateToServerGroupGridView();
+ verifyElementPresentByXpath(PulseTestLocators.ServerGroups.idSG1M3Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.ServerGroups.idSG1M2Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.ServerGroups.idSG1M1Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.ServerGroups.nameM3Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.ServerGroups.nameM2Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.ServerGroups.nameM1Xpath);
+
+ }
+
+ @Test
+ public void memberNavigationFromServGrpGridTest() {
+ navigateToServerGroupGridView();
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.idSG1M3Xpath);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M3");
+ navigateToServerGroupGridView();
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.idSG1M1Xpath);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M1");
+ navigateToServerGroupGridView();
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.idSG1M2Xpath);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M2");
+ }
+
+ @Test
+ public void verifyZonePresentTest() {
+ navigateToRedundancyZonesTreeView();
+ verifyElementPresentByXpath(PulseTestLocators.RedundancyZone.zoneRZ1RZ2Xpath);
+ verifyElementPresentById(PulseTestLocators.RedundancyZone.zoneRZ2Id);
+ }
+
+ @Test
+ public void expandAndCloseRdncyZoneTest() {
+ navigateToRedundancyZonesTreeView();
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.zoneRZ1RZ2Xpath);
+ verifyElementAttributeById(PulseTestLocators.RedundancyZone.zoneRZ1Id, "style", "width: 720px; height: 415px;");
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.zoneRZ1RZ2Xpath);
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.zoneRZ2Xpath);
+ verifyElementAttributeById(PulseTestLocators.RedundancyZone.zoneRZ2Id, "style", "width: 720px; height: 415px;");
+
+ }
+
+ @Test
+ public void clickRZMembersNavigationTest() {
+ navigateToRedundancyZonesTreeView();
+ clickElementUsingId(PulseTestLocators.RedundancyZone.m1RZ1RZ2Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M1");
+ navigateToRedundancyZonesTreeView();
+ clickElementUsingId(PulseTestLocators.RedundancyZone.m2RZ1Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M2");
+ navigateToRedundancyZonesTreeView();
+ clickElementUsingId(PulseTestLocators.RedundancyZone.m3RZ2Id);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M3");
+ }
+
+ @Test
+ public void clickRZGridShowingGridTest() {
+ navigateToRedundancyZonesGridView();
+ verifyElementPresentByXpath(PulseTestLocators.RedundancyZone.idM2Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.RedundancyZone.idM1Xpath);
+ verifyElementPresentByXpath(PulseTestLocators.RedundancyZone.idM3Xpath);
+ verifyTextPresrntByXpath(PulseTestLocators.RedundancyZone.idM2Xpath, "M2");
+ verifyTextPresrntByXpath(PulseTestLocators.RedundancyZone.idM1Xpath, "M1");
+ verifyTextPresrntByXpath(PulseTestLocators.RedundancyZone.idM3Xpath, "M3");
+ }
+
+ @Test
+ public void clickRZGridMembersNavigationTest() {
+ navigateToRedundancyZonesGridView();
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.idM2Xpath);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M2");
+ navigateToRedundancyZonesGridView();
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.idM1Xpath);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M1");
+ navigateToRedundancyZonesGridView();
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.idM3Xpath);
+ verifyTextPresrntById(PulseTestLocators.RegionDetailsView.memberNameId, "M3");
+ }
+
+
+ @Test
+ public void verifySortingOptionsTest(){
+ clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath);
+ clickElementUsingId(PulseTestLocators.TopologyView.treeMapButtonId);
+ verifyElementPresentById(PulseTestLocators.TopologyView.hotSpotId);
+ clickElementUsingId(PulseTestLocators.TopologyView.hotSpotId);
+ verifyElementPresentByLinkText("Heap Usage");
+ verifyElementPresentByLinkText("CPU Usage");
+ }
+
+ /*
+ * HotSpot test scripts -
+ */
+ //--- Topology view
+
+ @Test
+ public void testHotSpotOptPrsntOnTopologyView(){
+ navigateToTopologyTreeView();
+ Assert.assertEquals(PulseTestData.Topology.hotSpotHeapLbl, getTextUsingId(PulseTestLocators.TopologyView.hotSpotId));
+ }
+
+ @Test
+ public void testHotSpotOptionsTopologyView(){
+ navigateToTopologyTreeView();
+ clickElementUsingId(PulseTestLocators.TopologyView.hotSpotId);
+ Assert.assertEquals(PulseTestData.Topology.hotSpotHeapLbl, getTextUsingXpath(PulseTestLocators.TopologyView.heapUsageXpath));
+ Assert.assertEquals(PulseTestData.Topology.hotSpotCPULbl, getTextUsingXpath(PulseTestLocators.TopologyView.cpuUsageXpath));
+ }
+
+ @Test
+ public void testCpuUsageNavigationOnTopologyView(){
+ navigateToTopologyTreeView();
+ clickElementUsingId(PulseTestLocators.TopologyView.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.TopologyView.cpuUsageXpath);
+ Assert.assertEquals(PulseTestData.Topology.hotSpotCPULbl, getTextUsingId(PulseTestLocators.TopologyView.hotSpotId));
+ }
+
+ @Test
+ public void testHeapUsageNavigationOnTopologyView(){
+ navigateToTopologyTreeView();
+ clickElementUsingId(PulseTestLocators.TopologyView.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.TopologyView.heapUsageXpath);
+ Assert.assertEquals(PulseTestData.Topology.hotSpotHeapLbl, getTextUsingId(PulseTestLocators.TopologyView.hotSpotId));
+ }
+
+ @Test
+ public void testSortingUsingCpuUsageOnTopologyView(){
+ navigateToTopologyTreeView();
+ clickElementUsingId(PulseTestLocators.TopologyView.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.TopologyView.cpuUsageXpath);
+ assertMemberSortingByCpuUsage();
+ }
+
+ @Test
+ public void testSortingUsingHeapUsageOnTopologyView(){
+ navigateToTopologyTreeView();
+ clickElementUsingId(PulseTestLocators.TopologyView.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.TopologyView.heapUsageXpath);
+ assertMemberSortingByHeapUsage();
+ }
+
+ //--- Server Group view
+
+ @Test
+ public void testHotSpotOptPrsntOnServerGroupView(){
+ navigateToServerGroupTreeView();
+ Assert.assertEquals(PulseTestData.ServerGroups.hotSpotHeapLbl, getTextUsingId(PulseTestLocators.ServerGroups.hotSpotId));
+ }
+
+ @Test
+ public void testHotSpotOptionsServerGroupView(){
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.hotSpotId);
+ Assert.assertEquals(PulseTestData.ServerGroups.hotSpotHeapLbl, getTextUsingXpath(PulseTestLocators.ServerGroups.heapUsageXpath));
+ Assert.assertEquals(PulseTestData.ServerGroups.hotSpotCPULbl, getTextUsingXpath(PulseTestLocators.ServerGroups.cpuUsageXpath));
+ }
+
+ @Test
+ public void testCpuUsageNavigationOnServerGroupView(){
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.cpuUsageXpath);
+ Assert.assertEquals(PulseTestData.ServerGroups.hotSpotCPULbl, getTextUsingId(PulseTestLocators.ServerGroups.hotSpotId));
+ }
+
+ @Test
+ public void testHeapUsageNavigationOnServerGroupView(){
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.heapUsageXpath);
+ Assert.assertEquals(PulseTestData.ServerGroups.hotSpotHeapLbl, getTextUsingId(PulseTestLocators.ServerGroups.hotSpotId));
+ }
+
+ @Test
+ public void testSortingUsingHeapUsageOnServerGroupView(){
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.heapUsageXpath);
+ assertMemberSortingBySgHeapUsage();
+ }
+
+ @Test
+ public void testSortingUsingCpuUsageOnServerGroupView(){
+ navigateToServerGroupTreeView();
+ clickElementUsingId(PulseTestLocators.ServerGroups.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.ServerGroups.cpuUsageXpath);
+ assertMemberSortingBySgCpuUsage();
+ }
+
+ //--- Redundancy Zone view
+
+ @Test
+ public void testHotSpotOptPrsntOnRedundancyZoneView(){
+ navigateToRedundancyZonesTreeView();
+ Assert.assertEquals(PulseTestData.RedundancyZone.hotSpotHeapLbl, getTextUsingId(PulseTestLocators.RedundancyZone.hotSpotId));
+ }
+
+
+ @Test
+ public void testHotSpotOptionsRedundancyZoneView(){
+ // navigate to Redundancy Zones - Tree View
+ navigateToRedundancyZonesTreeView();
+ clickElementUsingId(PulseTestLocators.RedundancyZone.hotSpotId);
+ Assert.assertEquals(PulseTestData.RedundancyZone.hotSpotHeapLbl, getTextUsingXpath(PulseTestLocators.RedundancyZone.heapUsageXpath));
+ Assert.assertEquals(PulseTestData.RedundancyZone.hotSpotCPULbl, getTextUsingXpath(PulseTestLocators.RedundancyZone.cpuUsageXpath));
+ }
+
+ @Test
+ public void testCpuUsageNavigationOnRedundancyZoneView(){
+ // navigate to Redundancy Zones - Tree View
+ navigateToRedundancyZonesTreeView();
+ clickElementUsingId(PulseTestLocators.RedundancyZone.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.cpuUsageXpath);
+ Assert.assertEquals(PulseTestData.RedundancyZone.hotSpotCPULbl, getTextUsingId(PulseTestLocators.RedundancyZone.hotSpotId));
+ }
+
+ @Test
+ public void testHeapUsageNavigationOnRedundancyZoneView(){
+ // navigate to Redundancy Zones - Tree View
+ navigateToRedundancyZonesTreeView();
+ clickElementUsingId(PulseTestLocators.RedundancyZone.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.heapUsageXpath);
+ Assert.assertEquals(PulseTestData.RedundancyZone.hotSpotHeapLbl, getTextUsingId(PulseTestLocators.RedundancyZone.hotSpotId));
+ }
+
+ @Test
+ public void testSortingUsingHeapUsageOnRedundancyView(){
+ // navigate to Redundancy Zones - Tree View
+ navigateToRedundancyZonesTreeView();
+ clickElementUsingId(PulseTestLocators.RedundancyZone.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.heapUsageXpath);
+ assertMemberSortingByRzHeapUsage();
+ }
+
+ @Test
+ public void testSortingUsingCpuUsageOnRedundancyView(){
+ // navigate to Redundancy Zones - Tree View
+ navigateToRedundancyZonesTreeView();
+ clickElementUsingId(PulseTestLocators.RedundancyZone.hotSpotId);
+ clickElementUsingXpath(PulseTestLocators.RedundancyZone.cpuUsageXpath);
+ assertMemeberSortingByRzCpuUsage();
+ }
+
+ @Test
+ public void testDataBrowserFilterFeature(){
+ // navigate to Data browser page
+ loadDataBrowserpage();
+ List<WebElement> regionLst = getRegionsFromDataBrowser();
+ String []regionNames = new String[regionLst.size()];
+ for(int regionIndex = 0; regionIndex < regionLst.size(); regionIndex++){
+ regionNames[regionIndex] = findElementByXpath(PulseTestLocators.DataBrowser.rgnSpanFirstPart + (regionIndex + 1 ) + PulseTestLocators.DataBrowser.rgnSpanSecondPart).getText();
+ }
+ // type each region name in region filter and verify respective region(s) are displayed in region list
+ for (String region : regionNames) {
+ findElementById(PulseTestLocators.DataBrowser.rgnFilterTxtBoxId).clear();
+ findElementById(PulseTestLocators.DataBrowser.rgnFilterTxtBoxId).sendKeys(region);
+
+ List<WebElement> regionLst1 = getRegionsFromDataBrowser();
+
+ for(int regionIndex = 1; regionIndex <= regionLst1.size(); regionIndex++){
+ Assert.assertEquals(region, findElementByXpath(PulseTestLocators.DataBrowser.rgnSpanFirstPart + regionIndex + PulseTestLocators.DataBrowser.rgnSpanSecondPart).getText());
+ }
+ }
+ }
+
+ @Test
+ public void testDataBrowserFilterPartialRegionName(){
+ // navigate to Data browser page
+ loadDataBrowserpage();
+ findElementById(PulseTestLocators.DataBrowser.rgnFilterTxtBoxId).clear();
+
+ // type partial region name in region filter and verify that all the regions that contains that text displays
+ findElementById(PulseTestLocators.DataBrowser.rgnFilterTxtBoxId).sendKeys(PulseTestData.DataBrowser.partialRgnName);
+ List<WebElement> regionLst = getRegionsFromDataBrowser();
+
+ for(int regionIndex = 0; regionIndex < regionLst.size(); regionIndex++){
+ Assert.assertTrue(findElementByXpath(PulseTestLocators.DataBrowser.rgnSpanFirstPart +
+ (regionIndex + 1 ) +
+ PulseTestLocators.DataBrowser.rgnSpanSecondPart).
+ getText().
+ contains(PulseTestData.DataBrowser.partialRgnName));
+ }
+ }
+
+ @Test
+ public void testDataBrowserClearButton(){
+ // navigate to Data browser page
+ loadDataBrowserpage();
+
+ sendKeysUsingId(PulseTestLocators.DataBrowser.queryEditorTxtBoxId, PulseTestData.DataBrowser.query1Text);
+ String editorTextBeforeClear = getTextUsingId(PulseTestLocators.DataBrowser.queryEditorTxtBoxId);
+ clickElementUsingXpath(PulseTestLocators.DataBrowser.btnClearXpath);
+ String editorTextAfterClear = getTextUsingId(PulseTestLocators.DataBrowser.queryEditorTxtBoxId);
+
+ Assert.assertFalse(PulseTestData.DataBrowser.query1Text.equals(editorTextAfterClear));
+ }
+
+ @Ignore("WIP") // Data Browser's Query History not showing any data on button click, therefore this test is failing
+ @Test
+ public void testDataBrowserHistoryQueue(){
+ // navigate to Data browser page
+ loadDataBrowserpage();
+
+ List<WebElement> numOfReg = driver.findElements(By.xpath(PulseTestLocators.DataBrowser.divDataRegions));
+
+ for(int i = 1; i <= numOfReg.size(); i ++){
+ if(getTextUsingId("treeDemo_" + i + "_span").equals( PulseTestData.DataBrowser.regName)){
+ searchByIdAndClick("treeDemo_" + i + "_check"); //driver.findElement(By.id("treeDemo_" + i + "_check")).click();
+ }
+ }
+
+ sendKeysUsingId(PulseTestLocators.DataBrowser.queryEditorTxtBoxId, PulseTest.QUERY_TYPE_ONE);
+ clickElementUsingId(PulseTestLocators.DataBrowser.btnExecuteQueryId);
+
+ //Get required datetime format and extract date and hours from date time.
+ DateFormat dateFormat = new SimpleDateFormat(PulseTestData.DataBrowser.datePattern);
+ String queryDateTime = dateFormat.format(System.currentTimeMillis());
+ String queryTime[] = queryDateTime.split(":");
+ System.out.println("Query Time from System: " + queryTime[0]);
+
+
+ clickElementUsingId(PulseTestLocators.DataBrowser.historyIcon);
+ List<WebElement> historyLst = driver.findElements(By.xpath(PulseTestLocators.DataBrowser.historyLst));
+ String queryText = findElementByXpath(PulseTestLocators.DataBrowser.historyLst)
+ .findElement(By.cssSelector(PulseTestLocators.DataBrowser.queryText)).getText();
+ String historyDateTime = findElementByXpath(PulseTestLocators.DataBrowser.historyLst)
+ .findElement(By.cssSelector(PulseTestLocators.DataBrowser.historyDateTime)).getText();
+ System.out.println("Query Text from History Table: " + queryText);
+ System.out.println("Query Time from History Table: " + historyDateTime);
+ //verify the query text, query datetime in history panel
+ Assert.assertTrue(PulseTest.QUERY_TYPE_ONE.equals(queryText));
+ Assert.assertTrue(historyDateTime.contains(queryTime[0]));
+
+ }
+}