1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.teststeps.assertions.jms;
14
15 import com.eviware.soapui.config.TestAssertionConfig;
16 import com.eviware.soapui.impl.wsdl.WsdlRequest;
17 import com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestTransport;
18 import com.eviware.soapui.impl.wsdl.teststeps.WsdlMessageAssertion;
19 import com.eviware.soapui.impl.wsdl.teststeps.assertions.AbstractTestAssertionFactory;
20 import com.eviware.soapui.model.iface.MessageExchange;
21 import com.eviware.soapui.model.iface.SubmitContext;
22 import com.eviware.soapui.model.testsuite.Assertable;
23 import com.eviware.soapui.model.testsuite.AssertionError;
24 import com.eviware.soapui.model.testsuite.AssertionException;
25 import com.eviware.soapui.model.testsuite.RequestAssertion;
26 import com.eviware.soapui.model.testsuite.ResponseAssertion;
27
28 /***
29 * Asserts JMS connection
30 *
31 * @author nebojsa.tasic
32 */
33
34 public class JMSStatusAssertion extends WsdlMessageAssertion implements ResponseAssertion, RequestAssertion
35 {
36 public static final String ID = "JMS Status";
37 public static final String LABEL = "JMS Status";
38
39 public JMSStatusAssertion(TestAssertionConfig assertionConfig, Assertable assertable)
40 {
41 super(assertionConfig, assertable, false, false, false, true);
42 }
43
44 @Override
45 protected String internalAssertResponse(MessageExchange messageExchange, SubmitContext context)
46 throws AssertionException
47 {
48
49 Exception exception =(Exception) context.getProperty(HermesJmsRequestTransport.JMS_ERROR);
50 if(exception!=null){
51 throw new AssertionException(new AssertionError(exception.getMessage()));
52 }
53
54 return "JMS Status OK";
55 }
56
57 @Override
58 protected String internalAssertRequest(MessageExchange messageExchange, SubmitContext context)
59 throws AssertionException
60 {
61 return "JMS Status OK";
62 }
63
64
65
66 public static class Factory extends AbstractTestAssertionFactory
67 {
68 public Factory()
69 {
70 super(JMSStatusAssertion.ID, JMSStatusAssertion.LABEL, JMSStatusAssertion.class, WsdlRequest.class);
71 }
72 }
73 }