All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.serenitybdd.cli.reporters.CLIAggregateReportGenerator Maven / Gradle / Ivy

There is a newer version: 4.2.1
Show newest version
package net.serenitybdd.cli.reporters;

import net.thucydides.core.reports.html.HtmlAggregateStoryReporter;
import net.thucydides.model.requirements.Requirements;

import java.io.IOException;
import java.nio.file.Path;

import static org.apache.commons.lang3.StringUtils.isBlank;

public class CLIAggregateReportGenerator implements CLIReportGenerator {

    private final Path sourceDirectory;
    private final Path destinationDirectory;
    private final String project;
    private final String issueTrackerUrl;
    private final String jiraUrl;
    private final String jiraProject;
    private final String jiraUsername;
    private final String jiraPassword;
    private final String requirementsDirectory;
    private final String tags;

    public CLIAggregateReportGenerator(Path sourceDirectory,
                                        Path destinationDirectory,
                                        String project,
                                        String issueTrackerUrl,
                                        String jiraUrl,
                                        String jiraProject,
                                        String jiraUsername,
                                        String jiraPassword,
                                        String requirementsDirectory,
                                        String tags) {
        this.sourceDirectory = sourceDirectory;
        this.destinationDirectory = destinationDirectory;
        this.issueTrackerUrl = issueTrackerUrl;
        this.jiraUrl = jiraUrl;
        this.jiraProject = jiraProject;
        this.jiraUsername = jiraUsername;
        this.jiraPassword = jiraPassword;
        this.project = project;
        this.requirementsDirectory = requirementsDirectory;
        this.tags = tags;
    }

    @Override
    public void generateReportsFrom(Path sourceDirectory) throws IOException {

        Requirements requirements = RequirementsStrategy.forJSONOutputsIn(sourceDirectory)
                                                        .andFeatureFilesIn(requirementsDirectory);
        HtmlAggregateStoryReporter reporter = new HtmlAggregateStoryReporter(project, requirements);
        reporter.setSourceDirectory(sourceDirectory.toFile());
        reporter.setOutputDirectory(destinationDirectory.toFile());
        reporter.setIssueTrackerUrl(issueTrackerUrl);
        reporter.setJiraUrl(jiraUrl);
        reporter.setJiraProject(jiraProject);
        reporter.setJiraUsername(jiraUsername);
        reporter.setJiraPassword(jiraPassword);

        reporter.setGenerateTestOutcomeReports();

        if (!isBlank(tags)) {
            reporter.setTags(tags);
        }

        reporter.generateReportsForTestResultsFrom(sourceDirectory.toFile());
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy