275 self.session.commit() |
275 self.session.commit() |
276 self.session.set_cnxset() |
276 self.session.set_cnxset() |
277 |
277 |
278 |
278 |
279 class BasePlannerTC(BaseQuerierTC): |
279 class BasePlannerTC(BaseQuerierTC): |
280 newsources = () |
|
281 |
280 |
282 def setup(self): |
281 def setup(self): |
283 clear_cache(self.repo, 'is_multi_sources_relation') |
|
284 # XXX source_defs |
282 # XXX source_defs |
285 self.o = self.repo.querier |
283 self.o = self.repo.querier |
286 self.session = self.repo._sessions.values()[0] |
284 self.session = self.repo._sessions.values()[0] |
287 self.cnxset = self.session.set_cnxset() |
285 self.cnxset = self.session.set_cnxset() |
288 self.schema = self.o.schema |
286 self.schema = self.o.schema |
289 self.sources = self.o._repo.sources |
287 self.system = self.repo.system_source |
290 self.system = self.sources[-1] |
|
291 do_monkey_patch() |
288 do_monkey_patch() |
292 self._dumb_sessions = [] # by hi-jacked parent setup |
289 self._dumb_sessions = [] # by hi-jacked parent setup |
293 self.repo.vreg.rqlhelper.backend = 'postgres' # so FTIRANK is considered |
290 self.repo.vreg.rqlhelper.backend = 'postgres' # so FTIRANK is considered |
294 self.newsources = [] |
|
295 |
|
296 def add_source(self, sourcecls, uri): |
|
297 source = sourcecls(self.repo, {'uri': uri, 'type': 'whatever'}) |
|
298 if not source.copy_based_source: |
|
299 self.sources.append(source) |
|
300 self.newsources.append(source) |
|
301 self.repo.sources_by_uri[uri] = source |
|
302 setattr(self, uri, source) |
|
303 |
291 |
304 def tearDown(self): |
292 def tearDown(self): |
305 for source in self.newsources: |
|
306 if not source.copy_based_source: |
|
307 self.sources.remove(source) |
|
308 del self.repo.sources_by_uri[source.uri] |
|
309 undo_monkey_patch() |
293 undo_monkey_patch() |
310 for session in self._dumb_sessions: |
294 for session in self._dumb_sessions: |
311 if session._cnx.cnxset is not None: |
295 if session._cnx.cnxset is not None: |
312 session._cnx.cnxset = None |
296 session._cnx.cnxset = None |
313 session.close() |
297 session.close() |