package ru.yandex.qatools.allure.junit; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import ru.yandex.qatools.allure.config.AllureModelUtils; import ru.yandex.qatools.allure.junit.testdata.SimpleTestClass; import ru.yandex.qatools.allure.junit.testdata.TestClassWithExceptionInBefore; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Validator; import java.io.File; import java.util.Arrays; import java.util.Collection; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; import static ru.yandex.qatools.allure.commons.AllureFileUtils.listTestSuiteFiles; /** * @author Dmitry Baev charlie@yandex-team.ru * Date: 20.01.14 */ @RunWith(Parameterized.class) public class AllureListenerXmlValidationTest extends BasicListenerTest { public Class<?> testClass; public AllureListenerXmlValidationTest(Class<?> testClass) { this.testClass = testClass; } @Parameterized.Parameters public static Collection<Object[]> data() { return Arrays.asList( new Object[]{SimpleTestClass.class}, new Object[]{TestClassWithExceptionInBefore.class} ); } @Test public void suiteFilesCountTest() throws Exception { assertThat(listTestSuiteFiles(resultsDirectory).size(), is(1)); } @Test public void validateSuiteFilesTest() throws Exception { Validator validator = AllureModelUtils.getAllureSchemaValidator(); for (File each : listTestSuiteFiles(resultsDirectory)) { validator.validate(new StreamSource(each)); } } @Override public Class<?> getTestClass() { return testClass; } }