Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Stubs and tests minor cleanup
  • Loading branch information
thobbs committed Feb 4, 2014
1 parent 7fbb698 commit 6ce8d7c
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 25 deletions.
19 changes: 7 additions & 12 deletions pycassa/contrib/stubs.py
Expand Up @@ -7,7 +7,6 @@
"""

import operator
import datetime
from uuid import UUID

from collections import MutableMapping
Expand Down Expand Up @@ -52,6 +51,7 @@ def __len__(self):
LTE: operator.le,
}


class ConnectionPoolStub(object):
"""Connection pool stub.
Expand Down Expand Up @@ -112,7 +112,7 @@ def describe_schema_versions(self):

return {self._schema(): ['1.1.1.1']}


class ColumnFamilyStub(object):
"""Functional ColumnFamily stub object.
Expand Down Expand Up @@ -150,21 +150,18 @@ def get(self, key, columns=None, column_start=None, column_finish=None,
if not my_columns:
raise NotFoundException()


items = my_columns.items()
if isinstance(items[0], UUID) and items[0].version==1:
if isinstance(items[0], UUID) and items[0].version == 1:
items.sort(key=lambda uuid: uuid.time)
elif isinstance(items[0], tuple) and any([isinstance(x, UUID) for x in items[0]]):
isuid = [isinstance(x, UUID) and x.version==1 for x in items[0]]
elif isinstance(items[0], tuple) and any(isinstance(x, UUID) for x in items[0]):
are_components_uuids = [isinstance(x, UUID) and x.version == 1 for x in items[0]]

def sortuuid(tup):
return [x.time if y else x for x, y in zip(tup, isuid)]
return [x.time if is_uuid else x for x, is_uuid in zip(tup, are_components_uuids)]
items.sort(key=sortuuid)
else:
items.sort()




if column_reversed:
items.reverse()

Expand All @@ -182,7 +179,6 @@ def _is_column_in_range(self, k, columns, column_start, column_finish, column_re
return k in columns
return (not lower_bound or k >= lower_bound) and (not upper_bound or k <= upper_bound)


def multiget(self, keys, columns=None, column_start=None, column_finish=None,
column_reversed=False, column_count=100, include_timestamp=False, **kwargs):
"""Get multiple key values from the column family stub."""
Expand Down Expand Up @@ -248,7 +244,6 @@ def remove(self, key, columns=None):
del self.rows[key]
return gm_timestamp()


def get_range(self, include_timestamp=False, columns=None, **kwargs):
"""Currently just gets all values from the column family."""

Expand Down
22 changes: 9 additions & 13 deletions tests/contrib/stubs.py
Expand Up @@ -4,15 +4,12 @@
from nose.tools import assert_raises, assert_equal, assert_true

from pycassa import index, ColumnFamily, ConnectionPool,\
NotFoundException, SystemManager
NotFoundException
from pycassa.contrib.stubs import ColumnFamilyStub, ConnectionPoolStub
from pycassa.util import convert_time_to_uuid

from pycassa.contrib.stubs import ColumnFamilyStub, ConnectionPoolStub, \
SystemManagerStub

from pycassa.util import OrderedDict, convert_time_to_uuid

pool = cf = None
pool_stub = cf_stub = None
pool = cf = indexed_cf = None
pool_stub = cf_stub = indexed_cf_stub = None


def setup_module():
Expand Down Expand Up @@ -76,7 +73,7 @@ def test_insert_get_column_start_and_finish_reversed(self):
assert_raises(NotFoundException, test_cf.get, key)
ts = test_cf.insert(key, columns)
assert_true(isinstance(ts, (int, long)))
row = test_cf.get(key, column_reversed=True)
test_cf.get(key, column_reversed=True)

def test_insert_get_column_start_and_finish(self):
key = 'TestColumnFamily.test_insert_get_column_start_and_finish'
Expand Down Expand Up @@ -113,7 +110,7 @@ def test_insert_get_default_column_count(self):

for test_cf in (cf, cf_stub):
assert_raises(NotFoundException, test_cf.get, key)
ts = test_cf.insert(key, dict(key_value for key_value in keys_and_values))
test_cf.insert(key, dict(key_value for key_value in keys_and_values))
assert_equal(test_cf.get(key), dict([key_value for key_value in keys_and_values][:100]))

def test_insert_multiget(self):
Expand Down Expand Up @@ -231,11 +228,10 @@ def test_remove(self):

def test_insert_get_tuuids(self):
key = 'TestColumnFamily.test_insert_get'
columns = ( (convert_time_to_uuid(time.time()-1000, randomize=True), 'val1'),
(convert_time_to_uuid(time.time(), randomize=True), 'val2') )
columns = ((convert_time_to_uuid(time.time() - 1000, randomize=True), 'val1'),
(convert_time_to_uuid(time.time(), randomize=True), 'val2'))
for test_cf in (cf, cf_stub):
assert_raises(NotFoundException, test_cf.get, key)
ts = test_cf.insert(key, dict(columns))
assert_true(isinstance(ts, (int, long)))
assert_equal(test_cf.get(key).keys(), [x[0] for x in columns])

0 comments on commit 6ce8d7c

Please sign in to comment.