<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1-SNAPSHOT be1e864">
  <hashTree>
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
      <stringProp name="TestPlan.comments"></stringProp>
      <boolProp name="TestPlan.functional_mode">false</boolProp>
      <boolProp name="TestPlan.serialize_threadgroups">true</boolProp>
      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
        <collectionProp name="Arguments.arguments"/>
      </elementProp>
      <stringProp name="TestPlan.user_define_classpath">../lib/opt/hsqldb-2.4.0.jar</stringProp>
    </TestPlan>
    <hashTree>
      <JDBCDataSource guiclass="TestBeanGUI" testclass="JDBCDataSource" testname="JDBC Connection Configuration" enabled="true">
        <boolProp name="autocommit">false</boolProp>
        <stringProp name="checkQuery"></stringProp>
        <stringProp name="connectionAge">5000</stringProp>
        <stringProp name="dataSource">dbConfig</stringProp>
        <stringProp name="dbUrl">jdbc:hsqldb:mem:mymemdb</stringProp>
        <stringProp name="driver">org.hsqldb.jdbc.JDBCDriver</stringProp>
        <boolProp name="keepAlive">true</boolProp>
        <stringProp name="password"></stringProp>
        <stringProp name="poolMax">1</stringProp>
        <stringProp name="timeout">10000</stringProp>
        <stringProp name="transactionIsolation">DEFAULT</stringProp>
        <stringProp name="trimInterval">60000</stringProp>
        <stringProp name="username">SA</stringProp>
        <boolProp name="preinit">true</boolProp>
        <stringProp name="initQuery"></stringProp>
        <stringProp name="connectionProperties">ifexists=false</stringProp>
      </JDBCDataSource>
      <hashTree/>
      <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">1</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1505666719000</longProp>
        <longProp name="ThreadGroup.end_time">1505666719000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <boolProp name="ThreadGroup.same_user_on_next_iteration">false</boolProp>
      </SetupThreadGroup>
      <hashTree>
        <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="JSR223_CHECK_POOL_PREINIT" enabled="true">
          <stringProp name="scriptLanguage">groovy</stringProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="cacheKey">true</stringProp>
          <stringProp name="script">//dummy sampler, just needed for the assertion</stringProp>
        </JSR223Sampler>
        <hashTree>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223_CHECK_POOL_PREINIT_ASSERTION" enabled="true">
            <stringProp name="scriptLanguage">groovy</stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="script">
import groovy.sql.Sql

def url = &apos;jdbc:hsqldb:mem:mymemdb&apos;
def user = &apos;SA&apos;
def password = &apos;&apos;
def driver = &apos;org.hsqldb.jdbcDriver&apos;
def sql = Sql.newInstance(url, user, password, driver)
def row = sql.firstRow(&apos;select count(*) from INFORMATION_SCHEMA.system_sessions&apos;) 
def sessionNum = row[0]

try {
    assert sessionNum == 2
} catch (Error err) {
    AssertionResult.setFailure(true)
    AssertionResult.setFailureMessage(&quot;Got &quot; + sessionNum + &quot; sessions on the database, but expected 2 sessions. (1 preinitialized session from the connection pool, and 1 from the above jdbc call.)&quot;);
}

sql.close()
</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_DROP_PROCEDURE" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">drop PROCEDURE new_user IF EXISTS;
</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Update Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-1157542694">0 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_DROP_PROCEDURE" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">drop PROCEDURE get_users IF EXISTS;
</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Update Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-1157542694">0 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_DROP_TABLE" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">drop table USERS IF EXISTS;
</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Update Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-1157542694">0 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_CREATE_TABLE" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">create table IF NOT EXISTS USERS (
   id INT IDENTITY NOT NULL,
   title VARCHAR(50) NOT NULL,
   author VARCHAR(20) NOT NULL,
   submission_date DATE,
   PRIMARY KEY (id) 
);

