139 ppi = PartPlanInformation(plan, union.children[0]) |
139 ppi = PartPlanInformation(plan, union.children[0]) |
140 for sourcevars in ppi._sourcesterms.itervalues(): |
140 for sourcevars in ppi._sourcesterms.itervalues(): |
141 for var in sourcevars.keys(): |
141 for var in sourcevars.keys(): |
142 solindices = sourcevars.pop(var) |
142 solindices = sourcevars.pop(var) |
143 sourcevars[var._ms_table_key()] = solindices |
143 sourcevars[var._ms_table_key()] = solindices |
144 self.assertEquals(ppi._sourcesterms, sourcesterms) |
144 self.assertEqual(ppi._sourcesterms, sourcesterms) |
145 self.assertEquals(ppi.needsplit, needsplit) |
145 self.assertEqual(ppi.needsplit, needsplit) |
146 |
146 |
147 |
147 |
148 def test_simple_system_only(self): |
148 def test_simple_system_only(self): |
149 """retrieve entities only supported by the system source""" |
149 """retrieve entities only supported by the system source""" |
150 self._test('CWGroup X', |
150 self._test('CWGroup X', |
2030 # |
2030 # |
2031 # IMO this is normal, unless we introduce a special case for the |
2031 # IMO this is normal, unless we introduce a special case for the |
2032 # identity relation. BUT I think it's better to leave it as is and to |
2032 # identity relation. BUT I think it's better to leave it as is and to |
2033 # explain constraint propagation rules, and so why this should be |
2033 # explain constraint propagation rules, and so why this should be |
2034 # wrapped in exists() if used in multi-source |
2034 # wrapped in exists() if used in multi-source |
2035 self.skip('take a look at me if you wish') |
2035 self.skipTest('take a look at me if you wish') |
2036 self._test('Any B,U,UL GROUPBY B,U,UL WHERE B created_by U?, B is File ' |
2036 self._test('Any B,U,UL GROUPBY B,U,UL WHERE B created_by U?, B is File ' |
2037 'WITH U,UL BEING (Any U,UL WHERE ME eid %(x)s, (U identity ME ' |
2037 'WITH U,UL BEING (Any U,UL WHERE ME eid %(x)s, (U identity ME ' |
2038 'OR (EXISTS(U in_group G, G name IN("managers", "staff")))) ' |
2038 'OR (EXISTS(U in_group G, G name IN("managers", "staff")))) ' |
2039 'OR (EXISTS(U in_group H, ME in_group H, NOT H name "users")), U login UL, U is CWUser)', |
2039 'OR (EXISTS(U in_group H, ME in_group H, NOT H name "users")), U login UL, U is CWUser)', |
2040 [('FetchStep', [('Any U,UL WHERE U login UL, U is CWUser', |
2040 [('FetchStep', [('Any U,UL WHERE U login UL, U is CWUser', |