[devtools] Re-implement generative tests using subtests
Generative tests as implemented in logilab.common.testib are not compatible
with tests runner other than lgc.pytest and this implementation differs from
the standard library, which has support for subtests_ since Python 3.4. Use
unittest2 to bridge the gap.
Maybe it'd be good to implement this on logilab.common.testlib side at some
point. Let's see how this gets received here first.
.. _subtests: https://docs.python.org/3/library/unittest.html#subtests
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')