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);

Reply via email to