dev/null |binary modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/performance/test/AvailabilityInsertPurgeTest.java | 4 - modules/enterprise/server/jar/src/test/resources/perftest/AvailabilityInsertPurgeTest-testOne-data.xml.zip |binary modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/Importer.java | 24 ++++---- modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/testng/DatabaseSetupInterceptor.java | 28 ++++++---- 5 files changed, 32 insertions(+), 24 deletions(-)
New commits: commit b41d4dee1254e12dd2205595aa067c41b7e1dcae Author: Heiko W. Rupp hwr@redhat.com Date: Thu Sep 16 17:13:23 2010 +0200
Move the data .zip into the perftest/ directory, to make it more obvious what this is for. Use a JNDI based connection provider instead of a JDBC based one.
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/performance/test/AvailabilityInsertPurgeTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/performance/test/AvailabilityInsertPurgeTest.java index 2335887..327b659 100644 --- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/performance/test/AvailabilityInsertPurgeTest.java +++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/performance/test/AvailabilityInsertPurgeTest.java @@ -33,10 +33,10 @@ import org.testng.annotations.Test; */ @Test(groups = "PERF") @Listeners({ DatabaseSetupInterceptor.class }) -@JdbcConnectionProviderMethod("getConnection") //defined in AbstractEJB3Test +//@JdbcConnectionProviderMethod("getConnection") //defined in AbstractEJB3Test public class AvailabilityInsertPurgeTest extends AbstractEJB3PerformanceTest {
- @DatabaseState(url = "AvailabilityInsertPurgeTest-testOne-data.xml.zip") + @DatabaseState(url = "perftest/AvailabilityInsertPurgeTest-testOne-data.xml.zip") public void testOne() throws Exception { startTiming();
diff --git a/modules/enterprise/server/jar/src/test/resources/AvailabilityInsertPurgeTest-testOne-data.xml.zip b/modules/enterprise/server/jar/src/test/resources/AvailabilityInsertPurgeTest-testOne-data.xml.zip deleted file mode 100644 index 811c952..0000000 Binary files a/modules/enterprise/server/jar/src/test/resources/AvailabilityInsertPurgeTest-testOne-data.xml.zip and /dev/null differ diff --git a/modules/enterprise/server/jar/src/test/resources/perftest/AvailabilityInsertPurgeTest-testOne-data.xml.zip b/modules/enterprise/server/jar/src/test/resources/perftest/AvailabilityInsertPurgeTest-testOne-data.xml.zip new file mode 100644 index 0000000..811c952 Binary files /dev/null and b/modules/enterprise/server/jar/src/test/resources/perftest/AvailabilityInsertPurgeTest-testOne-data.xml.zip differ diff --git a/modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/Importer.java b/modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/Importer.java index 00724fe..44eb8f3 100644 --- a/modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/Importer.java +++ b/modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/Importer.java @@ -31,18 +31,18 @@ import org.rhq.helpers.perftest.support.dbunit.DbUnitUtil;
/** * Utility method to import the data previously produced by the {@link Exporter}. - * + * * @author Lukas Krejci */ public class Importer { - + private Importer() { - + } - + /** * Imports the data from the input into a database using the provided JDBC connection. - * + * * @param jdbcConnection * @param input * @throws Exception @@ -50,22 +50,22 @@ public class Importer { public static void run(Connection jdbcConnection, Input input) throws Exception { run(new DatabaseConnection(jdbcConnection), input); } - + public static void run(Properties settings, Input input) throws Exception { run(DbUnitUtil.getConnection(settings), input); } - - private static void run(IDatabaseConnection connection, Input input) throws Exception { + + public static void run(IDatabaseConnection connection, Input input) throws Exception { ReplacementDataSet dataSet = new ReplacementDataSet(new StreamingDataSet(input.getProducer())); dataSet.addReplacementObject(Settings.NULL_REPLACEMENT, null); - + DatabaseOperation.DELETE_ALL.execute(connection, dataSet);
input.close(); - + dataSet = new ReplacementDataSet(new StreamingDataSet(input.getProducer())); dataSet.addReplacementObject(Settings.NULL_REPLACEMENT, null); - - DatabaseOperation.INSERT.execute(connection, dataSet); + + DatabaseOperation.INSERT.execute(connection, dataSet); } } diff --git a/modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/testng/DatabaseSetupInterceptor.java b/modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/testng/DatabaseSetupInterceptor.java index 605caf6..4ff7700 100644 --- a/modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/testng/DatabaseSetupInterceptor.java +++ b/modules/helpers/perftest-support/src/main/java/org/rhq/helpers/perftest/support/testng/DatabaseSetupInterceptor.java @@ -29,6 +29,8 @@ import java.sql.Connection;
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.dbunit.database.DatabaseDataSourceConnection; +import org.dbunit.database.IDatabaseConnection; import org.rhq.helpers.perftest.support.FileFormat; import org.rhq.helpers.perftest.support.Importer; import org.rhq.helpers.perftest.support.Input; @@ -39,14 +41,16 @@ import org.testng.IInvokedMethod; import org.testng.IInvokedMethodListener; import org.testng.ITestResult;
+import javax.naming.InitialContext; + /** * An {@link IInvokedMethodListener method listener} that performs the database setup * for appropriately annotated test methods. - * To add database setup support to a test class, annotate the class with + * To add database setup support to a test class, annotate the class with * <code> * @Listeners({org.rhq.helpers.perftest.support.testng.DatabaseSetupInterceptor.class}) * </code> - * + * * @author Lukas Krejci */ public class DatabaseSetupInterceptor implements IInvokedMethodListener { @@ -55,24 +59,28 @@ public class DatabaseSetupInterceptor implements IInvokedMethodListener {
public void beforeInvocation(IInvokedMethod method, ITestResult testResult) { DatabaseState state = getRequiredDatabaseState(method); - + if (state == null) { return; } - - Method connectionProviderMethod = getConnectionProviderMethod(method, state); - + +// Method connectionProviderMethod = getConnectionProviderMethod(method, state); + try { InputStreamProvider streamProvider = getInputStreamProvider(state.url(), state.storage(), method); - Object classInstance = method.getTestMethod().getInstances()[0]; - Connection connection = (Connection) connectionProviderMethod.invoke(classInstance, (Object[]) null); +// Object classInstance = method.getTestMethod().getInstances()[0]; +// Connection connection = (Connection) connectionProviderMethod.invoke(classInstance, (Object[]) null); + IDatabaseConnection connection = new DatabaseDataSourceConnection(new InitialContext(), + "java:/RHQDS");
FileFormat format = state.format(); - - Input input = format.getInput(streamProvider); + + Input input = format.getInput(streamProvider);
try { +LOG.warn("--- 1") ; Importer.run(connection, input); +LOG.warn("--- 2"); } finally { input.close(); }