| 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(); |
| } |
| } |