1 package com.eviware.soapui.impl.wsdl.teststeps.assertions.jdbc;
2
3 import com.eviware.soapui.config.TestAssertionConfig;
4 import com.eviware.soapui.impl.wsdl.WsdlRequest;
5 import com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcSubmit;
6 import com.eviware.soapui.impl.wsdl.teststeps.JdbcRequestTestStep;
7 import com.eviware.soapui.impl.wsdl.teststeps.WsdlMessageAssertion;
8 import com.eviware.soapui.impl.wsdl.teststeps.assertions.AbstractTestAssertionFactory;
9 import com.eviware.soapui.model.iface.MessageExchange;
10 import com.eviware.soapui.model.iface.SubmitContext;
11 import com.eviware.soapui.model.testsuite.Assertable;
12 import com.eviware.soapui.model.testsuite.AssertionError;
13 import com.eviware.soapui.model.testsuite.AssertionException;
14 import com.eviware.soapui.model.testsuite.RequestAssertion;
15 import com.eviware.soapui.model.testsuite.ResponseAssertion;
16
17 public class JdbcStatusAssertion extends WsdlMessageAssertion implements ResponseAssertion, RequestAssertion
18 {
19 public static final String ID = "JDBC Status";
20 public static final String LABEL = "JDBC Status";
21
22 public JdbcStatusAssertion( TestAssertionConfig assertionConfig, Assertable assertable )
23 {
24 super( assertionConfig, assertable, false, false, false, true );
25 }
26
27 @Override
28 protected String internalAssertResponse( MessageExchange messageExchange, SubmitContext context )
29 throws AssertionException
30 {
31
32 Exception exception = ( Exception )context.getProperty( JdbcSubmit.JDBC_ERROR );
33 if( exception != null )
34 {
35 throw new AssertionException( new AssertionError( exception.getMessage() ) );
36 }
37
38 return "JDBC Status OK";
39 }
40
41 @Override
42 protected String internalAssertRequest( MessageExchange messageExchange, SubmitContext context )
43 throws AssertionException
44 {
45 return "JDBC Status OK";
46 }
47
48 public static class Factory extends AbstractTestAssertionFactory
49 {
50 public Factory()
51 {
52 super( JdbcStatusAssertion.ID, JdbcStatusAssertion.LABEL, JdbcStatusAssertion.class, WsdlRequest.class );
53 }
54
55 @Override
56 public boolean canAssert( Assertable assertable )
57 {
58 return assertable instanceof JdbcRequestTestStep;
59 }
60
61 @Override
62 public Class<? extends WsdlMessageAssertion> getAssertionClassType()
63 {
64 return JdbcStatusAssertion.class;
65 }
66 }
67 }