How to use AssertSoapFault class of com.consol.citrus.ws.actions package

Best Citrus code snippet using com.consol.citrus.ws.actions.AssertSoapFault

Source:AssertSoapFault.java Github

copy

Full Screen

...39 * 40 * @author Christoph Deppisch 41 * @since 200942 */43public class AssertSoapFault extends AbstractActionContainer {44 /** TestAction to be executed */45 private TestAction action;46 /** Localized fault string */47 private String faultString = null;48 49 /** OName representing fault code */50 private String faultCode = null;51 52 /** Fault actor */53 private String faultActor = null;54 55 /** List of fault details, either inline data or file resource path */56 private List<String> faultDetails = new ArrayList<String>();57 /** List of fault detail resource paths */58 private List<String> faultDetailResourcePaths = new ArrayList<String>();59 60 /** Soap fault validator implementation */61 private SoapFaultValidator validator = new SimpleSoapFaultValidator();62 63 /** Validation context */64 private ValidationContext validationContext;65 66 /** Logger */67 private static Logger log = LoggerFactory.getLogger(AssertSoapFault.class);68 /**69 * Default constructor.70 */71 public AssertSoapFault() {72 setName("soap-fault");73 }74 @Override75 public void doExecute(TestContext context) {76 log.debug("Asserting SOAP fault ...");77 try {78 action.execute(context);79 } catch (SoapFaultClientException soapFaultException) {80 log.debug("Validating SOAP fault ...");81 82 SoapFault controlFault = constructControlFault(context);83 84 validator.validateSoapFault(SoapFault.from(soapFaultException.getSoapFault()), controlFault, context, validationContext);85 86 log.debug("Asserted SOAP fault as expected: " + soapFaultException.getFaultCode() + ": " + soapFaultException.getFaultStringOrReason());87 log.info("Assert SOAP fault validation successful");88 89 return;90 } catch (RuntimeException e) {91 throw new ValidationException("SOAP fault validation failed for asserted exception type - expected: '" + 92 SoapFaultClientException.class + "' but was: '" + e.getClass().getName() + "'", e);93 } catch (Exception e) {94 throw new ValidationException("SOAP fault validation failed for asserted exception type - expected: '" + 95 SoapFaultClientException.class + "' but was: '" + e.getClass().getName() + "'", e);96 }97 98 throw new ValidationException("SOAP fault validation failed! Missing asserted SOAP fault exception");99 }100 /**101 * Constructs the control soap fault holding all expected fault information102 * like faultCode, faultString and faultDetail.103 * 104 * @return the constructed SoapFault instance.105 */106 private SoapFault constructControlFault(TestContext context) {107 SoapFault controlFault= new SoapFault();108 if (StringUtils.hasText(faultActor)) {109 controlFault.faultActor(context.replaceDynamicContentInString(faultActor));110 }111 controlFault.faultCode(context.replaceDynamicContentInString(faultCode));112 controlFault.faultString(context.replaceDynamicContentInString(faultString));113 for (String faultDetail : faultDetails) {114 controlFault.addFaultDetail(context.replaceDynamicContentInString(faultDetail));115 }116 try {117 for (String faultDetailPath : faultDetailResourcePaths) {118 String resourcePath = context.replaceDynamicContentInString(faultDetailPath);119 controlFault.addFaultDetail(context.replaceDynamicContentInString(FileUtils.readToString(FileUtils.getFileResource(resourcePath, context), FileUtils.getCharset(resourcePath))));120 }121 } catch (IOException e) {122 throw new CitrusRuntimeException("Failed to create SOAP fault detail from file resource", e);123 }124 return controlFault;125 }126 /**127 * Set the nested test action.128 * @param action the action to set129 */130 public AssertSoapFault setAction(TestAction action) {131 addTestAction(action);132 return this;133 }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 */153 public AssertSoapFault setValidator(SoapFaultValidator validator) {154 this.validator = validator;155 return this;156 }157 @Override158 public AssertSoapFault addTestAction(TestAction action) {159 this.action = action;160 super.addTestAction(action);161 return this;162 }163 @Override164 public TestAction getTestAction(int index) {165 if (index == 0) {166 return action;167 } else {168 throw new IndexOutOfBoundsException("Illegal index in action list:" + index);169 }170 }171 @Override172 public AssertSoapFault setActions(List<TestAction> actions) {173 if (actions.size() > 1) {174 throw new CitrusRuntimeException("Invalid number of nested test actions - only one single nested action is allowed");175 }176 action = actions.get(0);177 super.setActions(actions);178 return this;179 }180 /**181 * Gets the action.182 * @return the action183 */184 public TestAction getAction() {185 return action;186 }187 /**188 * Gets the faultString.189 * @return the faultString190 */191 public String getFaultString() {192 return faultString;193 }194 /**195 * Gets the faultCode.196 * @return the faultCode197 */198 public String getFaultCode() {199 return faultCode;200 }201 /**202 * Gets the list of fault details.203 * @return the faultDetails204 */205 public List<String> getFaultDetails() {206 return faultDetails;207 }208 209 /**210 * Sets the faultDetails.211 * @param faultDetails the faultDetails to set212 */213 public AssertSoapFault setFaultDetails(List<String> faultDetails) {214 this.faultDetails = faultDetails;215 return this;216 }217 /**218 * Gets the fault detail resource paths.219 * @return220 */221 public List<String> getFaultDetailResourcePaths() {222 return faultDetailResourcePaths;223 }224 /**225 * Sets the fault detail resource paths.226 * @param faultDetailResourcePaths227 */228 public AssertSoapFault setFaultDetailResourcePaths(List<String> faultDetailResourcePaths) {229 this.faultDetailResourcePaths = faultDetailResourcePaths;230 return this;231 }232 /**233 * Gets the validator.234 * @return the validator235 */236 public SoapFaultValidator getValidator() {237 return validator;238 }239 /**240 * Gets the faultActor.241 * @return the faultActor the faultActor to get.242 */243 public String getFaultActor() {244 return faultActor;245 }246 /**247 * Sets the faultActor.248 * @param faultActor the faultActor to set249 */250 public AssertSoapFault setFaultActor(String faultActor) {251 this.faultActor = faultActor;252 return this;253 }254 /**255 * Gets the validationContext.256 * @return the validationContext the validationContext to get.257 */258 public ValidationContext getValidationContext() {259 return validationContext;260 }261 /**262 * Sets the validationContext.263 * @param validationContext the validationContext to set264 */265 public AssertSoapFault setValidationContext(ValidationContext validationContext) {266 this.validationContext = validationContext;267 return this;268 }269 270}...

