use of org.apache.geode.tools.pulse.tests.Member in project geode by apache.
the class PulseTestUtils method validateServerGroupGridData.
public static void validateServerGroupGridData() {
List<WebElement> serverGridRows = getDriver().findElements(By.xpath("//table[@id='memberListSG']/tbody/tr"));
int rowsCount = serverGridRows.size();
String[][] gridDataFromUI = new String[rowsCount][7];
for (int j = 2, x = 0; j <= serverGridRows.size(); j++, x++) {
for (int i = 0; i <= 6; i++) {
gridDataFromUI[x][i] = getDriver().findElement(By.xpath("//table[@id='memberListSG']/tbody/tr[" + j + "]/td[" + (i + 1) + "]")).getText();
}
}
String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" ");
HashMap<String, HashMap<String, Member>> sgMap = new HashMap<String, HashMap<String, Member>>();
for (String member : memberNames) {
Member thisMember = new Member(member);
String[] sgs = thisMember.getGroups();
for (String sgName : sgs) {
HashMap<String, Member> sgMembers = sgMap.get(sgName);
if (sgMembers == null) {
sgMembers = new HashMap<String, Member>();
sgMap.put(sgName, sgMembers);
}
sgMembers.put(thisMember.getMember(), thisMember);
}
}
for (int i = 0; i < gridDataFromUI.length - 1; i++) {
String sgName = gridDataFromUI[i][0];
String memName = gridDataFromUI[i][1];
Member m = sgMap.get(sgName).get(memName);
assertEquals(sgName, gridDataFromUI[i][0]);
assertEquals(memName, gridDataFromUI[i][1]);
assertEquals(m.getMember(), gridDataFromUI[i][2]);
assertEquals(m.getHost(), gridDataFromUI[i][3]);
String cupUsage = String.valueOf(m.getCpuUsage());
assertEquals(cupUsage, gridDataFromUI[i][5]);
}
}
use of org.apache.geode.tools.pulse.tests.Member in project geode by apache.
the class PulseTestUtils method assertMemeberSortingByRzCpuUsage.
public static void assertMemeberSortingByRzCpuUsage() {
String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" ");
HashMap<String, HashMap<String, Member>> rzMap = new HashMap<String, HashMap<String, Member>>();
for (String member : memberNames) {
Member thisMember = new Member(member);
String sgName = thisMember.getRedundancyZone();
HashMap<String, Member> rzMembers = rzMap.get(sgName);
if (rzMembers == null) {
rzMembers = new HashMap<String, Member>();
rzMap.put(sgName, rzMembers);
}
rzMembers.put(thisMember.getMember(), thisMember);
}
Map<Double, String> memberMap = new TreeMap<>(Collections.reverseOrder());
String rzName = "RZ1 RZ2";
String memName = "M1";
Member m = rzMap.get(rzName).get(memName);
memberMap.put(m.getCpuUsage(), m.getMember());
for (Map.Entry<Double, String> entry : memberMap.entrySet()) {
// here matching painting style to validation that the members are painted according to their
// cpu usage
String refMemberCPUUsage = null;
if (entry.getValue().equalsIgnoreCase("M1")) {
refMemberCPUUsage = PulseTestData.RedundancyZone.cpuUsagePaintStyleRZ1RZ2M1;
} else if (entry.getValue().equalsIgnoreCase("M2")) {
refMemberCPUUsage = PulseTestData.RedundancyZone.cpuUsagePaintStyleRZ1RZ2M2;
}
assertTrue(waitForElementWithId("RZ1 RZ2(!)" + entry.getValue()).getAttribute("style").contains(refMemberCPUUsage));
}
}
use of org.apache.geode.tools.pulse.tests.Member in project geode by apache.
the class PulseTestUtils method assertMemberSortingByRzHeapUsage.
public static void assertMemberSortingByRzHeapUsage() {
String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" ");
HashMap<String, HashMap<String, Member>> rzMap = new HashMap<String, HashMap<String, Member>>();
for (String member : memberNames) {
Member thisMember = new Member(member);
String sgName = thisMember.getRedundancyZone();
HashMap<String, Member> rzMembers = rzMap.get(sgName);
if (rzMembers == null) {
rzMembers = new HashMap<String, Member>();
rzMap.put(sgName, rzMembers);
}
rzMembers.put(thisMember.getMember(), thisMember);
}
Map<Float, String> memberMap = new TreeMap<Float, String>(Collections.reverseOrder());
String rzName = "RZ1 RZ2";
String memName = "M1";
Member m = rzMap.get(rzName).get(memName);
memberMap.put((float) m.getCurrentHeapSize(), m.getMember());
for (Map.Entry<Float, String> entry : memberMap.entrySet()) {
// here matching painting style to validation that the members are painted according to their
// cpu usage
String refMemberHeapUsage = null;
if (entry.getValue().equalsIgnoreCase("M1")) {
refMemberHeapUsage = PulseTestData.RedundancyZone.heapUsagePaintStyleRZ1RZ2M1;
} else if (entry.getValue().equalsIgnoreCase("M2")) {
refMemberHeapUsage = PulseTestData.RedundancyZone.heapUsagePaintStyleRZ1RZ2M2;
} else {
refMemberHeapUsage = PulseTestData.RedundancyZone.heapUsagePaintStyleRZ3M3;
}
assertTrue(waitForElementWithId("RZ1 RZ2(!)" + entry.getValue()).getAttribute("style").contains(refMemberHeapUsage));
}
}
use of org.apache.geode.tools.pulse.tests.Member in project geode by apache.
the class PulseTestUtils method assertMemberSortingByHeapUsage.
public static void assertMemberSortingByHeapUsage() {
Map<Long, String> memberMap = new TreeMap<Long, String>(Collections.reverseOrder());
String[] membersNames = splitString(JMXProperties.getInstance().getProperty("members"), " ");
for (String member : membersNames) {
Member thisMember = new Member(member);
memberMap.put(thisMember.getCurrentHeapSize(), thisMember.getMember());
}
for (Map.Entry<Long, String> entry : memberMap.entrySet()) {
// here matching painting style to validation that the members are painted according to their
// cpu usage
String refMemberHeapUsage = null;
if (entry.getValue().equalsIgnoreCase("M1")) {
refMemberHeapUsage = PulseTestData.Topology.heapUsagePaintStyleM1;
} else if (entry.getValue().equalsIgnoreCase("M2")) {
refMemberHeapUsage = PulseTestData.Topology.heapUsagePaintStyleM2;
} else {
refMemberHeapUsage = PulseTestData.Topology.heapUsagePaintStyleM3;
}
assertTrue(waitForElementWithId(entry.getValue()).getAttribute("style").contains(refMemberHeapUsage));
}
}
use of org.apache.geode.tools.pulse.tests.Member in project geode by apache.
the class PulseTestUtils method validateRedundancyZonesGridData.
public static void validateRedundancyZonesGridData() {
List<WebElement> rzGridRows = getDriver().findElements(By.xpath("//table[@id='memberListRZ']/tbody/tr"));
int rowsCount = rzGridRows.size();
String[][] gridDataFromUI = new String[rowsCount][7];
for (int j = 2, x = 0; j <= rzGridRows.size(); j++, x++) {
for (int i = 0; i <= 6; i++) {
gridDataFromUI[x][i] = getDriver().findElement(By.xpath("//table[@id='memberListRZ']/tbody/tr[" + j + "]/td[" + (i + 1) + "]")).getText();
}
}
String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" ");
HashMap<String, HashMap<String, Member>> rzMap = new HashMap<String, HashMap<String, Member>>();
for (String member : memberNames) {
Member thisMember = new Member(member);
// String[] rz = thisMember.getRedundancyZone();
String sgName = thisMember.getRedundancyZone();
// for (String sgName : rz) {
HashMap<String, Member> rzMembers = rzMap.get(sgName);
if (rzMembers == null) {
rzMembers = new HashMap<String, Member>();
rzMap.put(sgName, rzMembers);
}
rzMembers.put(thisMember.getMember(), thisMember);
// }
}
for (int i = 0; i < gridDataFromUI.length - 1; i++) {
String sgName = gridDataFromUI[i][0];
String memName = gridDataFromUI[i][1];
Member m = rzMap.get(sgName).get(memName);
assertEquals(sgName, gridDataFromUI[i][0]);
assertEquals(memName, gridDataFromUI[i][1]);
assertEquals(m.getMember(), gridDataFromUI[i][2]);
assertEquals(m.getHost(), gridDataFromUI[i][3]);
String cupUsage = String.valueOf(m.getCpuUsage());
assertEquals(cupUsage, gridDataFromUI[i][5]);
}
}
Aggregations