server/test/unittest_rql2sql.py
changeset 2720 405c09e7df6e
parent 2642 2d30de60a8ff
child 2915 651bbe1526b6
equal deleted inserted replaced
2719:6df328b47361 2720:405c09e7df6e
  1117 FROM is_relation AS rel_is0
  1117 FROM is_relation AS rel_is0
  1118 WHERE rel_is0.eid_to=2'''),
  1118 WHERE rel_is0.eid_to=2'''),
  1119 
  1119 
  1120     ]
  1120     ]
  1121 from logilab.common.adbh import ADV_FUNC_HELPER_DIRECTORY
  1121 from logilab.common.adbh import ADV_FUNC_HELPER_DIRECTORY
       
  1122 
       
  1123 class CWRQLTC(RQLGeneratorTC):
       
  1124     schema = schema
       
  1125 
       
  1126     def test_nonregr_sol(self):
       
  1127         delete = self.rqlhelper.parse(
       
  1128             'DELETE X read_permission READ_PERMISSIONSUBJECT,X add_permission ADD_PERMISSIONSUBJECT,'
       
  1129             'X in_basket IN_BASKETSUBJECT,X delete_permission DELETE_PERMISSIONSUBJECT,'
       
  1130             'X initial_state INITIAL_STATESUBJECT,X update_permission UPDATE_PERMISSIONSUBJECT,'
       
  1131             'X created_by CREATED_BYSUBJECT,X is ISSUBJECT,X is_instance_of IS_INSTANCE_OFSUBJECT,'
       
  1132             'X owned_by OWNED_BYSUBJECT,X specializes SPECIALIZESSUBJECT,ISOBJECT is X,'
       
  1133             'SPECIALIZESOBJECT specializes X,STATE_OFOBJECT state_of X,IS_INSTANCE_OFOBJECT is_instance_of X,'
       
  1134             'TO_ENTITYOBJECT to_entity X,TRANSITION_OFOBJECT transition_of X,FROM_ENTITYOBJECT from_entity X '
       
  1135             'WHERE X is CWEType')
       
  1136         self.rqlhelper.compute_solutions(delete)
       
  1137         def var_sols(var):
       
  1138             s = set()
       
  1139             for sol in delete.solutions:
       
  1140                 s.add(sol.get(var))
       
  1141             return s
       
  1142         self.assertEquals(var_sols('FROM_ENTITYOBJECT'), set(('CWAttribute', 'CWRelation')))
       
  1143         self.assertEquals(var_sols('FROM_ENTITYOBJECT'), delete.defined_vars['FROM_ENTITYOBJECT'].stinfo['possibletypes'])
       
  1144         self.assertEquals(var_sols('ISOBJECT'),
       
  1145                           set(x.type for x in self.schema.entities() if not x.is_final()))
       
  1146         self.assertEquals(var_sols('ISOBJECT'), delete.defined_vars['ISOBJECT'].stinfo['possibletypes'])
       
  1147 
  1122 
  1148 
  1123 class PostgresSQLGeneratorTC(RQLGeneratorTC):
  1149 class PostgresSQLGeneratorTC(RQLGeneratorTC):
  1124     schema = schema
  1150     schema = schema
  1125 
  1151 
  1126     #capture = True
  1152     #capture = True