How to use doExecute method of com.consol.citrus.ws.actions.AssertSoapFaultTest class

Best Citrus code snippet using com.consol.citrus.ws.actions.AssertSoapFaultTest.doExecute

Source:AssertSoapFaultTest.java Github

copy

Full Screen

...47 AssertSoapFault assertAction = new AssertSoapFault();48 assertAction.setValidator(soapFaultValidator);49 assertAction.setAction(new AbstractTestAction() {50 @Override51 public void doExecute(TestContext context) {52 SoapMessage faultMessage;53 54 faultMessage = messageFactory.createWebServiceMessage();55 56 Soap11Fault fault = ((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 57 "Internal server error", 58 Locale.GERMANY);59 60 fault.setFaultActorOrRole("SERVER");61 62 throw new SoapFaultClientException(faultMessage);63 }64 });65 66 assertAction.setFaultString("Internal server error");67 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");68 assertAction.setFaultActor("SERVER");69 70 assertAction.execute(context);71 }72 73 @Test74 public void testAssertSoapFaultWithValidationMatchers() throws Exception {75 AssertSoapFault assertAction = new AssertSoapFault();76 assertAction.setValidator(soapFaultValidator);77 assertAction.setAction(new AbstractTestAction() {78 @Override79 public void doExecute(TestContext context) {80 SoapMessage faultMessage;81 82 faultMessage = messageFactory.createWebServiceMessage();83 84 Soap11Fault fault = ((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 85 "Internal server error", 86 Locale.GERMANY);87 88 fault.setFaultActorOrRole("SERVER");89 90 throw new SoapFaultClientException(faultMessage);91 }92 });93 94 assertAction.setFaultString("@equalsIgnoreCase('internal server error')@");95 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");96 assertAction.setFaultActor("@equalsIgnoreCase('server')@");97 98 assertAction.execute(context);99 }100 101 @Test102 public void testNoPrefix() throws Exception {103 AssertSoapFault assertAction = new AssertSoapFault();104 assertAction.setValidator(soapFaultValidator);105 assertAction.setAction(new AbstractTestAction() {106 @Override107 public void doExecute(TestContext context) {108 SoapMessage faultMessage;109 110 faultMessage = messageFactory.createWebServiceMessage();111 112 ((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}TEC-1001"), 113 "Internal server error", 114 Locale.GERMANY);115 116 throw new SoapFaultClientException(faultMessage);117 }118 });119 120 assertAction.setFaultString("Internal server error");121 assertAction.setFaultCode("{http://citrusframework.org}TEC-1001");122 123 assertAction.execute(context);124 }125 126 @Test127 public void testWrongFaultCode() throws Exception {128 AssertSoapFault assertAction = new AssertSoapFault();129 assertAction.setValidator(soapFaultValidator);130 assertAction.setAction(new AbstractTestAction() {131 @Override132 public void doExecute(TestContext context) {133 SoapMessage faultMessage;134 135 faultMessage = messageFactory.createWebServiceMessage();136 137 ((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-2002"), 138 "Internal server error", 139 Locale.GERMANY);140 141 throw new SoapFaultClientException(faultMessage);142 }143 });144 145 assertAction.setFaultString("Internal server error");146 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");147 148 try {149 assertAction.execute(context);150 } catch(IllegalArgumentException e) {151 Assert.assertEquals(e.getMessage(), "SOAP fault validation failed! Fault code does not match - expected: '{http://citrusframework.org}TEC-1001' but was: '{http://citrusframework.org}TEC-2002'");152 return;153 }154 155 Assert.fail("Missing validation exception");156 }157 158 @Test159 public void testWrongFaultActor() throws Exception {160 AssertSoapFault assertAction = new AssertSoapFault();161 assertAction.setValidator(soapFaultValidator);162 assertAction.setAction(new AbstractTestAction() {163 @Override164 public void doExecute(TestContext context) {165 SoapMessage faultMessage;166 faultMessage = messageFactory.createWebServiceMessage();167 168 Soap11Fault fault = ((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 169 "Internal server error", 170 Locale.GERMANY);171 172 fault.setFaultActorOrRole("CLIENT");173 174 throw new SoapFaultClientException(faultMessage);175 }176 });177 178 assertAction.setFaultString("Internal server error");179 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");180 assertAction.setFaultActor("SERVER");181 182 try {183 assertAction.execute(context);184 } catch(IllegalArgumentException e) {185 Assert.assertEquals(e.getMessage(), "SOAP fault validation failed! Fault actor does not match - expected: 'SERVER' but was: 'CLIENT'");186 return;187 }188 189 Assert.fail("Missing validation exception");190 }191 192 @Test193 public void testWrongFaultString() throws Exception {194 AssertSoapFault assertAction = new AssertSoapFault();195 assertAction.setValidator(soapFaultValidator);196 assertAction.setAction(new AbstractTestAction() {197 @Override198 public void doExecute(TestContext context) {199 SoapMessage faultMessage;200 201 faultMessage = messageFactory.createWebServiceMessage();202 203 ((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 204 "Internal server error", 205 Locale.GERMANY);206 207 throw new SoapFaultClientException(faultMessage);208 }209 });210 211 assertAction.setFaultString("Invalid request");212 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");213 214 try {215 assertAction.execute(context);216 } catch(ValidationException e) {217 Assert.assertEquals(e.getMessage(), "SOAP fault validation failed! Fault string does not match - expected: 'Invalid request' but was: 'Internal server error'");218 return;219 }220 221 Assert.fail("Missing validation exception");222 }223 224 @Test225 public void testAssertSoapFaultDetail() throws Exception {226 AssertSoapFault assertAction = new AssertSoapFault();227 assertAction.setValidator(soapFaultValidator);228 assertAction.setAction(new AbstractTestAction() {229 @Override230 public void doExecute(TestContext context) {231 SoapMessage faultMessage;232 233 faultMessage = messageFactory.createWebServiceMessage();234 235 SoapFault fault =((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 236 "Internal server error", 237 Locale.GERMANY);238 239 try {240 TransformerFactory transformerFactory = TransformerFactory.newInstance();241 Transformer transformer = transformerFactory.newTransformer();242 transformer.transform(new StringSource("<FaultDetail><Reason>Invalid request</Reason></FaultDetail>"), fault.addFaultDetail().getResult());243 } catch (TransformerException e) {244 throw new CitrusRuntimeException(e);245 }246 247 throw new SoapFaultClientException(faultMessage);248 }249 });250 251 assertAction.setFaultString("Internal server error");252 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");253 assertAction.getFaultDetails().add("<FaultDetail><Reason>Invalid request</Reason></FaultDetail>");254 255 assertAction.execute(context);256 }257 258 @Test259 public void testAssertSoapFaultDetailVariableSupport() throws Exception {260 AssertSoapFault assertAction = new AssertSoapFault();261 assertAction.setValidator(soapFaultValidator);262 assertAction.setAction(new AbstractTestAction() {263 @Override264 public void doExecute(TestContext context) {265 SoapMessage faultMessage;266 267 faultMessage = messageFactory.createWebServiceMessage();268 269 SoapFault fault =((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 270 "Internal server error", 271 Locale.GERMANY);272 273 try {274 TransformerFactory transformerFactory = TransformerFactory.newInstance();275 Transformer transformer = transformerFactory.newTransformer();276 transformer.transform(new StringSource("<FaultDetail><Reason>Invalid request</Reason></FaultDetail>"), fault.addFaultDetail().getResult());277 } catch (TransformerException e) {278 throw new CitrusRuntimeException(e);279 }280 281 throw new SoapFaultClientException(faultMessage);282 }283 });284 285 context.setVariable("faultReason", "Invalid request");286 287 assertAction.setFaultString("Internal server error");288 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");289 assertAction.getFaultDetails().add("<FaultDetail><Reason>${faultReason}</Reason></FaultDetail>");290 291 assertAction.execute(context);292 }293 294 @Test295 public void testAssertSoapFaultDetailResource() throws Exception {296 AssertSoapFault assertAction = new AssertSoapFault();297 assertAction.setValidator(soapFaultValidator);298 assertAction.setAction(new AbstractTestAction() {299 @Override300 public void doExecute(TestContext context) {301 SoapMessage faultMessage;302 303 faultMessage = messageFactory.createWebServiceMessage();304 305 SoapFault fault =((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 306 "Internal server error", 307 Locale.GERMANY);308 309 try {310 TransformerFactory transformerFactory = TransformerFactory.newInstance();311 Transformer transformer = transformerFactory.newTransformer();312 transformer.transform(new StringSource("<FaultDetail><Reason>Invalid request</Reason></FaultDetail>"), fault.addFaultDetail().getResult());313 } catch (TransformerException e) {314 throw new CitrusRuntimeException(e);315 }316 317 throw new SoapFaultClientException(faultMessage);318 }319 });320 321 assertAction.setFaultString("Internal server error");322 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");323 assertAction.getFaultDetailResourcePaths().add("classpath:com/consol/citrus/ws/actions/test-fault-detail.xml");324 325 assertAction.execute(context);326 }327 328 @Test329 public void testAssertSoapFaultDetailResourceVariableSupport() throws Exception {330 AssertSoapFault assertAction = new AssertSoapFault();331 assertAction.setValidator(soapFaultValidator);332 assertAction.setAction(new AbstractTestAction() {333 @Override334 public void doExecute(TestContext context) {335 SoapMessage faultMessage;336 337 faultMessage = messageFactory.createWebServiceMessage();338 339 SoapFault fault =((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 340 "Internal server error", 341 Locale.GERMANY);342 343 try {344 TransformerFactory transformerFactory = TransformerFactory.newInstance();345 Transformer transformer = transformerFactory.newTransformer();346 transformer.transform(new StringSource("<FaultDetail><Reason>Invalid request</Reason></FaultDetail>"), fault.addFaultDetail().getResult());347 } catch (TransformerException e) {348 throw new CitrusRuntimeException(e);349 }350 351 throw new SoapFaultClientException(faultMessage);352 }353 });354 355 context.setVariable("faultReason", "Invalid request");356 357 assertAction.setFaultString("Internal server error");358 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");359 assertAction.getFaultDetailResourcePaths().add("classpath:com/consol/citrus/ws/actions/test-fault-detail-with-variables.xml");360 361 assertAction.execute(context);362 }363 364 @Test365 public void testAssertMultipleSoapFaultDetails() throws Exception {366 AssertSoapFault assertAction = new AssertSoapFault();367 assertAction.setValidator(soapFaultValidator);368 assertAction.setAction(new AbstractTestAction() {369 @Override370 public void doExecute(TestContext context) {371 SoapMessage faultMessage;372 373 faultMessage = messageFactory.createWebServiceMessage();374 375 SoapFault fault =((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 376 "Internal server error", 377 Locale.GERMANY);378 379 SoapFaultDetail faultDetail = fault.addFaultDetail();380 try {381 TransformerFactory transformerFactory = TransformerFactory.newInstance();382 Transformer transformer = transformerFactory.newTransformer();383 transformer.transform(new StringSource("<FaultDetail><Reason>Invalid request</Reason></FaultDetail>"), faultDetail.getResult());384 transformer.transform(new StringSource("<ErrorDetail><Code>1001</Code></ErrorDetail>"), faultDetail.getResult());385 } catch (TransformerException e) {386 throw new CitrusRuntimeException(e);387 }388 389 throw new SoapFaultClientException(faultMessage);390 }391 });392 393 assertAction.setFaultString("Internal server error");394 assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");395 assertAction.getFaultDetails().add("<FaultDetail><Reason>Invalid request</Reason></FaultDetail>");396 assertAction.getFaultDetails().add("<ErrorDetail><Code>1001</Code></ErrorDetail>");397 398 assertAction.execute(context);399 }400 401 @Test402 public void testAssertMultipleSoapFaultDetailsWithResource() throws Exception {403 AssertSoapFault assertAction = new AssertSoapFault();404 assertAction.setValidator(soapFaultValidator);405 assertAction.setAction(new AbstractTestAction() {406 @Override407 public void doExecute(TestContext context) {408 SoapMessage faultMessage;409 410 faultMessage = messageFactory.createWebServiceMessage();411 412 SoapFault fault =((Soap11Body)faultMessage.getSoapBody()).addFault(QNameUtils.parseQNameString("{http://citrusframework.org}ws:TEC-1001"), 413 "Internal server error", 414 Locale.GERMANY);415 416 SoapFaultDetail faultDetail = fault.addFaultDetail();417 try {418 TransformerFactory transformerFactory = TransformerFactory.newInstance();419 Transformer transformer = transformerFactory.newTransformer();420 transformer.transform(new StringSource("<ErrorDetail><Code>1001</Code></ErrorDetail>"), faultDetail.getResult());421 transformer.transform(new StringSource("<FaultDetail><Reason>Invalid request</Reason></FaultDetail>"), faultDetail.getResult());...

Full Screen

Full Screen

doExecute

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.ws.actions;2import com.consol.citrus.actions.AbstractTestAction;3import com.consol.citrus.context.TestContext;4import com.consol.citrus.exceptions.CitrusRuntimeException;5import com.consol.citrus.message.Message;6import com.consol.citrus.validation.context.ValidationContext;7import com.consol.citrus.validation.context.ValidationContextUtils;8import com.consol.citrus.ws.message.SoapFault;9import com.consol.citrus.ws.validation.SoapFaultValidator;10import org.springframework.util.CollectionUtils;11import java.util.ArrayList;12import java.util.List;13public class AssertSoapFaultTest extends AbstractTestAction {14 private String messageName;15 private SoapFaultValidator faultValidator = new SoapFaultValidator();16 private ValidationContext validationContext;17 public void doExecute(TestContext context) {18 SoapFault fault = context.getVariable(messageName, SoapFault.class);19 if (fault == null) {20 throw new CitrusRuntimeException("Unable to find SOAP fault message in test context for message name: " + messageName);21 }22 if (CollectionUtils.isEmpty(fault.getFaultDetails())) {23 faultValidator.validateFaultDetail("", context);24 } else {25 List<String> faultDetailList = new ArrayList<String>();26 for (Object faultDetail : fault.getFaultDetails()) {27 faultDetailList.add(faultDetail.toString());28 }29 faultValidator.validateFaultDetail(faultDetailList, context);30 }31 faultValidator.validateFaultCode(fault.getFaultCode(), context);32 faultValidator.validateFaultString(fault.getFaultString(), context);33 faultValidator.validateFaultActor(fault.getFaultActor(), context);34 }35 public void doExecute(Message message, TestContext context) {36 if (message == null) {37 throw new CitrusRuntimeException("Unable to find SOAP fault message in test context for message name: " + messageName);38 }39 if (!(message.getPayload() instanceof SoapFault)) {

Full Screen

Full Screen

doExecute

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.ws.actions;2import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;3import com.consol.citrus.exceptions.TestCaseFailedException;4import org.springframework.context.annotation.Bean;5import org.springframework.context.annotation.Configuration;6import org.springframework.context.annotation.Import;7import org.testng.annotations.Test;8import static com.consol.citrus.actions.ReceiveTimeoutAction.Builder.receiveTimeout;9public class AssertSoapFaultTestIT extends TestNGCitrusTestDesigner {10 @Import({AssertSoapFaultTest.class})11 public static class Config {12 public AssertSoapFaultTest assertSoapFaultTest() {13 return new AssertSoapFaultTest();14 }15 }16 @Test(expectedExceptions = TestCaseFailedException.class)17 public void testSoapFault() {18 variable("faultCode", "soap:Server");19 variable("faultString", "Internal Server Error");20 variable("faultDetail", "Error occurred while processing request");21 send("requestEndpoint")22 "</ns0:TestRequest>");23 receiveTimeout(500)24 .messageType("SOAP_FAULT");25 assertSoapFault("faultEndpoint")26 .faultCode("${faultCode}")27 .faultString("${faultString}")28 .faultActor("${faultActor}")29 .faultDetail("${faultDetail}");30 }31}32package com.consol.citrus.ws.actions;33import com.consol.citrus.Citrus;34import com.consol.citrus.annotations.CitrusTest;35import com.consol.citrus.dsl.design.TestDesigner;36import com.consol.citrus.dsl.junit.JUnit4CitrusTestRunner;37import com.consol.citrus.dsl.runner.TestRunner;38import com.consol.citrus.testng.AbstractTestNGUnitTest;39import com.consol.citrus.ws.message.SoapFault;40import com.consol.citrus.ws.message.SoapFaultDetail;41import org.mockito.Mockito;42import org.springframework.context.ApplicationContext;43import org.springframework.core.io.Resource;44import org.springframework.ws.soap.SoapBody;45import org.springframework.ws.soap.SoapMessage;46import org.springframework.ws.soap.SoapVersion;47import org.springframework.ws.soap

Full Screen

Full Screen

doExecute

Using AI Code Generation

copy

Full Screen

1public void testAssertSoapFault() {2 run(new TestCase()3 .actions(new AssertSoapFaultTest()4 .faultString("HelloService failed!")5 );6}7public void testAssertSoapFault() {8 run(new TestCase()9 .actions(new AssertSoapFaultTest()10 .faultString("HelloService failed!")11 );12}

Full Screen

Full Screen

doExecute

Using AI Code Generation

copy

Full Screen

1public void testVerifySoapFault() {2 run(new TestCase() {3 public void execute() {4 send().payload("<testRequest><message>Hello World!</message></testRequest>")5 .header("operation", "testOperation")6 .header("fault", "true");7 receive().payload("<testResponse><message>Hello World!</message></testResponse>");8 doExecute(new AssertSoapFaultTest()9 .faultString("Hello World!"));10 }11 });12}13faultDetailResourceExtractXPath(String): This method is used to specify the fault

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful