Best Citrus code snippet using com.consol.citrus.ws.actions.AssertSoapFault.setFaultCode
Source:AssertSoapFaultTest.java  
...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());422                } catch (TransformerException e) {423                    throw new CitrusRuntimeException(e);424                }425                426                throw new SoapFaultClientException(faultMessage);427            }428        });429        430        assertAction.setFaultString("Internal server error");431        assertAction.setFaultCode("{http://citrusframework.org}ws:TEC-1001");432        assertAction.getFaultDetails().add("<ErrorDetail><Code>1001</Code></ErrorDetail>");433        assertAction.getFaultDetailResourcePaths().add("classpath:com/consol/citrus/ws/actions/test-fault-detail.xml");434        435        assertAction.execute(context);436    }437}...Source:AssertSoapFault.java  
...134	/**135	 * Set the fault code.136	 * @param faultCode the faultCode to set137	 */138	public AssertSoapFault setFaultCode(String faultCode) {139		this.faultCode = faultCode;140        return this;141	}142	/**143	 * Set the fault string.144	 * @param faultString the faultString to set145	 */146	public AssertSoapFault setFaultString(String faultString) {147		this.faultString = faultString;148        return this;149	}150    /**151     * @param validator the validator to set152     */...Source:AssertSoapFaultBuilder.java  
...75	 * @param code76	 * @return77	 */78	public AssertSoapFaultBuilder faultCode(String code) {79	    action.setFaultCode(code);80	    return this;81	}82	83	/**84     * Expect fault string in SOAP fault message.85     * @param faultString86     * @return87     */88    public AssertSoapFaultBuilder faultString(String faultString) {89        action.setFaultString(faultString);90        return this;91    }92    93    /**...setFaultCode
Using AI Code Generation
1package com.consol.citrus.ws.actions;2import com.consol.citrus.context.TestContext;3import com.consol.citrus.testng.AbstractTestNGUnitTest;4import com.consol.citrus.ws.message.SoapFault;5import org.springframework.ws.soap.SoapFaultDetail;6import org.testng.Assert;7import org.testng.annotations.Test;8import javax.xml.namespace.QName;9import java.util.HashMap;10import java.util.Map;11public class AssertSoapFaultTest extends AbstractTestNGUnitTest {12    private AssertSoapFault action = new AssertSoapFault();13    public void testAssertFaultCode() {14        SoapFault soapFault = new SoapFault();15        soapFault.setFaultCode(new QName("Client"));16        action.setFaultCode("Client");17        action.setFault(soapFault);18        action.execute(context);19    }20    public void testAssertFaultCodeWithNamespace() {21        SoapFault soapFault = new SoapFault();22        action.setFaultCode("Client");23        action.setFault(soapFault);24        action.execute(context);25    }26    public void testAssertFaultCodeWithFaultCodeExpression() {27        SoapFault soapFault = new SoapFault();28        soapFault.setFaultCode(new QName("Client"));29        action.setFaultCode("${faultCode}");30        action.setFault(soapFault);31        TestContext context = new TestContext();32        context.setVariable("faultCode", "Client");33        action.execute(context);34    }35    public void testAssertFaultCodeWithFaultCodeNamespaceExpression() {36        SoapFault soapFault = new SoapFault();37        action.setFaultCode("Client");38        action.setFaultCodeNamespace("${faultCodeNamespace}");39        action.setFault(soapFault);40        TestContext context = new TestContext();41        action.execute(context);42    }43    public void testAssertFaultCodeWithFaultCodeAndFaultCodeNamespaceExpression() {setFaultCode
Using AI Code Generation
1package com.consol.citrus.samples;2import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;3import org.testng.annotations.Test;4public class 3 extends TestNGCitrusTestDesigner {5public void 3() {6.send()7.post("/sayHello")8.contentType("text/xml")9.soap()10"</soapenv:Envelope>");11.receive()12.response(HttpStatus.BAD_REQUEST)13.soap()14"</soapenv:Envelope>");15}16}17package com.consol.citrus.samples;18import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;19import org.testng.annotations.Test;20public class 4 extends TestNGCitrusTestDesigner {21public void 4() {22.send()23.post("/sayHello")24.contentType("text/xml")25.soap()setFaultCode
Using AI Code Generation
1package com.consol.citrus.ws.actions;2import com.consol.citrus.TestAction;3import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;4import com.consol.citrus.ws.client.WebServiceClient;5import com.consol.citrus.ws.server.WebServiceServer;6import org.springframework.beans.factory.annotation.Autowired;7import org.testng.annotations.Test;8public class AssertSoapFaultJavaIT extends TestNGCitrusTestDesigner {9    private WebServiceClient webServiceClient;10    private WebServiceServer webServiceServer;11    public void configure() {12        variable("faultCode", "Server");13        variable("faultString", "Server error");14        variable("faultDetail", "Server detail");15        variable("faultActor", "Server actor");16        http(httpActionBuilder -> httpActionBuilder17            .client(webServiceClient)18            .send()19            .soap()20            .fault()21            .faultCode("${faultCode}")22            .faultString("${faultString}")23            .faultDetail("${faultDetail}")24            .faultActor("${faultActor}")25        );26        http(httpActionBuilder -> httpActionBuilder27            .server(webServiceServer)28            .receive()29            .soap()30            .fault()31        );32        soap(soapActionBuilder -> soapActionBuilder33            .client(webServiceClient)34            .receive()35            .fault()36        );37        soap(soapActionBuilder -> soapActionBuilder38            .client(webServiceClient)39            .send()40            .fault()41            .faultCode("${faultCode}")42            .faultString("${faultString}")43            .faultDetail("${faultDetail}")44            .faultActor("${faultActor}")45        );46        soap(soapActionBuilder -> soapActionBuilder47            .client(webServiceClient)48            .receive()49            .fault()50            .faultCode("${faultCode}")51            .faultString("${faultString}")52            .faultDetail("${faultDetail}")53            .faultActor("${faultActor}")54        );55        soap(soapActionBuilder -> soapActionBuilder56            .client(webServiceClient)57            .receive()58            .fault()59            .faultCode("${faultCode}")60            .faultString("${faultString}")61        );62        soap(soapActionBuilder -> soapActionBuilder63            .client(webServiceClient)64            .receive()65            .fault()66            .faultCode("${faultCode}")67        );68        soap(soapActionBuilder -> soapsetFaultCode
Using AI Code Generation
1public class 3 extends AbstractTestNGCitrusTest {2    public void 3() {3        variable("faultCode", "soapenv:Client");4        variable("faultString", "Error in request");5        variable("faultDetail", "Request is invalid");6        send("sendRequest");7        receive("receiveResponse");8        assertSoapFault("assertSoapFault")9            .setFaultCode("${faultCode}")10            .setFaultString("${faultString}")11            .setFaultActor("${faultActor}")12            .setFaultDetail("${faultDetail}");13    }14}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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
