blob: 83c589d7e6564c93bf41d9f48aac4e45c76c16cb [file] [log] [blame]
package test.sanitycheck;
import org.testng.Assert;
import org.testng.TestListenerAdapter;
import org.testng.TestNG;
import org.testng.annotations.Test;
import org.testng.xml.Parser;
import org.testng.xml.XmlClass;
import org.testng.xml.XmlSuite;
import org.testng.xml.XmlTest;
import org.xml.sax.SAXException;
import test.SimpleBaseTest;
import java.io.IOException;
import java.util.Arrays;
import javax.xml.parsers.ParserConfigurationException;
public class CheckSuiteNamesTest extends SimpleBaseTest {
/**
* Child suites have different names
*/
@Test
public void checkChildSuites() {
TestListenerAdapter tla = new TestListenerAdapter();
TestNG tng = create();
String testngXmlPath = getPathToResource("sanitycheck/test-s-b.xml");
tng.setTestSuites(Arrays.asList(testngXmlPath));
tng.addListener(tla);
tng.run();
Assert.assertEquals(tla.getPassedTests().size(), 4);
}
/**
* Child suites have same names
*/
@Test
public void checkChildSuitesFails() {
TestListenerAdapter tla = new TestListenerAdapter();
TestNG tng = create();
String testngXmlPath = getPathToResource("sanitycheck/test-s-a.xml");
tng.setTestSuites(Arrays.asList(testngXmlPath));
tng.addListener(tla);
tng.run();
Assert.assertEquals(tla.getTestContexts().get(0).getSuite().getName(), "SanityCheck suites");
Assert.assertEquals(tla.getTestContexts().get(1).getSuite().getName(), "SanityCheck suites");
Assert.assertEquals(tla.getTestContexts().get(2).getSuite().getName(), "SanityCheck suites (0)");
Assert.assertEquals(tla.getTestContexts().get(3).getSuite().getName(), "SanityCheck suites (0)");
}
/**
* Checks that suites created programmatically also works as expected
*/
@Test
public void checkProgrammaticSuitesFails() {
XmlSuite xmlSuite1 = new XmlSuite();
xmlSuite1.setName("SanityCheckSuite");
{
XmlTest result = new XmlTest(xmlSuite1);
result.getXmlClasses().add(new XmlClass(SampleTest1.class.getCanonicalName()));
}
XmlSuite xmlSuite2 = new XmlSuite();
xmlSuite2.setName("SanityCheckSuite");
{
XmlTest result = new XmlTest(xmlSuite2);
result.getXmlClasses().add(new XmlClass(SampleTest2.class.getCanonicalName()));
}
TestNG tng = create();
tng.setXmlSuites(Arrays.asList(xmlSuite1, xmlSuite2));
tng.run();
Assert.assertEquals(xmlSuite1.getName(), "SanityCheckSuite");
Assert.assertEquals(xmlSuite2.getName(), "SanityCheckSuite (0)");
}
@Test
public void checkXmlSuiteAddition() throws ParserConfigurationException, SAXException, IOException {
TestNG tng = create();
String testngXmlPath = getPathToResource("sanitycheck/test-s-b.xml");
Parser parser = new Parser(testngXmlPath);
tng.setXmlSuites(parser.parseToList());
tng.initializeSuitesAndJarFile();
}
}