示例#1
0
 def test_has_next():
     foo = model.StringProperty("foo")
     query = query_module.QueryOptions(
         filters=query_module.OR(foo == "this", foo == "that")
     )
     iterator = _datastore_query._MultiQueryIteratorImpl(query)
     iterator.has_next_async = mock.Mock(
         return_value=utils.future_result("bar")
     )
     assert iterator.has_next() == "bar"
示例#2
0
    def test_get_query_in():
        class SomeKind(model.Model):
            prop1 = model.IntegerProperty()

        gql = gql_module.GQL("SELECT prop1 FROM SomeKind WHERE prop1 IN (1, 2, 3)")
        query = gql.get_query()
        assert query.filters == query_module.OR(
            query_module.FilterNode("prop1", "=", 1),
            query_module.FilterNode("prop1", "=", 2),
            query_module.FilterNode("prop1", "=", 3),
        )
 def test_constructor_sortable():
     foo = model.StringProperty("foo")
     query = query_module.QueryOptions(
         filters=query_module.OR(foo == "this", foo == "that"),
         order_by=["foo"],
     )
     iterator = _datastore_query._MultiQueryIteratorImpl(query)
     assert iterator._result_sets[0]._query == query_module.QueryOptions(
         filters=foo == "this", order_by=["foo"])
     assert iterator._result_sets[1]._query == query_module.QueryOptions(
         filters=foo == "that", order_by=["foo"])
     assert iterator._sortable
 def test_constructor():
     foo = model.StringProperty("foo")
     query = query_module.QueryOptions(
         offset=20,
         limit=10,
         filters=query_module.OR(foo == "this", foo == "that"),
     )
     iterator = _datastore_query._MultiQueryIteratorImpl(query)
     assert iterator._result_sets[0]._query == query_module.QueryOptions(
         filters=foo == "this")
     assert iterator._result_sets[1]._query == query_module.QueryOptions(
         filters=foo == "that")
     assert not iterator._sortable
     assert iterator._offset == 20
     assert iterator._limit == 10
示例#5
0
    def test_iterate_async_ordered_limit_and_offset():
        foo = model.StringProperty("foo")
        query = query_module.QueryOptions(
            offset=5,
            limit=4,
            filters=query_module.OR(foo == "this", foo == "that"),
        )
        iterator = _datastore_query._MultiQueryIteratorImpl(query)
        iterator._sortable = True
        iterator._result_sets = [
            MockResultSet(["a", "c", "e", "g", "i"]),
            MockResultSet(["a", "b", "d", "f", "h", "j"]),
        ]

        @tasklets.tasklet
        def iterate():
            results = []
            while (yield iterator.has_next_async()):
                results.append(iterator.next())
            raise tasklets.Return(results)

        assert iterate().result() == ["f", "g", "h", "i"]
 def test_iter():
     foo = model.StringProperty("foo")
     query = query_module.QueryOptions(
         filters=query_module.OR(foo == "this", foo == "that"))
     iterator = _datastore_query._MultiQueryIteratorImpl(query)
     assert iter(iterator) is iterator