cubicweb/pyramid/test/__init__.py
author Philippe Pepiot <philippe.pepiot@logilab.fr>
Fri, 28 Apr 2017 09:49:37 +0200
changeset 12183 af5d0a3c3f1a
parent 12088 477a59a45786
child 12593 c30f8dc81f22
permissions -rw-r--r--
[req] fix find() generating non-rewritable rql on non final relations When filtering on a relation, find() was generating rql like 'Any X WHERE X is ETYPE, X relation EID' which work without being rewritten (it should probably not), but when applying some rewrite (eg. permissions) it raise in rqlrewrite code. def _use_orig_term(self, snippet_varname, term): ... > self.rewritten[key] = term.name E AttributeError: 'Constant' object has no attribute 'name' Generate valid rql instead 'Any X WHERE X is ETYPE, X relation Y, Y eid EID'.

import webtest

from pyramid.config import Configurator
from cubicweb.devtools.webtest import CubicWebTestTC


class PyramidCWTest(CubicWebTestTC):
    settings = {}

    @classmethod
    def init_config(cls, config):
        super(PyramidCWTest, cls).init_config(config)
        config.global_set_option('anonymous-user', 'anon')

    def setUp(self):
        # Skip CubicWebTestTC setUp
        super(CubicWebTestTC, self).setUp()
        settings = {'cubicweb.bwcompat': False}
        settings.update(self.settings)
        config = Configurator(settings=settings)
        config.registry['cubicweb.repository'] = self.repo
        config.include('cubicweb.pyramid')
        self.includeme(config)
        self.pyr_registry = config.registry
        self.webapp = webtest.TestApp(
            config.make_wsgi_app(),
            extra_environ={'wsgi.url_scheme': 'https'})

    def includeme(self, config):
        pass