package environment;
import net.serenitybdd.integration.jenkins.JenkinsInstance;
import net.serenitybdd.integration.jenkins.TestEnvironment;
import net.serenitybdd.integration.jenkins.environment.CWD;
import net.serenitybdd.integration.jenkins.environment.PluginDescription;
import net.serenitybdd.integration.jenkins.environment.rules.DescribeBrowserStackSession;
import net.serenitybdd.integration.jenkins.environment.rules.FindFreePort;
import net.serenitybdd.integration.jenkins.environment.rules.SandboxJenkinsHome;
import static java.lang.System.getProperty;
public class JenkinsSandbox {
public static TestEnvironment configure() {
CWD cwd = CWD.or(getProperty("project.root"));
PluginDescription pluginUnderTest = PluginDescription.of(cwd.resolve("build-monitor-plugin/target/build-monitor-plugin.hpi"));
return new TestEnvironment(new JenkinsInstance(pluginUnderTest))
.beforeStart(
FindFreePort.useFreePortFromDynamicRange(),
SandboxJenkinsHome.useATemporaryDirectoryUnder(cwd.resolve("build-monitor-acceptance/target/jenkins")),
DescribeBrowserStackSession.forCurrentTest()
);
}
}