def _get_namespaces(self, recurse=True): nsset = set() # Get all _namespaces for parent classes namespaces = [x._namespace for x in self.__class__.__mro__ if hasattr(x, '_namespace')] nsset.update([lookup_name(ns) for ns in namespaces]) #In case of recursive relationships, don't process this item twice self.touched = True if recurse: for x in self._get_children(): if not hasattr(x, 'touched'): nsset.update(x._get_namespaces()) del self.touched # Add any additional namespaces that may be included in the entity input_ns = self._ns_to_prefix_input_namespaces() for namespace, alias in input_ns.iteritems(): if not lookup_name(namespace): nsset.add(Namespace(namespace, alias, '')) return nsset
def test_type_exists(self): # Verify that the correct class has been added to the metadata lists. # Skip this base class if type(self) == type(ObjectTestCase): return t = self.__class__.object_type expected_class = get_class_for_object_type(t) actual_class = self.__class__.klass self.assertEqual(expected_class, actual_class) expected_namespace = expected_class._XSI_NS namespace = _OBJ_META.lookup_object(t).namespace actual_namespace = lookup_name(namespace).prefix self.assertEqual(expected_namespace, actual_namespace) self.assertEqual(expected_class._XSI_TYPE, t)