Пример #1
0
    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
Пример #2
0
    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)