
pl.pragmatists.concordion.rest.ExpectedStatusCommand Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of concordion-rest-extension Show documentation
Show all versions of concordion-rest-extension Show documentation
Set of non-official extensions to Concordion (http://concordion.org/). It provides support for writing executable specifications for REST services.
The newest version!
package pl.pragmatists.concordion.rest;
import org.apache.commons.lang3.StringUtils;
import org.concordion.api.AbstractCommand;
import org.concordion.api.CommandCall;
import org.concordion.api.Element;
import org.concordion.api.Evaluator;
import org.concordion.api.Result;
import org.concordion.api.ResultRecorder;
import org.concordion.api.listener.AssertEqualsListener;
import org.concordion.api.listener.AssertFailureEvent;
import org.concordion.api.listener.AssertSuccessEvent;
import org.concordion.internal.listener.AssertResultRenderer;
import org.concordion.internal.util.Announcer;
public class ExpectedStatusCommand extends AbstractCommand {
private Announcer listeners = Announcer.to(AssertEqualsListener.class);
public ExpectedStatusCommand() {
listeners.addListener(new AssertResultRenderer());
}
@Override
public void verify(CommandCall commandCall, Evaluator evaluator, ResultRecorder resultRecorder) {
String expectedStatus = StringUtils.trim(commandCall.getElement().getText());
RequestExecutor response = RequestExecutor.fromEvaluator(evaluator);
String actualStatus = StringUtils.trim(response.getStatusLine());
System.err.println("STATUS(Expected): " + expectedStatus);
System.err.println("STATUS(Actual): " + actualStatus);
if(expectedStatus.equals(actualStatus)){
resultRecorder.record(Result.SUCCESS);
announceSuccess(commandCall.getElement());
} else {
resultRecorder.record(Result.FAILURE);
announceFailure(commandCall.getElement(), expectedStatus, actualStatus);
}
}
private void announceSuccess(Element element) {
listeners.announce().successReported(new AssertSuccessEvent(element));
}
private void announceFailure(Element element, String expected, Object actual) {
listeners.announce().failureReported(new AssertFailureEvent(element, expected, actual));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy