package org.jbehave.core.io.rest;
import static org.apache.commons.lang3.StringUtils.join;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import java.util.Map;
import org.jbehave.core.io.rest.xwiki.IndexFromXWiki;
import org.junit.Test;
public class IndexWithBreadcrumbsBehaviour {
@Test
public void canIndexFromPaths() {
IndexWithBreadcrumbs indexer = new IndexFromXWiki();
String rootURI = "http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages";
String syntax = "jbehave/3.0";
Map<String, Resource> index = indexer.indexResources(rootURI, "src/test/resources", syntax, "stories/**");
assertThat(index.containsKey("a_first"), equalTo(true));
Resource first = index.get("a_first");
assertThat(first.getURI(), equalTo(rootURI + "/a_first"));
assertThat(first.getParentName(), equalTo("stories"));
assertThat(join(first.getBreadcrumbs(), "/"), equalTo("stories"));
assertThat(first.getContent(), equalTo("A story"));
assertThat(first.getSyntax(), equalTo(syntax));
assertThat(index.containsKey("a_second"), equalTo(true));
Resource second = index.get("a_second");
assertThat(second.getURI(), equalTo(rootURI + "/a_second"));
assertThat(second.getParentName(), equalTo("stories"));
assertThat(join(second.getBreadcrumbs(), "/"), equalTo("stories"));
assertThat(second.getContent(), equalTo("Another story"));
assertThat(second.getSyntax(), equalTo(syntax));
Resource third = index.get("a_third");
assertThat(third.getURI(), equalTo(rootURI + "/a_third"));
assertThat(third.getParentName(), equalTo("domain"));
assertThat(join(third.getBreadcrumbs(), "/"), equalTo("stories/domain"));
assertThat(third.getContent(), equalTo("A third story"));
assertThat(third.getSyntax(), equalTo(syntax));
}
@Test
public void canIndexFromPathsWithDefaultSyntax() {
IndexWithBreadcrumbs indexer = new IndexFromXWiki();
String rootURI = "http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages";
String syntax = null;
Map<String, Resource> index = indexer.indexResources(rootURI, "src/test/resources", syntax, "stories/**");
assertThat(index.containsKey("a_first"), equalTo(true));
Resource first = index.get("a_first");
assertThat(first.hasSyntax(), equalTo(false));
}
}