def test(self): self.connection.expect._call_.withArguments( self.ActionChecker( "Query", { "TableName": "Table", "KeyConditions": {"h": {"ComparisonOperator": "EQ", "AttributeValueList": [{"N": "0"}]}} } ) ).andReturn( _lv.QueryResponse( Items=[{"h": {"N": "0"}, "r": {"S": "foo"}}, {"h": {"N": "0"}, "r": {"S": "bar"}}], LastEvaluatedKey={"h": {"N": "0"}, "r": {"S": "bar"}}, ) ) self.connection.expect._call_.withArguments( self.ActionChecker( "Query", { "TableName": "Table", "KeyConditions": {"h": {"ComparisonOperator": "EQ", "AttributeValueList": [{"N": "0"}]}}, "ExclusiveStartKey": {"h": {"N": "0"}, "r": {"S": "bar"}}, } ) ).andReturn( _lv.QueryResponse( Items=[{"h": {"N": "0"}, "r": {"S": "baz"}}], ) ) self.assertEqual( list(iterate_query(self.connection.object, _lv.Query("Table").key_eq("h", 0))), [{'h': 0, 'r': 'foo'}, {'h': 0, 'r': 'bar'}, {'h': 0, 'r': 'baz'}] )
def test_simple_query(self): r = self.connection(_lv.Query("Aaa").key_eq("h", "1")) self.assertEqual(r.count, 1) self.assertEqual(r.items[0], {"h": "1", "r": 42, "v": 2}) self.assertEqual(r.last_evaluated_key, None) self.assertEqual(r.scanned_count, 1)
def test_return_consumed_capacity_total(self): r = self.connection( _lv.Query(self.table).key_eq("tab_h", "0").return_consumed_capacity_total()) self.assertEqual(r.consumed_capacity.capacity_units, 0.5) self.assertEqual(r.consumed_capacity.global_secondary_indexes, None) self.assertEqual(r.consumed_capacity.local_secondary_indexes, None) self.assertEqual(r.consumed_capacity.table, None) self.assertEqual(r.consumed_capacity.table_name, self.table)
def test_complex_query(self): r = self.connection( _lv.Query("Aaa").key_eq("h", "0").key_between( "r", 42, 44).scan_index_forward_false().project( "r", "v").filter_expression("#p<>:v").expression_attribute_name( "p", "v").expression_attribute_value("v", 2).limit(2)) self.assertEqual(r.count, 1) self.assertEqual(r.items[0], {"r": 44, "v": 3}) self.assertEqual(r.last_evaluated_key, {"h": "0", "r": 43}) self.assertEqual(r.scanned_count, 2)
def test_simple_query(self): self.assertEqual( sorted(item["r"] for item in _lv.iterate_query(self.connection, _lv.Query("Aaa").key_eq("h", "0"))), self.keys )