use of org.jbehave.core.embedder.Embedder in project jbehave-core by jbehave.
the class RunStoriesAsPaths method execute.
public void execute() throws MojoExecutionException, MojoFailureException {
Embedder embedder = newEmbedder();
getLog().info("Running stories as paths using embedder " + embedder);
try {
embedder.runStoriesAsPaths(storyPaths());
} catch (RuntimeException e) {
throw new MojoFailureException("Failed to run stories as paths", e);
}
}
use of org.jbehave.core.embedder.Embedder in project jbehave-core by jbehave.
the class RunStoriesWithAnnotatedEmbedderRunner method execute.
public void execute() throws MojoExecutionException, MojoFailureException {
Embedder embedder = newEmbedder();
getLog().info("Running stories with annotated embedder runner");
try {
embedder.runStoriesWithAnnotatedEmbedderRunner(classNames());
} catch (RuntimeException e) {
throw new MojoFailureException("Failed to run stories with annotated embedder runner", e);
}
}
use of org.jbehave.core.embedder.Embedder in project jbehave-core by jbehave.
the class EmbedderMojoBehaviour method shouldCreateNewEmbedderWithMavenMonitor.
@Test
public void shouldCreateNewEmbedderWithMavenMonitor() {
// Given
Log log = mock(Log.class);
AbstractEmbedderMojo mojo = new AbstractEmbedderMojo() {
public void execute() throws MojoExecutionException, MojoFailureException {
}
};
mojo.setLog(log);
// When
Embedder embedder = mojo.newEmbedder();
// Then
EmbedderMonitor embedderMonitor = embedder.embedderMonitor();
assertThat(embedderMonitor.toString(), containsString("MavenEmbedderMonitor"));
// and verify monitor calls are propagated to Mojo Log
BatchFailures failures = new BatchFailures();
embedderMonitor.batchFailed(failures);
verify(log).warn("Failed to run batch " + failures);
String name = "name";
Throwable cause = new RuntimeException();
embedderMonitor.embeddableFailed(name, cause);
verify(log).warn("Failed to run embeddable " + name, cause);
List<String> classNames = asList("name1", "name2");
embedderMonitor.embeddablesSkipped(classNames);
verify(log).info("Skipped embeddables " + classNames);
embedderMonitor.runningEmbeddable(name);
verify(log).info("Running embeddable " + name);
List<String> storyPaths = asList("/path1", "/path2");
embedderMonitor.storiesSkipped(storyPaths);
verify(log).info("Skipped stories " + storyPaths);
String path = "/path";
embedderMonitor.storyFailed(path, cause);
verify(log).warn("Failed to run story " + path, cause);
embedderMonitor.runningStory(path);
verify(log).info("Running story " + path);
Object annotatedInstance = new Object();
Class<?> type = Object.class;
embedderMonitor.annotatedInstanceNotOfType(annotatedInstance, type);
verify(log).warn("Annotated instance " + annotatedInstance + " not of type " + type);
File outputDirectory = new File("/dir");
List<String> formats = asList(Format.CONSOLE.name(), Format.HTML.name());
Properties viewProperties = new Properties();
embedderMonitor.generatingReportsView(outputDirectory, formats, viewProperties);
verify(log).info("Generating reports view to '" + outputDirectory + "' using formats '" + formats + "'" + " and view properties '" + viewProperties + "'");
embedderMonitor.reportsViewGenerationFailed(outputDirectory, formats, viewProperties, cause);
verify(log).warn("Failed to generate reports view to '" + outputDirectory + "' using formats '" + formats + "'" + " and view properties '" + viewProperties + "'", cause);
int stories = 2;
int storiesNotAllowed = 1;
int storiesPending = 1;
int scenarios = 4;
int scenariosFailed = 1;
int scenariosNotAllowed = 0;
int scenariosPending = 1;
int stepsFailed = 1;
embedderMonitor.reportsViewGenerated(new ReportsCount(stories, storiesNotAllowed, storiesPending, scenarios, scenariosFailed, scenariosNotAllowed, scenariosPending, stepsFailed));
verify(log).info("Reports view generated with " + stories + " stories (of which " + storiesPending + " pending) containing " + scenarios + " scenarios (of which " + scenariosPending + " pending)");
verify(log).info("Meta filters excluded " + storiesNotAllowed + " stories and " + scenariosNotAllowed + " scenarios");
embedderMonitor.reportsViewNotGenerated();
verify(log).info("Reports view not generated");
}
use of org.jbehave.core.embedder.Embedder in project jbehave-core by jbehave.
the class EmbedderMojoBehaviour method shouldCreateNewEmbedderWithGivenControls.
@Test
public void shouldCreateNewEmbedderWithGivenControls() {
// Given
AbstractEmbedderMojo mojo = new AbstractEmbedderMojo() {
public void execute() throws MojoExecutionException, MojoFailureException {
}
};
// When
mojo.batch = true;
mojo.generateViewAfterStories = false;
mojo.ignoreFailureInStories = true;
mojo.ignoreFailureInView = true;
mojo.skip = true;
mojo.storyTimeouts = "**/longs/BddTest2Long.feature:7";
mojo.failOnStoryTimeout = true;
mojo.threads = 2;
Embedder embedder = mojo.newEmbedder();
// Then
EmbedderControls embedderControls = embedder.embedderControls();
assertThat(embedderControls.batch(), is(true));
assertThat(embedderControls.generateViewAfterStories(), is(false));
assertThat(embedderControls.ignoreFailureInStories(), is(true));
assertThat(embedderControls.ignoreFailureInView(), is(true));
assertThat(embedderControls.skip(), is(true));
assertThat(embedderControls.storyTimeouts(), is("**/longs/BddTest2Long.feature:7"));
assertThat(embedderControls.threads(), is(2));
}
use of org.jbehave.core.embedder.Embedder in project jbehave-core by jbehave.
the class EmbedderMojoBehaviour method shouldNotUnpackViewResourcesThatDoNotMatchTheFilters.
@Test
public void shouldNotUnpackViewResourcesThatDoNotMatchTheFilters() throws MojoExecutionException, MojoFailureException, NoSuchArchiverException, ArchiverException {
// Given
UnpackViewResources mojo = new UnpackViewResources() {
@Override
protected Embedder newEmbedder() {
return new Embedder();
}
};
ArchiverManager archiveManager = mock(ArchiverManager.class);
MavenProject project = mock(MavenProject.class);
File resourcesFile = new File("some");
Artifact someResources = mock(Artifact.class);
when(someResources.getArtifactId()).thenReturn("some-resources");
when(someResources.getType()).thenReturn("jar");
when(someResources.getFile()).thenReturn(resourcesFile);
Set<Artifact> allArtifacts = new HashSet<>();
allArtifacts.add(someResources);
String buildDirectory = "target";
Build build = new Build();
build.setDirectory(buildDirectory);
// When
mojo.project = project;
mojo.archiverManager = archiveManager;
mojo.resourceIncludes = "ftl/*";
mojo.resourcesExcludes = "com/*";
when(project.getArtifacts()).thenReturn(allArtifacts);
when(project.getBuild()).thenReturn(build);
mojo.execute();
// Then
verify(archiveManager, Mockito.never()).getUnArchiver(resourcesFile);
}
Aggregations