Author: [email protected]
Date: Thu Feb 24 15:58:50 2011
New Revision: 843
Log:
[AMDATU-318] Cassandra PM Unit tests refactored to run as a single test. With
multiple tests, the previous daemon might still be running when the second test
starts and there is no way you can shutdown a Cassandra daemon.
Modified:
branches/0.2/amdatu-cassandra/cassandra-persistencemanager/pom.xml
branches/0.2/amdatu-cassandra/cassandra-persistencemanager/src/test/java/org/amdatu/cassandra/persistencemanager/PersistenceManagerTest.java
branches/0.2/amdatu-cassandra/cassandra-persistencemanager/src/test/java/org/amdatu/cassandra/persistencemanager/mock/CassandraDaemonMock.java
Modified: branches/0.2/amdatu-cassandra/cassandra-persistencemanager/pom.xml
==============================================================================
--- branches/0.2/amdatu-cassandra/cassandra-persistencemanager/pom.xml
(original)
+++ branches/0.2/amdatu-cassandra/cassandra-persistencemanager/pom.xml Thu Feb
24 15:58:50 2011
@@ -48,15 +48,6 @@
<build>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <forkMode>pertest</forkMode>
- <argLine>-enableassertions</argLine>
- </configuration>
- </plugin>
- <plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
Modified:
branches/0.2/amdatu-cassandra/cassandra-persistencemanager/src/test/java/org/amdatu/cassandra/persistencemanager/PersistenceManagerTest.java
==============================================================================
---
branches/0.2/amdatu-cassandra/cassandra-persistencemanager/src/test/java/org/amdatu/cassandra/persistencemanager/PersistenceManagerTest.java
(original)
+++
branches/0.2/amdatu-cassandra/cassandra-persistencemanager/src/test/java/org/amdatu/cassandra/persistencemanager/PersistenceManagerTest.java
Thu Feb 24 15:58:50 2011
@@ -92,52 +92,40 @@
m_daemon.addColumnFamily(TEST_KEYSPACE_THRIFT,
TEST_STANDARD_CF, "Standard", "BytesType", null);
}
- private void stopDaemon() throws Exception {
- m_daemon.dropKeyspace(TEST_KEYSPACE_HECTOR);
- m_daemon.dropKeyspace(TEST_KEYSPACE_THRIFT);
-
- Thread stopThread = m_daemon.new
CassandraDaemonStopThread(m_daemon.getDaemon());
- stopThread.setDaemon(true);
- stopThread.start();
- stopThread.join();
- }
-
- @Test
- public void testGetRowKeys() throws Exception {
- LOG.info("testGetRowKeys started");
- startDaemon();
-
- try {
- // Remove all rows first
- deleteAllRows(TEST_SUPER_CF);
- deleteAllRows(TEST_STANDARD_CF);
-
- testGetRowKeys(TEST_SUPER_CF, true, true);
- testGetRowKeys(TEST_SUPER_CF, true, false);
- testGetRowKeys(TEST_STANDARD_CF, false, true);
- testGetRowKeys(TEST_STANDARD_CF, false, false);
- } finally {
- stopDaemon();
- }
- LOG.info("testGetRowKeys finished");
- }
-
+ /**
+ * We run all tests in a single execution since Cassandra does not
support shutdown. So when a second
+ * test will be executed and a new daemon is spawned, it may fail to
startup as the previous daemon
+ * is still running (on the same hostname/port).
+ * @throws Exception
+ */
@Test
- public void testHectorObjectTypes() throws Exception {
- LOG.info("testHectorObjectTypes started");
+ public void testAll() throws Exception {
+ LOG.info("Starting unit tests");
startDaemon();
- try {
- // Remove all rows first
- deleteAllRows(TEST_SUPER_CF);
- deleteAllRows(TEST_STANDARD_CF);
-
- testValueTypes(TEST_SUPER_CF, true);
- testValueTypes(TEST_STANDARD_CF, false);
- } finally {
- stopDaemon();
- }
- LOG.info("testHectorObjectTypes finished");
+ // Remove all rows first
+ deleteAllRows(TEST_SUPER_CF);
+ deleteAllRows(TEST_STANDARD_CF);
+
+ // Test retrieving row keys
+ testGetRowKeys(TEST_SUPER_CF, true, true);
+ testGetRowKeys(TEST_SUPER_CF, true, false);
+ testGetRowKeys(TEST_STANDARD_CF, false, true);
+ testGetRowKeys(TEST_STANDARD_CF, false, false);
+
+ // Remove all rows first
+ deleteAllRows(TEST_SUPER_CF);
+ deleteAllRows(TEST_STANDARD_CF);
+
+ // Test object types in Hector
+ testValueTypes(TEST_SUPER_CF, true);
+ testValueTypes(TEST_STANDARD_CF, false);
+
+ // Drop the keyspaces we created
+ m_daemon.dropKeyspace(TEST_KEYSPACE_HECTOR);
+ m_daemon.dropKeyspace(TEST_KEYSPACE_THRIFT);
+
+ LOG.info("Unit tests finished");
}
private void testValueTypes(String cf, boolean isSuper) throws
CassandraException, UnsupportedEncodingException {
Modified:
branches/0.2/amdatu-cassandra/cassandra-persistencemanager/src/test/java/org/amdatu/cassandra/persistencemanager/mock/CassandraDaemonMock.java
==============================================================================
---
branches/0.2/amdatu-cassandra/cassandra-persistencemanager/src/test/java/org/amdatu/cassandra/persistencemanager/mock/CassandraDaemonMock.java
(original)
+++
branches/0.2/amdatu-cassandra/cassandra-persistencemanager/src/test/java/org/amdatu/cassandra/persistencemanager/mock/CassandraDaemonMock.java
Thu Feb 24 15:58:50 2011
@@ -26,7 +26,6 @@
import org.amdatu.cassandra.application.CassandraDaemonService;
import org.apache.cassandra.db.Table;
-import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.thrift.CassandraDaemon;
import org.apache.cassandra.thrift.CassandraServer;
@@ -272,17 +271,4 @@
m_cassandraServer = new CassandraServer();
}
}
-
- public class CassandraDaemonStopThread extends Thread {
- private CassandraDaemon m_daemon;
-
- public CassandraDaemonStopThread(CassandraDaemon daemon) {
- m_daemon = daemon;
- }
-
- public void run() {
- m_cassandraServer = null;
- //m_daemon.stop();
- }
- }
}
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits