devtools/webtest.py
author Julien Cristau <julien.cristau@logilab.fr>
Thu, 19 Nov 2015 15:56:22 +0100
changeset 10844 f3007bbd77e9
parent 9930 d20c2b262f55
child 11016 d04703f54510
permissions -rw-r--r--
[server/ldap] deal with unicode or str coming out of ldap It seems we can get either, I've no idea in which exact circumstances, so this should let us work with both.

from __future__ import absolute_import

import webtest

from cubicweb.wsgi import handler
from cubicweb.devtools.testlib import CubicWebTC


class CubicWebTestTC(CubicWebTC):
    @classmethod
    def init_config(cls, config):
        super(CubicWebTestTC, cls).init_config(config)
        config.global_set_option('base-url', 'http://localhost.local/')

    def setUp(self):
        super(CubicWebTestTC, self).setUp()
        webapp = handler.CubicWebWSGIApplication(self.config)
        self.webapp = webtest.TestApp(webapp)

    def tearDown(self):
        del self.webapp
        super(CubicWebTestTC, self).tearDown()

    def login(self, user=None, password=None, **args):
        if user is None:
            user = self.admlogin
        if password is None:
            password = self.admpassword if user == self.admlogin else user
        args.update({
            '__login': user,
            '__password': password
        })
        return self.webapp.get('/login', args)

    def logout(self):
        return self.webapp.get('/logout')