</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Update Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-1157542694">0 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_CREATE_PROCEDURE" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">CREATE PROCEDURE new_user(title VARCHAR(50), author VARCHAR(50))
   MODIFIES SQL DATA DYNAMIC RESULT SETS 1
   BEGIN ATOMIC
     DECLARE result CURSOR FOR SELECT * FROM USERS WHERE ID = IDENTITY();
     INSERT INTO USERS VALUES (DEFAULT, title, author, CURRENT_DATE);
     OPEN result;    
   END ;</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Update Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-1157542694">0 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_CREATE_PROCEDURE_SELECT" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">CREATE PROCEDURE get_users()
	MODIFIES SQL DATA DYNAMIC RESULT SETS 1
   BEGIN ATOMIC
     DECLARE result CURSOR FOR SELECT * FROM USERS order by id FOR READ ONLY;
     OPEN result;   
   END ;</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Update Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-1157542694">0 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG-OK" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">1</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1505666862000</longProp>
        <longProp name="ThreadGroup.end_time">1505666862000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <boolProp name="ThreadGroup.same_user_on_next_iteration">false</boolProp>
      </ThreadGroup>
      <hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_INSERT" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">INSERT INTO USERS(title,author, submission_date) VALUES (&apos;Mr&apos;, &apos;Philip K. Dick&apos;, CURRENT_DATE)</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Update Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1329970139">1 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_CALL_PROCEDURE" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">call new_user(?, ?)</stringProp>
          <stringProp name="queryArguments">Mr,Fiodor Dostoievski</stringProp>
          <stringProp name="queryArgumentsTypes">VARCHAR,VARCHAR</stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Callable Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="variableNames">id,title,author</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">id_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="2501">Mr</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">title_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-1486782315">Fiodor Dostoievski</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">author_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">author_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;result&quot;);
if (list.size()==1) {
	Map map = list.get(0);
	if(map.get(&quot;AUTHOR&quot;).equals(&quot;Fiodor Dostoievski&quot;)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected first row AUTHOR to be equal to &apos;Fiodor Dostoievski&apos;&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 1 row in result, got:&quot;+list.size());
}

</stringProp>
            <stringProp name="scriptLanguage">groovy</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_CALL_PROCEDURE_SELECT" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">call get_users()</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Callable Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="variableNames">id,title,author</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="48">0</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">id_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="2501">Mr</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">title_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1324166668">Philip K. Dick</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">author_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="50">2</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">author_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;result&quot;);
if (list.size()==2) {
	Map map = list.get(0);
	if(map.get(&quot;AUTHOR&quot;).equals(&quot;Philip K. Dick&quot;)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected first row AUTHOR to be equal to &apos;Philip K. Dick&apos;&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 2 rows in result, got:&quot;+list.size());
}

</stringProp>
            <stringProp name="scriptLanguage">groovy</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_SELECT" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">select title,author,submission_date from USERS where id = 0</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Select Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="variableNames">title,author,submission_date</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="2501">Mr</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">title_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1324166668">Philip K. Dick</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">author_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-253830980">${__time(yyyy-MM-dd,)}</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">submission_date_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">author_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;result&quot;);
if (list.size()==1) {
	Map map = list.get(0);
	if(map.get(&quot;AUTHOR&quot;).equals(&quot;Philip K. Dick&quot;)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected first row AUTHOR to be equal to &apos;Philip K. Dick&apos;&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 1 row in result, got:&quot;+list.size());
}

</stringProp>
            <stringProp name="scriptLanguage">groovy</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_SELECT_PREPARED" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">select title,author,submission_date from USERS where id = ?</stringProp>
          <stringProp name="queryArguments">0</stringProp>
          <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Prepared Select Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="variableNames">title,author,submission_date</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="2501">Mr</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">title_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1324166668">Philip K. Dick</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">author_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-253830980">${__time(yyyy-MM-dd,)}</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">submission_date_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">author_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;result&quot;);
if (list.size()==1) {
	Map map = list.get(0);
	if(map.get(&quot;AUTHOR&quot;).equals(&quot;Philip K. Dick&quot;)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected first row AUTHOR to be equal to &apos;Philip K. Dick&apos;&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 1 row in result, got:&quot;+list.size());
}

