devtools/testlib.py
changeset 5121 a63d7886fcf5
parent 5082 d6fd82a5a4e8
parent 5102 04c84959cd85
child 5159 2543cfa5d54a
equal deleted inserted replaced
5082:d6fd82a5a4e8 5121:a63d7886fcf5
    12 import os
    12 import os
    13 import sys
    13 import sys
    14 import re
    14 import re
    15 from urllib import unquote
    15 from urllib import unquote
    16 from math import log
    16 from math import log
       
    17 from contextlib import contextmanager
    17 
    18 
    18 import simplejson
    19 import simplejson
    19 
    20 
    20 import yams.schema
    21 import yams.schema
    21 
    22 
   354 
   355 
   355     # other utilities #########################################################
   356     # other utilities #########################################################
   356 
   357 
   357     def entity(self, rql, args=None, eidkey=None, req=None):
   358     def entity(self, rql, args=None, eidkey=None, req=None):
   358         return self.execute(rql, args, eidkey, req=req).get_entity(0, 0)
   359         return self.execute(rql, args, eidkey, req=req).get_entity(0, 0)
       
   360 
       
   361     @contextmanager
       
   362     def temporary_appobjects(self, *appobjects):
       
   363         self.vreg._loadedmods.setdefault(self.__module__, {})
       
   364         for obj in appobjects:
       
   365             self.vreg.register(obj)
       
   366         yield
       
   367         for obj in appobjects:
       
   368             self.vreg.unregister(obj)
   359 
   369 
   360     # vregistry inspection utilities ###########################################
   370     # vregistry inspection utilities ###########################################
   361 
   371 
   362     def pviews(self, req, rset):
   372     def pviews(self, req, rset):
   363         return sorted((a.__regid__, a.__class__)
   373         return sorted((a.__regid__, a.__class__)