testfunc/test/test_windmill.py
author Aurelien Campeas <aurelien.campeas@logilab.fr>
Tue, 19 Mar 2013 15:18:22 +0100 (2013-03-19)
changeset 8735 5567a5117aeb
parent 7363 2293c49b290a
permissions -rw-r--r--
[entity] ensure the .related(entities=False) parameter is honored all the way down (closes #2755994) As of today, such a call will always fill the relation cache by calling .entities() on every single related rset entry. As a consequence, the `limit` parameter handling also had to be fixed. It was bogus in the following ways: * not used in the related_rql, hence potentially huge database requests, but also actually * foolishly used in the .entities()-calling cache routine we now bypass (this changeset ticket's main topic) Now: * we set a limit on the rql expression, and * forbid caching if given a non-None limit (as we don't want to make the cache handling code more complicated than it is already) With this, entity.unrelated gets a better limit implementation (so the code in related/unrelated is nice and symmetric) Risk: * _cw_relation_cache disappears completely, which is good, but this is Python, so you never know ...
# Run all scenarii found in windmill directory
from os.path import join, dirname
from cubicweb.devtools.cwwindmill import (CubicWebWindmillUseCase,
                                          unittest_main)

class CubicWebWindmillUseCase(CubicWebWindmillUseCase):
    #test_dir = join(dirname(__file__), "windmill/test_edit_relation.py")
    pass


if __name__ == '__main__':
    unittest_main()