Author: ivol
Date: Fri Oct 22 09:20:40 2010
New Revision: 204
Log:
AMDATU-110 Improved integration test to drop keyspaces after running, this
ensures that running the integration test a second time without 'clean' will
also succeed
Modified:
trunk/integration-tests/src/test/java/org/amdatu/test/integration/tests/CassandraDaemonIntegrationTest.java
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/CassandraDaemonService.java
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/service/CassandraConfigurationServiceImpl.java
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/service/CassandraDaemonServiceImpl.java
Modified:
trunk/integration-tests/src/test/java/org/amdatu/test/integration/tests/CassandraDaemonIntegrationTest.java
==============================================================================
---
trunk/integration-tests/src/test/java/org/amdatu/test/integration/tests/CassandraDaemonIntegrationTest.java
(original)
+++
trunk/integration-tests/src/test/java/org/amdatu/test/integration/tests/CassandraDaemonIntegrationTest.java
Fri Oct 22 09:20:40 2010
@@ -107,5 +107,10 @@
Assert.assertTrue(allColumnFamilies.contains(COLUMNFAMILY.toUpperCase()));
Assert.assertTrue("Expected available ColumnFamily's = 3, but actual =
"
+ allColumnFamilies.size(), allColumnFamilies.size() == 3);
+
+ // -3- Clean up our keyspaces.
+ m_daemonService.dropKeyspace(KEYSPACE);
+ m_daemonService.dropKeyspace(KEYSPACE.toLowerCase());
+ m_daemonService.dropKeyspace(KEYSPACE.toUpperCase());
}
}
Modified:
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/CassandraDaemonService.java
==============================================================================
---
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/CassandraDaemonService.java
(original)
+++
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/CassandraDaemonService.java
Fri Oct 22 09:20:40 2010
@@ -68,6 +68,15 @@
* @throws TException In case an error occurred while adding the keyspace
*/
void addKeyspace(String name) throws InvalidRequestException, TException;
+
+ /**
+ * Drops the keyspace with the specified name. All data (i.e.
ColumnFamily's) contained
+ * by the keyspace are also removed. Note that keyspace names are case
sensitive.
+ * @param keyspace Name of the keyspace to remove.
+ * @throws InvalidRequestException In case no keyspace with the specified
name exists
+ * @throws TException In case an error occurred while removing the keyspace
+ */
+ void dropKeyspace(String keyspace) throws InvalidRequestException,
TException;
/**
* Returns a list of all available ColumnFamily's in the specified
keyspace. Note that
Modified:
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/service/CassandraConfigurationServiceImpl.java
==============================================================================
---
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/service/CassandraConfigurationServiceImpl.java
(original)
+++
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/service/CassandraConfigurationServiceImpl.java
Fri Oct 22 09:20:40 2010
@@ -92,6 +92,7 @@
m_logService.log(LogService.LOG_DEBUG, "Cassandra configuration
preparation completed");
}
+ @SuppressWarnings("unchecked")
public void updated(Dictionary dictionary) throws ConfigurationException {
if (dictionary != null) {
if (dictionary.get(CONFIG_WORKDIR) == null) {
Modified:
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/service/CassandraDaemonServiceImpl.java
==============================================================================
---
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/service/CassandraDaemonServiceImpl.java
(original)
+++
trunk/platform-bundles/cassandra-application/src/main/java/org/amdatu/platform/cassandra/application/service/CassandraDaemonServiceImpl.java
Fri Oct 22 09:20:40 2010
@@ -120,6 +120,10 @@
KsDef ksDef = new KsDef(name, DEFAULT_PLACEMENT_STRATEGY, 1, empty);
m_cassandraServer.system_add_keyspace(ksDef);
}
+
+ public void dropKeyspace(String keyspace) throws InvalidRequestException,
TException {
+ m_cassandraServer.system_drop_keyspace(keyspace);
+ }
public boolean columnFamilyExists(String keyspaceName, String
columnFamilyName) throws NotFoundException {
KsDef ksDef = m_cassandraServer.describe_keyspace(keyspaceName);