cubicweb/devtools/webtest.py
author Denis Laxalde <denis.laxalde@logilab.fr>
Tue, 02 Oct 2018 16:04:52 +0200
branch3.26
changeset 12352 1a0159426def
parent 11057 0b59724cb3f2
permissions -rw-r--r--
[doc] Do not rely on lgc's sphinx_ext This module is broken (getting an ImportError) and I don't want to fix it. The only usage we make of it is for the "autodocstring" directive, and I don't know what it does. Based on the context, replacing autodocstring with either automodule or autoclass and removing sphinx_ext from required Sphinx extensions.

from __future__ import absolute_import

import webtest

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


class CubicWebTestTC(CubicWebTC):
    def setUp(self):
        super(CubicWebTestTC, self).setUp()
        self.config.global_set_option('base-url', 'http://localhost.local/')
        # call load_configuration again to let the config reset its datadir_url
        self.config.load_configuration()
        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')