</stringProp>
            <stringProp name="scriptLanguage">groovy</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_COMMIT" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Commit</stringProp>
          <stringProp name="query"></stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree/>
        <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="CheckTransaction" enabled="true">
          <boolProp name="TransactionController.includeTimers">false</boolProp>
          <boolProp name="TransactionController.parent">false</boolProp>
        </TransactionController>
        <hashTree>
          <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_INSERT_VICTOR_HUGO" enabled="true">
            <stringProp name="dataSource">dbConfig</stringProp>
            <stringProp name="query">INSERT INTO USERS(title,author, submission_date) VALUES (?, ?, ?)</stringProp>
            <stringProp name="queryArguments">Mr,Victor Hugo,${__time(yyyy-MM-dd,)}</stringProp>
            <stringProp name="queryArgumentsTypes">VARCHAR,VARCHAR,DATE</stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="queryType">Prepared Update Statement</stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultVariable"></stringProp>
            <stringProp name="variableNames"></stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCSampler>
          <hashTree>
            <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
              <collectionProp name="Asserion.test_strings">
                <stringProp name="1329970139">1 updates</stringProp>
              </collectionProp>
              <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
              <boolProp name="Assertion.assume_success">false</boolProp>
              <intProp name="Assertion.test_type">16</intProp>
              <stringProp name="Assertion.custom_message"></stringProp>
            </ResponseAssertion>
            <hashTree/>
          </hashTree>
          <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_CHECK_COUNT_3" enabled="true">
            <stringProp name="dataSource">dbConfig</stringProp>
            <stringProp name="query">select count(1) as number_user from USERS</stringProp>
            <stringProp name="queryArguments"></stringProp>
            <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="queryType">Select Statement</stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultVariable">number_users</stringProp>
            <stringProp name="variableNames">number_user</stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCSampler>
          <hashTree>
            <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
              <stringProp name="cacheKey">true</stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;number_users&quot;);
if (list.size()==1) {
	Map map = list.get(0);
	if(map.get(&quot;NUMBER_USER&quot;).equals(3L)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected number of Rows to be equal to 3&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 1 row in result, got:&quot;+list.size());
}

</stringProp>
              <stringProp name="scriptLanguage">groovy</stringProp>
            </JSR223Assertion>
            <hashTree/>
          </hashTree>
          <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_ROLLBACK" enabled="true">
            <stringProp name="dataSource">dbConfig</stringProp>
            <stringProp name="queryType">Rollback</stringProp>
            <stringProp name="query"></stringProp>
            <stringProp name="queryArguments"></stringProp>
            <stringProp name="queryArgumentsTypes"></stringProp>
            <stringProp name="variableNames"></stringProp>
            <stringProp name="resultVariable"></stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCSampler>
          <hashTree/>
          <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_CHECK_COUNT_1" enabled="true">
            <stringProp name="dataSource">dbConfig</stringProp>
            <stringProp name="query">select count(1) as number_user from USERS</stringProp>
            <stringProp name="queryArguments"></stringProp>
            <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="queryType">Select Statement</stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultVariable">number_users</stringProp>
            <stringProp name="variableNames">number_user</stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCSampler>
          <hashTree>
            <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
              <stringProp name="cacheKey">true</stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;number_users&quot;);
if (list.size()==1) {
	Map map = list.get(0);
	if(map.get(&quot;NUMBER_USER&quot;).equals(2L)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected number of Rows to be equal to 2&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 1 row in result, got:&quot;+list.size());
}