Full Screen

Full Screen

Source:SchemaValidation_Error_1_IT.java Github

copy

Full Screen

...18import com.consol.citrus.testng.spring.TestNGCitrusSpringSupport;19import com.consol.citrus.ws.client.WebServiceClient;20import org.springframework.beans.factory.annotation.Autowired;21import org.testng.annotations.Test;22import static com.consol.citrus.ws.actions.AssertSoapFault.Builder.assertSoapFault;23import static com.consol.citrus.ws.actions.SoapActionBuilder.soap;24/**25 * @author Christoph Deppisch26 */27public class SchemaValidation_Error_1_IT extends TestNGCitrusSpringSupport {28 @Autowired29 private WebServiceClient bookStoreClient;30 @Test31 @CitrusTest(name = "SchemaValidation_Error_1_IT")32 public void schemaValidation_Error_1_IT() {33 description("This test gets schema validation errors in SOAP fault response from server as the request is not " +34 "valid ('year'=>'03.Okt.2008' not a valid number).");35 variable("isbn", "978-0596517335");36 variable("faultCode", "{http://www.consol.com/citrus/samples/errorcodes}CITRUS:999");...

Full Screen

Full Screen

Source:GetBookDetails_Error_1_IT.java Github

copy

Full Screen

...18import com.consol.citrus.testng.spring.TestNGCitrusSpringSupport;19import com.consol.citrus.ws.client.WebServiceClient;20import org.springframework.beans.factory.annotation.Autowired;21import org.testng.annotations.Test;22import static com.consol.citrus.ws.actions.AssertSoapFault.Builder.assertSoapFault;23import static com.consol.citrus.ws.actions.SoapActionBuilder.soap;24/**25 * @author Christoph Deppisch26 */27public class GetBookDetails_Error_1_IT extends TestNGCitrusSpringSupport {28 @Autowired29 private WebServiceClient bookStoreClient;30 @Test31 @CitrusTest(name = "GetBookDetails_Error_1_IT")32 public void getBookDetails_Error_1_IT() {33 description("This test forces a SOAP fault in WebService response. Citrus asks for book details regarding a non-existent book." +34 "SOAP WebService server creates a SOAP fault that is validated in Citrus.");35 variable("isbn", "000-0000000000");36 variable("faultCode", "{http://www.consol.com/citrus/samples/errorcodes}CITRUS:1002");...

Full Screen

Full Screen

AssertSoapFault

Using AI Code Generation

copy

Full Screen

1import com.consol.citrus.dsl.junit.JUnit4CitrusTestDesigner;2import com.consol.citrus.ws.actions.AssertSoapFault;3import org.junit.Test;4public class 3 extends JUnit4CitrusTestDesigner {5public void 3() {6AssertSoapFault assertSoapFault = new AssertSoapFault();7assertSoapFault.setFaultString("faultString");8assertSoapFault.setFaultCode("faultCode");9assertSoapFault.setFaultActor("faultActor");10assertSoapFault.setFaultDetail("faultDetail");11assertSoapFault.setFaultCodeName("faultCodeName");12assertSoapFault.setFaultCodeNamespace("faultCodeNamespace");13assertSoapFault.setFaultCodePrefix("faultCodePrefix");14assertSoapFault.setFaultStringName("faultStringName");15assertSoapFault.setFaultStringNamespace("faultStringNamespace");16assertSoapFault.setFaultStringPrefix("faultStringPrefix");17assertSoapFault.setFaultActorName("faultActorName");18assertSoapFault.setFaultActorNamespace("faultActorNamespace");19assertSoapFault.setFaultActorPrefix("faultActorPrefix");20assertSoapFault.setFaultDetailName("faultDetailName");21assertSoapFault.setFaultDetailNamespace("faultDetailNamespace");22assertSoapFault.setFaultDetailPrefix("faultDetailPrefix");23assertSoapFault.setFaultDetailPath("faultDetailPath");24assertSoapFault.setFaultDetailValidation("faultDetailValidation");25assertSoapFault.setFaultDetailValidationType("faultDetailValidationType");26assertSoapFault.setFaultDetailValidationRoot("faultDetailValidationRoot");

Full Screen

Full Screen

AssertSoapFault

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.ws.actions;2import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;3import com.consol.citrus.ws.client.WebServiceClient;4import com.consol.citrus.ws.message.SoapFault;5import org.springframework.beans.factory.annotation.Autowired;6import org.springframework.core.io.ClassPathResource;7import org.springframework.ws.soap.SoapMessage;8import org.testng.annotations.Test;9public class AssertSoapFaultJavaITest extends TestNGCitrusTestDesigner {10 private WebServiceClient webServiceClient;11 public void configure() {12 variable("faultCode", "SOAP-ENV:Server");13 variable("faultString", "Internal Server Error");14 variable("faultDetail", "Invalid request data");15 send(webServiceClient)16 .payload(new ClassPathResource("templates/soap-fault-template.xml"));17 receive(webServiceClient)18 .payload(new ClassPathResource("templates/soap-fault-template.xml"));19 assertSoapFault()20 .faultCode("${faultCode}")21 .faultString("${faultString}")22 .faultActor("${faultActor}")23 .faultDetail("${fau

Full Screen

Full Screen

AssertSoapFault

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.samples;2import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;3import org.springframework.http.HttpStatus;4import org.testng.annotations.Test;5public class AssertSoapFaultIT extends TestNGCitrusTestDesigner {6 public void testAssertSoapFault() {7 http()8 .client("httpClient")9 .send()10 .post("/services/SoapFaultService")11 .contentType("text/xml")12 "</soapenv:Envelope>");13 soap()14 .client("httpClient")15 .receive()16 .fault()17 .faultString("Something went wrong!")18 "</ns2:Error>");19 }20}21package com.consol.citrus.samples;22import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;23import org.springframework.http.HttpStatus;24import org.testng.annotations.Test;25public class AssertSoapFaultIT extends TestNGCitrusTestDesigner {26 public void testAssertSoapFault() {27 http()28 .client("httpClient")29 .send()30 .post("/services/SoapFaultService")31 .contentType("text/xml")

Full Screen

Full Screen

AssertSoapFault

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.samples;2import org.springframework.context.annotation.Bean;3import org.springframework.context.annotation.Configuration;4import org.springframework.context.annotation.ImportResource;5import com.consol.citrus.dsl.builder.BuilderSupport;6import com.consol.citrus.dsl.builder.HttpServerActionBuilder;7import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerReceiveActionBuilder;8import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerResponseActionBuilder;9import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerSendActionBuilder;10import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerSendResponseActionBuilder;11import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerSyncActionBuilder;12import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerSyncResponseActionBuilder;13import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerTimeoutActionBuilder;14import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerTimeoutResponseActionBuilder;15import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerUnknownRequestActionBuilder;16import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerUnknownResponseActionBuilder;17import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerWaitActionBuilder;18import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerWaitResponseActionBuilder;19import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerWaitUntilActionBuilder;20import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerWaitUntilResponseActionBuilder;21import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerWaitWhileActionBuilder;22import com.consol.citrus.dsl.builder.HttpServerActionBuilder.HttpServerWaitWhileResponseActionBuilder;23import com.consol.citrus.dsl.builder.ReceiveTimeoutActionBuilder;24import com.consol.citrus.dsl.builder.ReceiveTimeoutActionBuilder.ReceiveTimeoutBuilder;25import com.consol.citrus.dsl.builder.ReceiveTimeoutActionBuilder.ReceiveTimeoutConditionBuilder;26import com.consol.citrus.dsl.builder.ReceiveTimeoutActionBuilder.ReceiveTimeoutConditionBuilder.ReceiveTimeoutConditionActionBuilder;27import com.consol.citrus.dsl.builder.ReceiveTimeoutActionBuilder.ReceiveTimeoutConditionBuilder.ReceiveTimeoutConditionActionBuilder.ReceiveTimeoutConditionActionBuilderSupport;28import com.consol.citrus.dsl.builder.ReceiveTimeoutActionBuilder.ReceiveTimeoutConditionBuilder.ReceiveTimeoutConditionActionBuilder.ReceiveTimeout

Full Screen

Full Screen

AssertSoapFault

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus;2import com.consol.citrus.annotations.CitrusTest;3import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;4import com.consol.citrus.ws.actions.AssertSoapFault;5import org.springframework.http.HttpStatus;6import org.springframework.web.client.HttpClientErrorException;7import org.testng.annotations.Test;8public class TestNGAssertSoapFaultJavaIT extends TestNGCitrusTestDesigner {9 public void testAssertSoapFault() {10 variable("myVar", "myValue");11 http(httpActionBuilder -> httpActionBuilder.client("httpClient")12 .send()13 .post()14 .payload("<testRequestMessage>" +15 "</testRequestMessage>"));16 http(httpActionBuilder -> httpActionBuilder.client("httpClient")17 .receive()18 .response(HttpStatus.BAD_REQUEST));19 assertSoapFault(assertSoapFaultBuilder -> assertSoapFaultBuilder20 .faultString("Test error message")21 .actor("citrus:currentDate()")22 .detail("<testDetail>" +23 "</testDetail>"));24 assertSoapFault(assertSoapFaultBuilder -> assertSoapFaultBuilder25 .faultString("Test error message")26 .actor("citrus:currentDate()")27 .detail("<testDetail>" +28 .messageName("TestMessage"));29 assertSoapFault(assertSoapFaultBuilder -> assertSoapFaultBuilder30 .faultString("Test error message")31 .actor("citrus:currentDate()")32 .detail("<testDetail>" +33 .messageName("TestMessage")34 .faultActor("citrus:concat('Citrus', 'Framework')"));35 assertSoapFault(assertSoapFaultBuilder -> assertSoapFaultBuilder

Full Screen

Full Screen

AssertSoapFault

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.samples;2import com.consol.citrus.annotations.CitrusTest;3import com.consol.citrus.dsl.junit.JUnit4CitrusTestDesigner;4import com.consol.citrus.ws.actions.AssertSoapFault;5import org.junit.Test;6public class AssertSoapFaultSampleIT extends JUnit4CitrusTestDesigner {7 public void assertSoapFaultSampleIT() {8 variable("faultCode", "soap:Server");9 variable("faultString", "Fault occurred in the system");10 variable("faultDetail", "<faultDetail>fault detail</faultDetail>");11 send("webServiceClient")12 .header("SOAPAction", "sayHello");13 receive("webServiceServer")14 "<faultcode>${faultCode}</faultcode>" +15 "<faultstring>${faultString}</faultstring>" +16 "<faultactor>${faultActor}</faultactor>" +17 "<detail>${faultDetail}</detail>" +

Full Screen

Full Screen

AssertSoapFault

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.samples;2import org.springframework.context.annotation.Bean;3import org.springframework.context.annotation.Configuration;4import org.springframework.context.annotation.Import;5import com.consol.citrus.dsl.builder.BuilderSupport;6import com.consol.citrus.dsl.builder.HttpServerResponseActionBuilder;7import com.consol.citrus.dsl.builder.ReceiveTimeoutBuilder;8import com.consol.citrus.dsl.builder.SendMessageActionBuilder;9import com.consol.citrus.dsl.runner.TestRunner;10import com.consol.citrus.dsl.testng.TestNGCitrusTestRunner;11import com.consol.citrus.message.MessageType;12import com.consol.citrus.ws.actions.AssertSoapFault;13import com.consol.citrus.ws.client.WebServiceClient;14import com.consol.citrus.ws.server.WebServiceServer;15@Import(HelloWorldConfig.class)16public class HelloWorldIT extends TestNGCitrusTestRunner {17public WebServiceClient helloClient() {18 return CitrusEndpoints.soap()19 .client()20 .build();21}22public WebServiceServer helloServer() {23 return CitrusEndpoints.soap()24 .server()25 .autoStart(true)26 .port(8080)27 .build();28}29protected void configure(TestRunner runner) {30 runner.ws()31 .client(helloClient())32 .send()33 .soapAction("sayHello")34 "</HelloRequest>");35 runner.ws()36 .server(helloServer())37 .receive()38 "</HelloRequest>");39 runner.ws()40 .server(helloServer())41 .send()42 "</HelloResponse>");43 runner.ws()44 .client(helloClient())45 .receive()46 .payload("<HelloResponse xmlns

Full Screen

Full Screen

AssertSoapFault

Using AI Code Generation

copy

Full Screen

1public class AssertSoapFaultTest extends TestNGCitrusTestDesigner {2 public void assertSoapFault() {3 variable("faultCode", "soap:Server");4 variable("faultString", "Internal Server Error");5 http().client("httpClient")6 .send()7 .post("/test")8 .payload("<testRequestMessage>" +9 "</testRequestMessage>");10 http().client("httpClient")11 .receive()12 .response(HttpStatus.BAD_REQUEST)13 .payload("<testResponseMessage>" +14 "</testResponseMessage>");15 assertSoapFault().faultCode("${faultCode}")16 .faultString("${faultString}")17 .faultDetail("<faultDetail>" +18 "</faultDetail>");19 }20}21public class AssertSoapFaultTest extends TestNGCitrusTestDesigner {22 public void assertSoapFault() {23 http().client("httpClient")24 .send()25 .post("/test")26 .payload("<testRequestMessage>" +27 "</testRequestMessage>");28 http().client("httpClient")29 .receive()30 .response(HttpStatus.BAD_REQUEST)31 .payload("<testResponseMessage>" +32 "</testResponseMessage>");33 assertSoapFault().faultCode("soap:Server")34 .faultString("Internal Server Error")35 .faultDetail("<faultDetail>" +36 "</faultDetail>");37 }38}39public class AssertSoapFaultTest extends TestNGCitrusTestDesigner {40 public void assertSoapFault() {41 http().client("httpClient")42 .send()43 .post("/test")44 .payload("<testRequestMessage>" +

Full Screen

Full Screen

AssertSoapFault

Using AI Code Generation

copy

Full Screen

1public void testSoapFault() {2 variable("faultCode", "soap:Sender");3 variable("faultString", "Invalid XML request");4 send("soapRequestMessage");5 assertSoapFault("soapFaultMessage")6 .actor("${faultActor}")7 .code("${faultCode}")8 .string("${faultString}");9}10public void testSoapFault() {11 variable("faultCode", "soap:Sender");12 variable("faultString", "Invalid XML request");13 send("soapRequestMessage");14 assertSoapFault("soapFaultMessage")15 .actor("${faultActor}")16 .code("${faultCode}")17 .string("${faultString}")18 .detail("faultDetailMessage");19}20public void testSoapFault() {21 variable("faultCode", "soap:Sender");22 variable("faultString", "Invalid XML request");23 send("soapRequestMessage");24 assertSoapFault("soapFaultMessage")25 .actor("${faultActor}")26 .code("${faultCode}")27 .string("${faultString}")28 .detail("faultDetailMessage")29 .validate();30}31public void testSoapFault() {32 variable("faultCode", "soap:Sender");33 variable("faultString", "Invalid XML request");34 send("soapRequestMessage");35 assertSoapFault("soapFaultMessage")36 .actor("${faultActor}")37 .code("${faultCode}")38 .string("${faultString}")39 .detail("faultDetailMessage")40 .validate()41 .extractFromHeader("faultHeader",

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