# HG changeset patch # User Julien Jehannet # Date 1288979482 -3600 # Node ID d9eac4fd57dc08ee30866ff698c361ab57e7d123 # Parent 65bd93b72f1ed013a1ba58200b273bfeaee0f1d3 [devtools] make migration handler easily available from CubicWebTC through .shell() method So we are able to use shell/migration helper methods directly from test cases. diff -r 65bd93b72f1e -r d9eac4fd57dc devtools/testlib.py --- a/devtools/testlib.py Fri Nov 12 13:47:26 2010 +0100 +++ b/devtools/testlib.py Fri Nov 05 18:51:22 2010 +0100 @@ -184,6 +184,7 @@ * `repo`, the repository object * `admlogin`, login of the admin user * `admpassword`, password of the admin user + * `shell`, create and use shell environment """ appid = 'data' configcls = devtools.ApptestConfiguration @@ -291,6 +292,14 @@ """return current server side session (using default manager account)""" return self.repo._sessions[self._orig_cnx[0].sessionid] + def shell(self): + """return a shell session object""" + from cubicweb.server.migractions import ServerMigrationHelper + return ServerMigrationHelper(None, repo=self.repo, cnx=self.cnx, + interactive=False, + # hack so it don't try to load fs schema + schema=1) + def set_option(self, optname, value): self.config.global_set_option(optname, value) @@ -663,7 +672,7 @@ def assertDocTestFile(self, testfile): # doctest returns tuple (failure_count, test_count) - result = self.shell.process_script(testfile) + result = self.shell().process_script(testfile) if result[0] and result[1]: raise self.failureException("doctest file '%s' failed" % testfile)