package com.aventstack.extentreports.view.extenthtml;
import java.lang.reflect.Method;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import com.aventstack.extentreports.Base;
import com.aventstack.extentreports.utils.Reader;
public class SystemAttributeTests extends Base {
@BeforeClass
public void beforeClass() {
extent.createTest("Test").pass("Pass");
}
@Test (expectedExceptions = AssertionError.class)
public void keyNullSystemAttribute(Method method) {
String key = null;
String value = "value";
extent.setSystemInfo(key, value);
performAssertForKVPairs(key, value);
}
@Test (expectedExceptions = AssertionError.class)
public void valueNullSystemAttribute(Method method) {
String key = "key";
String value = null;
extent.setSystemInfo(key, value);
performAssertForKVPairs(key, value);
}
@Test (expectedExceptions = AssertionError.class)
public void keyValueNullSystemAttribute(Method method) {
String key = null;
String value = null;
extent.setSystemInfo(key, value);
performAssertForKVPairs(key, value);
}
@Test
public void simpleSystemAttribute(Method method) {
String key = "attributeName";
String value = "attributeValue";
extent.setSystemInfo(key, value);
performAssertForKVPairs(key, value);
}
private void performAssertForKVPairs(String key, String value) {
Boolean keyFound = false;
Boolean valueFound = false;
extent.flush();
String html = Reader.readAllText(htmlFilePath);
Document doc = Jsoup.parse(html);
Elements tdColl = doc.select(".environment td");
for (Element td : tdColl) {
if (td.text().equals(key))
keyFound = true;
if (td.text().equals(value))
valueFound = true;
}
Assert.assertTrue(keyFound);
Assert.assertTrue(valueFound);
}
}