</stringProp>
              <stringProp name="scriptLanguage">groovy</stringProp>
            </JSR223Assertion>
            <hashTree/>
          </hashTree>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_INSERT_2" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Prepared Update Statement</stringProp>
          <stringProp name="query">INSERT INTO USERS(title,author, submission_date) VALUES (?, ?, ?)</stringProp>
          <stringProp name="queryArguments">Mr,Leon Tolstoi,${__time(yyyy-MM-dd,)}</stringProp>
          <stringProp name="queryArgumentsTypes">VARCHAR,VARCHAR,DATE</stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1329970139">1 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JDBCPreProcessor guiclass="TestBeanGUI" testclass="JDBCPreProcessor" testname="JDBC PreProcessor" enabled="true">
            <stringProp name="dataSource">dbConfig</stringProp>
            <stringProp name="query">select count(1) as number_user from USERS</stringProp>
            <stringProp name="queryArguments"></stringProp>
            <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="queryType">Select Statement</stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultVariable"></stringProp>
            <stringProp name="variableNames">number_user_before</stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCPreProcessor>
          <hashTree/>
          <JDBCPostProcessor guiclass="TestBeanGUI" testclass="JDBCPostProcessor" testname="JDBC PostProcessor" enabled="true">
            <stringProp name="dataSource">dbConfig</stringProp>
            <stringProp name="query">select count(1) as number_user from USERS</stringProp>
            <stringProp name="queryArguments"></stringProp>
            <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="queryType">Select Statement</stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultVariable"></stringProp>
            <stringProp name="variableNames">number_user_after</stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCPostProcessor>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA_number_user_before_equal1" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="50">2</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.request_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">number_user_before_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA_number_user_after_equal2" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="51">3</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.request_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">number_user_after_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA_number_user_before_count" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.request_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">number_user_before_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA_number_user_after_count" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.request_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">number_user_after_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_SELECT_LIMIT_RESULTSET_0" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Select Statement</stringProp>
          <stringProp name="query">select * from (VALUES(cast(1 as int), cast(&apos;conference table&apos; as varchar(20))), (14, &apos;sofa&apos;), (5, &apos;coffee table&apos;)) as t(id_furniture,name_furniture) order by 1</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="variableNames">ID_FURNITURE,NAME_FURNITURE</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows">0</stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="48">0</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">ID_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="48">0</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">NAME_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;result&quot;);
if (list.size()==0 &amp;&amp; vars.get(&quot;ID_FURNITURE_1&quot;) == null &amp;&amp; vars.get(&quot;NAME_FURNITURE_1&quot;) == null) {
	AssertionResult.setFailure(false);
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 0 rows in result, got:&quot;+list.size());
}

</stringProp>
            <stringProp name="scriptLanguage">groovy</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_SELECT_LIMIT_RESULTSET_1" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Select Statement</stringProp>
          <stringProp name="query">select * from (VALUES(cast(1 as int), cast(&apos;conference table&apos; as varchar(20))), (14, &apos;sofa&apos;), (5, &apos;coffee table&apos;)) as t(id_furniture,name_furniture) order by 1</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="variableNames">ID_FURNITURE,NAME_FURNITURE</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows">1</stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">ID_FURNITURE_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-59682870">conference table</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">NAME_FURNITURE_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">ID_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">NAME_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;result&quot;);
if (list.size()==1) {
	Map map = list.get(0);
	if(map.get(&quot;ID_FURNITURE&quot;).equals(1) &amp;&amp; map.get(&quot;NAME_FURNITURE&quot;).equals(&quot;conference table&quot;)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected:	1	&apos;conference table&apos;&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 1 row in result, got:&quot;+list.size());
}

</stringProp>
            <stringProp name="scriptLanguage">groovy</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_SELECT_LIMIT_RESULTSET_2" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Select Statement</stringProp>
          <stringProp name="query">select * from (VALUES(cast(1 as int), cast(&apos;conference table&apos; as varchar(20))), (14, &apos;sofa&apos;), (5, &apos;coffee table&apos;)) as t(id_furniture,name_furniture) order by 1</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="variableNames">ID_FURNITURE,NAME_FURNITURE</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows">2</stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="53">5</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">ID_FURNITURE_2</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="154871418">coffee table</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">NAME_FURNITURE_2</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="50">2</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">ID_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="50">2</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">NAME_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;result&quot;);
