Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import java.util.Objects;
import java.util.Properties;
import java.util.Set;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

Expand Down Expand Up @@ -86,6 +87,7 @@
import org.xwiki.model.reference.ObjectPropertyReference;
import org.xwiki.model.reference.ObjectReference;
import org.xwiki.model.reference.SpaceReference;
import org.xwiki.rendering.syntax.Syntax;
import org.xwiki.rest.model.jaxb.Page;
import org.xwiki.rest.model.jaxb.Property;
import org.xwiki.rest.model.jaxb.Xwiki;
Expand Down Expand Up @@ -1124,15 +1126,23 @@ public String getURL(EntityReference reference, String action, String queryStrin
*/
public String executeAndGetBodyAsString(EntityReference reference, Map<String, ?> queryParameters) throws Exception
{
String url = getURL(reference, "get", toQueryString(queryParameters));

GetMethod getMethod = executeGet(url);
gotoPage(getURL(reference, "get", toQueryString(queryParameters)));

return getDriver().getPageSource();
}

String result = getMethod.getResponseBodyAsString();
/**
* @since 15.1RC1
* @since 14.10.5
*/
public String executeWiki(String wikiContent, Syntax wikiSyntax) throws Exception
{
LocalDocumentReference reference =
new LocalDocumentReference(List.of("Test", "Execute"), UUID.randomUUID().toString());

getMethod.releaseConnection();
rest().savePage(reference, wikiContent, wikiSyntax.toIdString(), null, null);

return result;
return executeAndGetBodyAsString(reference, null);
}

/**
Expand Down Expand Up @@ -1595,9 +1605,11 @@ public String toQueryString(Map<String, ?> queryParameters)
{
StringBuilder builder = new StringBuilder();

for (Map.Entry<String, ?> entry : queryParameters.entrySet()) {
addQueryStringEntry(builder, entry.getKey(), entry.getValue());
builder.append('&');
if (queryParameters != null) {
for (Map.Entry<String, ?> entry : queryParameters.entrySet()) {
addQueryStringEntry(builder, entry.getKey(), entry.getValue());
builder.append('&');
}
}

return builder.toString();
Expand Down