package ru.yandex.qatools.allure.data;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import ru.yandex.qatools.allure.data.io.ReportWriter;
import ru.yandex.qatools.allure.data.plugins.PluginManager;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static ru.yandex.qatools.matchers.nio.PathMatchers.contains;
import static ru.yandex.qatools.matchers.nio.PathMatchers.hasFilesCount;
/**
* @author Dmitry Baev charlie@yandex-team.ru
* Date: 19.02.15
*/
public class AllureReportGeneratorTest {
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@Test
public void shouldGenerateWithoutFailures() throws Exception {
AllureReportGenerator generator = new AllureReportGenerator(new File("target/allure-results"));
File outputDirectory = folder.newFolder();
generator.generate(outputDirectory);
Path dataDirectory = outputDirectory.toPath().resolve(ReportWriter.DATA_DIRECTORY_NAME);
assertTrue("Data directory should be created", Files.exists(dataDirectory));
assertThat(dataDirectory, contains("xunit.json"));
assertThat(dataDirectory, contains("timeline.json"));
assertThat(dataDirectory, contains("behaviors.json"));
assertThat(dataDirectory, contains("defects.json"));
assertThat(dataDirectory, contains("graph.json"));
assertThat(dataDirectory, contains(PluginManager.WIDGETS_JSON));
assertThat(dataDirectory, contains(ReportWriter.REPORT_JSON));
assertThat(dataDirectory, hasFilesCount(15, "*-attachment*"));
assertThat(dataDirectory, hasFilesCount(321, "*-testcase.json"));
}
@Test(expected = ReportGenerationException.class)
public void shouldFailIfNoResults() throws Exception {
AllureReportGenerator generator = new AllureReportGenerator(folder.newFolder());
generator.generate(folder.newFolder());
}
@Test(expected = ReportGenerationException.class)
public void shouldFailIfNoResultsDirectory() throws Exception {
AllureReportGenerator generator = new AllureReportGenerator(
new File(folder.newFolder(), "unknown-directory"));
generator.generate(folder.newFolder());
}
}