View Javadoc

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  }