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 JdbcTimeoutAssertion extends WsdlMessageAssertion implements ResponseAssertion, RequestAssertion 18 { 19 public static final String ID = "JDBC Timeout"; 20 public static final String LABEL = "JDBC Timeout"; 21 22 public JdbcTimeoutAssertion( 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 if( context.getProperty( JdbcSubmit.JDBC_TIMEOUT ) != null ) 33 { 34 Long timeout = Long.valueOf( context.getProperty( JdbcSubmit.JDBC_TIMEOUT ).toString() ); 35 throw new AssertionException( new AssertionError( "JDBC Request timeout error! Query not executed in " 36 + timeout + " ms." ) ); 37 } 38 39 return "JDBC Timeout OK"; 40 } 41 42 @Override 43 protected String internalAssertRequest( MessageExchange messageExchange, SubmitContext context ) 44 throws AssertionException 45 { 46 return "JDBC Timeout OK"; 47 } 48 49 public static class Factory extends AbstractTestAssertionFactory 50 { 51 public Factory() 52 { 53 super( JdbcTimeoutAssertion.ID, JdbcTimeoutAssertion.LABEL, JdbcTimeoutAssertion.class, WsdlRequest.class ); 54 } 55 56 @Override 57 public boolean canAssert( Assertable assertable ) 58 { 59 return assertable instanceof JdbcRequestTestStep; 60 } 61 } 62 }