devtools/testlib.py
changeset 9630 e7dbc4f06a48
parent 9628 2997f81cde19
child 9631 c51a05b5dcb8
equal deleted inserted replaced
9629:8114bed10e78 9630:e7dbc4f06a48
   213             user.properties
   213             user.properties
   214             self._session = Session(user, repo)
   214             self._session = Session(user, repo)
   215             repo._sessions[self._session.sessionid] = self._session
   215             repo._sessions[self._session.sessionid] = self._session
   216             self._session.user._cw = self._session
   216             self._session.user._cw = self._session
   217 
   217 
   218     @ contextmanager
   218     @contextmanager
   219     def repo_cnx(self):
   219     def repo_cnx(self):
   220         """Context manager returning a server side connection for the user"""
   220         """Context manager returning a server side connection for the user"""
   221         with self._session.new_cnx() as cnx:
   221         with self._session.new_cnx() as cnx:
   222             yield cnx
   222             yield cnx
   223 
   223 
   224     @ contextmanager
   224     @contextmanager
   225     def client_cnx(self):
   225     def client_cnx(self):
   226         """Context manager returning a client side connection for the user"""
   226         """Context manager returning a client side connection for the user"""
   227         with repoapi.ClientConnection(self._session) as cnx:
   227         with repoapi.ClientConnection(self._session) as cnx:
   228             yield cnx
   228             yield cnx
   229 
   229 
   230     @ contextmanager
   230     @contextmanager
   231     def web_request(self, url=None, headers={}, method='GET', **kwargs):
   231     def web_request(self, url=None, headers={}, method='GET', **kwargs):
   232         """Context manager returning a web request pre-linked to a client cnx
   232         """Context manager returning a web request pre-linked to a client cnx
   233 
   233 
   234         To commit and rollback use::
   234         To commit and rollback use::
   235 
   235 
   285         self.repo = None
   285         self.repo = None
   286         self._open_access = set()
   286         self._open_access = set()
   287         super(CubicWebTC, self).__init__(*args, **kwargs)
   287         super(CubicWebTC, self).__init__(*args, **kwargs)
   288 
   288 
   289     # repository connection handling ###########################################
   289     # repository connection handling ###########################################
       
   290 
   290     def new_access(self, login):
   291     def new_access(self, login):
   291         """provide a new RepoAccess object for a given user
   292         """provide a new RepoAccess object for a given user
   292 
   293 
   293         The access is automatically closed at the end of the test."""
   294         The access is automatically closed at the end of the test."""
   294         access = RepoAccess(self.repo, login, self.requestcls)
   295         access = RepoAccess(self.repo, login, self.requestcls)