if (list.size()==2) {
	Map map = list.get(1);
	if(map.get(&quot;ID_FURNITURE&quot;).equals(5) &amp;&amp; map.get(&quot;NAME_FURNITURE&quot;).equals(&quot;coffee table&quot;)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected:	5	&apos;coffee table&apos;&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 2 rows in result, got:&quot;+list.size());
}

</stringProp>
            <stringProp name="scriptLanguage">groovy</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_SELECT_LIMIT_RESULTSET_3" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Select Statement</stringProp>
          <stringProp name="query">select * from (VALUES(cast(1 as int), cast(&apos;conference table&apos; as varchar(20))), (14, &apos;sofa&apos;), (5, &apos;coffee table&apos;)) as t(id_furniture,name_furniture) order by 1</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="variableNames">ID_FURNITURE,NAME_FURNITURE</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows">3</stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1571">14</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">ID_FURNITURE_3</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="3535895">sofa</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">NAME_FURNITURE_3</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="51">3</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">ID_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="51">3</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">NAME_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;result&quot;);
if (list.size()==3) {
	Map map = list.get(2);
	if(map.get(&quot;ID_FURNITURE&quot;).equals(14) &amp;&amp; map.get(&quot;NAME_FURNITURE&quot;).equals(&quot;sofa&quot;)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected:	14	&apos;sofa&apos;&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 3 rows in result, got:&quot;+list.size());
}

</stringProp>
            <stringProp name="scriptLanguage">groovy</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_SELECT_LIMIT_RESULTSET_4" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Select Statement</stringProp>
          <stringProp name="query">select * from (VALUES(cast(1 as int), cast(&apos;conference table&apos; as varchar(20))), (14, &apos;sofa&apos;), (5, &apos;coffee table&apos;)) as t(id_furniture,name_furniture) order by 1</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="variableNames">ID_FURNITURE,NAME_FURNITURE</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows">4</stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1571">14</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">ID_FURNITURE_3</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="3535895">sofa</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">NAME_FURNITURE_3</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="51">3</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">ID_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="51">3</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">NAME_FURNITURE_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JA_checkResult" enabled="true">
            <stringProp name="cacheKey">true</stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="script">import java.util.Map;
def list = vars.getObject(&quot;result&quot;);
if (list.size()==3) {
	Map map = list.get(2);
	if(map.get(&quot;ID_FURNITURE&quot;).equals(14) &amp;&amp; map.get(&quot;NAME_FURNITURE&quot;).equals(&quot;sofa&quot;)) {
		AssertionResult.setFailure(false);
	} else {
		AssertionResult.setFailure(true);
		AssertionResult.setFailureMessage(&quot;Expected:	14	&apos;sofa&apos;&quot;);
	}
} else {
	AssertionResult.setFailure(true);
	AssertionResult.setFailureMessage(&quot;Expected 3 rows in result, got:&quot;+list.size());
}

