private String checkAndGetXslResourcePath(final ParameterList params) { String xslResourceName; if (params == null || params.get("xslFile") == null) { throw new ResponseFormattingFailedException( "The SequenceAwareXslBasedResponseFormatter must have 'xslFile' parameter in stub configuration to define necessary xsl template file."); } else { xslResourceName = params.get("xslFile"); } return (stubResourcePathProvider.getTemplatesPathAsString() + "/" + xslResourceName).replace("\\", "/"); } }
@Override public String generateNewSequenceKey(final WilmaHttpRequest request, final ParameterList parameters) { String headerName = parameters.get("headerName"); return request.getHeader(headerName); }
@Override public boolean checkCondition(final WilmaHttpRequest request, final ParameterList parameters) { String expected = parameters.get(EXPECTED_KEY); String path = parameters.get(JSONPATH_KEY); boolean equals; try { String actualValue = JsonPath.read(request.getBody(), path); equals = evaluate(expected, actualValue); } catch (Exception e) { logger.debug("Request body isn't of JSON format, message:" + request.getWilmaMessageLoggerId(), e); equals = false; } return equals; }
@Override public boolean checkCondition(final WilmaHttpRequest request, final ParameterList parameters) { boolean result = true; String schemaString = parameters.get(SCHEMA); String isSchemaVolatileString = parameters.get(IS_SCHEMA_VOLATILE); boolean isSchemaVolatile = isSchemaVolatileString == null || isSchemaVolatileString.compareToIgnoreCase("true") == 0;
@Test public void testParseNodeWhenTimeoutIsGivenShouldUseTheGivenTimeout() { //GIVEN given(element.getAttribute("name")).willReturn(SEQUENCE_DESCRIPTOR_NAME).willReturn("KEY"); given(element.getAttribute("class")).willReturn(SEQUENCE_HANDLER_CLASS_NAME); given(element.getAttribute("timeout")).willReturn("6000"); given(element.getAttribute("value")).willReturn("VALUE"); given(stubConfigurationAccess.getProperties()).willReturn(value); DummySequenceHandler dummySequenceHandler = new DummySequenceHandler(); given(sequenceHandlerInitializer.getExternalClassObject(SEQUENCE_HANDLER_CLASS_NAME)).willReturn(dummySequenceHandler); //WHEN SequenceDescriptorAttributes result = underTest.parseNode(element, document); //THEN assertEquals(SEQUENCE_DESCRIPTOR_NAME, result.getName()); assertEquals(6000L, result.getDefaultTimeout()); assertEquals(GROUP_NAME, result.getGroupName()); assertEquals(dummySequenceHandler, result.getHandler()); assertEquals("VALUE", result.getParameters().get("KEY")); }
@Test public void testParseNodeWhenTimeoutIsNotGivenShouldUseTheDefaultTimeout() { //GIVEN given(element.getAttribute("name")).willReturn(SEQUENCE_DESCRIPTOR_NAME).willReturn("KEY"); given(element.getAttribute("class")).willReturn(SEQUENCE_HANDLER_CLASS_NAME); given(element.getAttribute("timeout")).willReturn(""); given(element.getAttribute("value")).willReturn("VALUE"); given(stubConfigurationAccess.getProperties()).willReturn(value); given(value.getDefaultSequenceTimeout()).willReturn(9000L); DummySequenceHandler dummySequenceHandler = new DummySequenceHandler(); given(sequenceHandlerInitializer.getExternalClassObject(SEQUENCE_HANDLER_CLASS_NAME)).willReturn(dummySequenceHandler); //WHEN SequenceDescriptorAttributes result = underTest.parseNode(element, document); //THEN assertEquals(SEQUENCE_DESCRIPTOR_NAME, result.getName()); assertEquals(9000L, result.getDefaultTimeout()); assertEquals(GROUP_NAME, result.getGroupName()); assertEquals(dummySequenceHandler, result.getHandler()); assertEquals("VALUE", result.getParameters().get("KEY")); }