You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ee...@apache.org on 2010/02/26 00:32:00 UTC

svn commit: r916489 - /incubator/cassandra/trunk/test/system/test_avro_server.py

Author: eevans
Date: Thu Feb 25 23:31:59 2010
New Revision: 916489

URL: http://svn.apache.org/viewvc?rev=916489&view=rev
Log:
move common test operations into separate functions

Patch by eevans

Modified:
    incubator/cassandra/trunk/test/system/test_avro_server.py

Modified: incubator/cassandra/trunk/test/system/test_avro_server.py
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/system/test_avro_server.py?rev=916489&r1=916488&r2=916489&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/system/test_avro_server.py (original)
+++ incubator/cassandra/trunk/test/system/test_avro_server.py Thu Feb 25 23:31:59 2010
@@ -15,6 +15,8 @@
 # limitations under the License.
 
 from . import AvroTester
+from time import time
+from random import randint
 
 COLUMNS = [
     dict(name="c0", value="v0", timestamp=1L),
@@ -30,31 +32,52 @@
     dict(name="sc1", columns=COLUMNS[3:]),
 ]
 
+def _insert_column(client, column):
+    _insert_columns(client, [column])
+
+def _insert_columns(client, columns):
+    params = dict()
+    params['keyspace'] = 'Keyspace1'
+    params['key'] = 'key1'
+    params['column_path'] = dict(column_family='Standard1')
+    params['consistency_level'] = 'ONE'
+
+    for column in columns:
+        params['column_path']['column'] = column['name']
+        params['value'] = column['value']
+        params['timestamp'] = long(time())
+        client.request('insert', params)
+
+def _get_column(client, name):
+    params = dict()
+    params['keyspace'] = 'Keyspace1'
+    params['key'] = 'key1'
+    params['column_path'] = dict(column_family='Standard1', column=name)
+    params['consistency_level'] = 'ONE'
+    return client.request('get', params)
+
+def assert_columns_match(colA, colB):
+    assert colA['name'] == colB['name'], \
+            "column name mismatch: %s != %s" % (colA['name'], colB['name'])
+    assert colA['value'] == colB['value'], \
+            "column value mismatch: %s != %s" % (colA['value'], colB['value'])
+
+def random_column():
+    return COLUMNS[randint(0, len(COLUMNS)-1)]
+
+def random_supercolumn():
+    return SUPERCOLUMNS[randint(0, len(SUPERCOLUMNS)-1)]
+
 class TestMutations(AvroTester):
     def test_insert_and_get(self):
         "setting and getting a column"
-        params = dict()
-        params['keyspace'] = 'Keyspace1'
-        params['key'] = 'key1'
-        params['column_path'] = dict(column_family='Standard1', column='c1')
-        params['value'] = 'v1'
-        params['timestamp'] = 1L
-        params['consistency_level'] = 'ONE'
-
-        self.client.request('insert', params)
-
-        params = dict()
-        params['keyspace'] = 'Keyspace1'
-        params['key'] = 'key1'
-        params['column_path'] = dict(column_family='Standard1', column='c1')
-        params['consistency_level'] = 'ONE'
-
-        response = self.client.request('get', params)
-
-        assert isinstance(response, dict) and response.has_key('column') \
-                and response['column'].has_key('name')
-        assert response['column']['name'] == 'c1'
-        assert response['column']['value'] == 'v1'
+        column = random_column()
+        _insert_column(self.client, column)
+        result = _get_column(self.client, column['name'])
+
+        assert isinstance(result, dict) and result.has_key('column') \
+                and result['column'].has_key('name')
+        assert_columns_match(result['column'], column)
 
     def test_batch_insert(self):
         "performing a batch insert operation"