</stringProp>
            <stringProp name="scriptLanguage">groovy</stringProp>
          </JSR223Assertion>
          <hashTree/>
        </hashTree>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG-Errors" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">1</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1505666862000</longProp>
        <longProp name="ThreadGroup.end_time">1505666862000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <boolProp name="ThreadGroup.same_user_on_next_iteration">false</boolProp>
      </ThreadGroup>
      <hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_NoConfig" enabled="true">
          <stringProp name="dataSource"></stringProp>
          <stringProp name="query">INSERT INTO USERS(title,author, submission_date) VALUES (&apos;Mr&apos;, &apos;Philip K. Dick&apos;, CURRENT_DATE)</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Update Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="-1643270117">Name for DataSoure must not be empty in JDBC_NoConfig</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_message</stringProp>
            <boolProp name="Assertion.assume_success">true</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_Wrong_Sql" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="query">select title,author,submission_date  USERS where id = 0</stringProp>
          <stringProp name="queryArguments"></stringProp>
          <stringProp name="queryArgumentsTypes"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="queryType">Select Statement</stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultVariable">result</stringProp>
          <stringProp name="variableNames">title,author,submission_date</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1180728046">java.sql.SQLSyntaxErrorException:</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_message</stringProp>
            <boolProp name="Assertion.assume_success">true</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Scope.variable">title_1</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_With_Failing_PreProcessor" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Prepared Update Statement</stringProp>
          <stringProp name="query">INSERT INTO USERS(title,author, submission_date) VALUES (?, ?, ?)</stringProp>
          <stringProp name="queryArguments">Mr,Leon Tolstoi,${__time(yyyy-MM-dd,)}</stringProp>
          <stringProp name="queryArgumentsTypes">VARCHAR,VARCHAR,DATE</stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1329970139">1 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JDBCPreProcessor guiclass="TestBeanGUI" testclass="JDBCPreProcessor" testname="JDBC PreProcessor" enabled="true">
            <stringProp name="dataSource"></stringProp>
            <stringProp name="query">select count(1) as number_user from USERS</stringProp>
            <stringProp name="queryArguments"></stringProp>
            <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="queryType">Select Statement</stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultVariable"></stringProp>
            <stringProp name="variableNames">number_user_before</stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCPreProcessor>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA_number_user_after_count" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.request_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">number_user_after_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_With_Failing_PostProcessor" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Prepared Update Statement</stringProp>
          <stringProp name="query">INSERT INTO USERS(title,author, submission_date) VALUES (?, ?, ?)</stringProp>
          <stringProp name="queryArguments">Mr,Leon Tolstoi,${__time(yyyy-MM-dd,)}</stringProp>
          <stringProp name="queryArgumentsTypes">VARCHAR,VARCHAR,DATE</stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1329970139">1 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JDBCPostProcessor guiclass="TestBeanGUI" testclass="JDBCPostProcessor" testname="JDBC PostProcessor" enabled="true">
            <stringProp name="dataSource"></stringProp>
            <stringProp name="query">select count(1) as number_user from USERS</stringProp>
            <stringProp name="queryArguments"></stringProp>
            <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="queryType">Select Statement</stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultVariable"></stringProp>
            <stringProp name="variableNames">number_user_after</stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCPostProcessor>
          <hashTree/>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="RA_number_user_after_count" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="49">1</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.request_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">8</intProp>
            <stringProp name="Assertion.scope">variable</stringProp>
            <stringProp name="Scope.variable">number_user_after_#</stringProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_With_Failing_PreProcessor" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Prepared Update Statement</stringProp>
          <stringProp name="query">INSERT INTO USERS(title,author, submission_date) VALUES (?, ?, ?)</stringProp>
          <stringProp name="queryArguments">Mr,Leon Tolstoi,${__time(yyyy-MM-dd,)}</stringProp>
          <stringProp name="queryArgumentsTypes">VARCHAR,VARCHAR,DATE</stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1329970139">1 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JDBCPreProcessor guiclass="TestBeanGUI" testclass="JDBCPreProcessor" testname="JDBC PreProcessor" enabled="true">
            <stringProp name="dataSource">dbConfig</stringProp>
            <stringProp name="query">select count(1) as number_user  USERS</stringProp>
            <stringProp name="queryArguments"></stringProp>
            <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="queryType">Select Statement</stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultVariable"></stringProp>
            <stringProp name="variableNames">number_user_before</stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCPreProcessor>
          <hashTree/>
          <DebugPostProcessor guiclass="TestBeanGUI" testclass="DebugPostProcessor" testname="Debug PostProcessor" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySamplerProperties">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugPostProcessor>
          <hashTree/>
        </hashTree>
        <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC_With_Failing_PostProcessor" enabled="true">
          <stringProp name="dataSource">dbConfig</stringProp>
          <stringProp name="queryType">Prepared Update Statement</stringProp>
          <stringProp name="query">INSERT INTO USERS(title,author, submission_date) VALUES (?, ?, ?)</stringProp>
          <stringProp name="queryArguments">Mr,Leon Tolstoi,${__time(yyyy-MM-dd,)}</stringProp>
          <stringProp name="queryArgumentsTypes">VARCHAR,VARCHAR,DATE</stringProp>
          <stringProp name="variableNames"></stringProp>
          <stringProp name="resultVariable"></stringProp>
          <stringProp name="queryTimeout"></stringProp>
          <stringProp name="resultSetHandler">Store as String</stringProp>
          <stringProp name="resultSetMaxRows"></stringProp>
        </JDBCSampler>
        <hashTree>
          <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
            <collectionProp name="Asserion.test_strings">
              <stringProp name="1329970139">1 updates</stringProp>
            </collectionProp>
            <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
            <boolProp name="Assertion.assume_success">false</boolProp>
            <intProp name="Assertion.test_type">16</intProp>
            <stringProp name="Assertion.custom_message"></stringProp>
          </ResponseAssertion>
          <hashTree/>
          <JDBCPostProcessor guiclass="TestBeanGUI" testclass="JDBCPostProcessor" testname="JDBC PostProcessor" enabled="true">
            <stringProp name="dataSource">dbConfig</stringProp>
            <stringProp name="query">select count(1) as number_user USERS</stringProp>
            <stringProp name="queryArguments"></stringProp>
            <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
            <stringProp name="queryTimeout"></stringProp>
            <stringProp name="queryType">Select Statement</stringProp>
            <stringProp name="resultSetHandler">Store as String</stringProp>
            <stringProp name="resultVariable"></stringProp>
            <stringProp name="variableNames">number_user_after</stringProp>
            <stringProp name="resultSetMaxRows"></stringProp>
          </JDBCPostProcessor>
          <hashTree/>
          <DebugPostProcessor guiclass="TestBeanGUI" testclass="DebugPostProcessor" testname="Debug PostProcessor" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySamplerProperties">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugPostProcessor>
          <hashTree/>
        </hashTree>
      </hashTree>
      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
        <boolProp name="ResultCollector.error_logging">false</boolProp>
        <objProp>
          <name>saveConfig</name>
          <value class="SampleSaveConfiguration">
            <time>false</time>
            <latency>false</latency>
            <timestamp>false</timestamp>
            <success>true</success>
            <label>true</label>
            <code>true</code>
            <message>true</message>
            <threadName>true</threadName>
            <dataType>true</dataType>
            <encoding>false</encoding>
            <assertions>false</assertions>
            <subresults>false</subresults>
            <responseData>false</responseData>
            <samplerData>false</samplerData>
            <xml>false</xml>
            <fieldNames>true</fieldNames>
            <responseHeaders>false</responseHeaders>
            <requestHeaders>false</requestHeaders>
            <responseDataOnError>false</responseDataOnError>
            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
            <assertionsResultsToSave>0</assertionsResultsToSave>
            <threadCounts>true</threadCounts>
            <sampleCount>true</sampleCount>
          </value>
        </objProp>
        <stringProp name="filename">JDBC_TESTS.csv</stringProp>
      </ResultCollector>
      <hashTree/>
      <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Simple Data Writer" enabled="true">
        <boolProp name="ResultCollector.error_logging">false</boolProp>
        <objProp>
          <name>saveConfig</name>
          <value class="SampleSaveConfiguration">
            <time>false</time>
            <latency>false</latency>
            <timestamp>false</timestamp>
            <success>true</success>
            <label>true</label>
            <code>true</code>
            <message>true</message>
            <threadName>true</threadName>
            <dataType>true</dataType>
            <encoding>false</encoding>
            <assertions>true</assertions>
            <subresults>true</subresults>
            <responseData>false</responseData>
            <samplerData>false</samplerData>
            <xml>true</xml>
            <fieldNames>false</fieldNames>
            <responseHeaders>false</responseHeaders>
            <requestHeaders>false</requestHeaders>
            <responseDataOnError>false</responseDataOnError>
            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
            <assertionsResultsToSave>0</assertionsResultsToSave>
            <threadCounts>true</threadCounts>
            <sampleCount>true</sampleCount>
          </value>
        </objProp>
        <stringProp name="filename">JDBC_TESTS.xml</stringProp>
      </ResultCollector>
      <hashTree/>
    </hashTree>
  </hashTree>
</jmeterTestPlan>
