fixing more where construction tests

This commit is contained in:
Blake Eggleston
2013-11-03 08:46:12 -08:00
parent 1dd5b50bd7
commit 3a5a09fe5a

View File

@@ -22,14 +22,14 @@ class TestQuerySetOperation(BaseCassEngTestCase):
assert len(query1._where) == 1
op = query1._where[0]
assert isinstance(op, operators.EqualsOperator)
assert isinstance(op.operator, operators.EqualsOperator)
assert op.value == 5
query2 = query1.filter(expected_result__gte=1)
assert len(query2._where) == 2
op = query2._where[1]
assert isinstance(op, operators.GreaterThanOrEqualOperator)
assert isinstance(op.operator, operators.GreaterThanOrEqualOperator)
assert op.value == 1
def test_query_expression_parsing(self):
@@ -59,8 +59,7 @@ class TestQuerySetOperation(BaseCassEngTestCase):
self.assertEqual(where.value, 5)
query2 = query1.filter(expected_result__gte=1)
where = query2._where
self.assertEqual(len(where), 2)
self.assertEqual(len(query2._where), 2)
where = query2._where[0]
self.assertEqual(where.field, 'test_id')
@@ -77,14 +76,23 @@ class TestQuerySetOperation(BaseCassEngTestCase):
Tests the where clause creation
"""
query1 = self.table.objects(self.table.column('test_id') == 5)
ids = [o.query_value.identifier for o in query1._where]
where = query1._where_clause()
assert where == '"test_id" = :{}'.format(*ids)
self.assertEqual(len(query1._where), 1)
where = query1._where[0]
self.assertEqual(where.field, 'test_id')
self.assertEqual(where.value, 5)
query2 = query1.filter(self.table.column('expected_result') >= 1)
ids = [o.query_value.identifier for o in query2._where]
where = query2._where_clause()
assert where == '"test_id" = :{} AND "expected_result" >= :{}'.format(*ids)
self.assertEqual(len(query2._where), 2)
where = query2._where[0]
self.assertEqual(where.field, 'test_id')
self.assertIsInstance(where.operator, EqualsOperator)
self.assertEqual(where.value, 5)
where = query2._where[1]
self.assertEqual(where.field, 'expected_result')
self.assertIsInstance(where.operator, GreaterThanOrEqualOperator)
self.assertEqual(where.value, 1)
class TestQuerySetCountSelectionAndIteration(BaseQuerySetUsage):
@@ -99,7 +107,6 @@ class TestQuerySetCountSelectionAndIteration(BaseQuerySetUsage):
cls.keyspace = NamedKeyspace(ks)
cls.table = cls.keyspace.table(tn)
def test_count(self):
""" Tests that adding filtering statements affects the count query as expected """
assert self.table.objects.count() == 12