Example #1
0
    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'}]
        )
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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
     )