Ejemplo n.º 1
0
 def test_fails_to_format_classmethod_name(self):
     e_expected = AglyphError(
         "%r does not have an importable dotted name" %
             dummy.ModuleClass.classmethod_factory)
     assertRaisesWithMessage(
         self, e_expected, format_dotted_name,
         dummy.ModuleClass.classmethod_factory)
Ejemplo n.º 2
0
 def test_register_fails_on_nonimportable_object(self):
     builder = self._builder_type(
         _MockContext(), dummy.ModuleClass.NestedClass)
     e_expected = AglyphError(
         "%r does not have an importable dotted name" %
             dummy.ModuleClass.NestedClass)
     assertRaisesWithMessage(self, e_expected, builder.register)
Ejemplo n.º 3
0
 def test_unique_id_cannot_be_empty(self):
     # use __class__ so test is reusable for Template & Component
     e_expected = ValueError(
         "%s unique ID must not be None or empty" %
             name_of(self._support.__class__))
     assertRaisesWithMessage(
         self, e_expected, self._support.__class__, "")
Ejemplo n.º 4
0
 def test_fails_to_format_property_name(self):
     # property doesn't have __module__, __qualname__, or __name__
     e_expected = AglyphError(
         "%r does not have an importable dotted name" %
             dummy.ModuleClass.prop)
     assertRaisesWithMessage(
         self, e_expected, format_dotted_name, dummy.ModuleClass.prop)
Ejemplo n.º 5
0
 def test_staticmethod(self):
     e_expected = AglyphError(
         "%r does not have an importable dotted name" %
             dummy.ModuleClass.staticmethod_factory)
     assertRaisesWithMessage(
         self, e_expected, Reference,
         dummy.ModuleClass.staticmethod_factory)
Ejemplo n.º 6
0
 def test_rejects_unrecognized_strategy(self):
     e_expected = ValueError(
         "unrecognized assembly strategy 'unrecognized'")
     assertRaisesWithMessage(self,
                             e_expected,
                             Component,
                             "test",
                             strategy="unrecognized")
Ejemplo n.º 7
0
 def test_factory_name_and_member_name_are_mutually_exclusive(self):
     e_expected = AglyphError(
         "only one of factory_name or member_name may be specified")
     assertRaisesWithMessage(self,
                             e_expected,
                             Component,
                             "test",
                             factory_name="factory",
                             member_name="member")
Ejemplo n.º 8
0
 def test_context_id_cannot_be_empty(self):
     e_expected = AglyphError(
         "%s ID must not be None or empty" %
             name_of(self._context.__class__))
     assertRaisesWithMessage(self, e_expected, self._context.__class__, "")
Ejemplo n.º 9
0
 def test_template_id_is_required(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = ValueError("Template unique ID must not be None or empty")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 10
0
 def test_attribute_rejects_multiple_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "<attribute> must contain exactly one child element; "
         "found attribute/str, attribute/int")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 11
0
 def test_fails_to_identify_instance(self):
     # instance doesn't have __qualname__ or __name__
     instance = dummy.ModuleClass(None)
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              instance)
     assertRaisesWithMessage(self, e_expected, _identify, instance)
Ejemplo n.º 12
0
 def test_nonimportable_function(self):
     nested_function = dummy.outer_function()
     e_expected = AglyphError(
         "%r does not have an importable dotted name" % nested_function)
     assertRaisesWithMessage(self, e_expected, Reference, nested_function)
Ejemplo n.º 13
0
 def test_fails_to_format_bound_function_name(self):
     bound_function = dummy.MODULE_MEMBER.method
     e_expected = AglyphError(
         "%r does not have an importable dotted name" % bound_function)
     assertRaisesWithMessage(
         self, e_expected, format_dotted_name, bound_function)
Ejemplo n.º 14
0
 def test_attribute_name_cannot_be_empty(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "attribute/@name is required and cannot be empty")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 15
0
 def test_process_attributes_unexpected_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError("unexpected element: attributes/unexpected")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 16
0
 def test_dict_item_value_unexpected_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError("unexpected element: value/unexpected")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 17
0
 def test_dict_item_key_rejects_multiple_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "<key> must contain exactly one child element; "
         "found key/str, key/int")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 18
0
 def test_parse_dict_item_unexpected_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "expected item/key, item/value; found item/unexpected")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 19
0
 def test_arg_keyword_cannot_be_empty(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError("arg/@keyword cannot be empty")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 20
0
 def test_bound_method(self):
     bound_method = dummy.ModuleClass(None).method
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              bound_method)
     assertRaisesWithMessage(self, e_expected, Reference, bound_method)
Ejemplo n.º 21
0
 def test_builtin_object(self):
     e_expected = AglyphError("79 does not have an importable dotted name")
     assertRaisesWithMessage(self, e_expected, Reference, 79)
Ejemplo n.º 22
0
 def test_attribute_cannot_be_empty(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "<attribute> must contain exactly one child element; "
         "found no children")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 23
0
 def test_fails_to_format_name_for_none(self):
     # None doesn't have __module__, __qualname__, or __name__
     e_expected = AglyphError(
         "%r does not have an importable dotted name" % None)
     assertRaisesWithMessage(self, e_expected, format_dotted_name, None)
Ejemplo n.º 24
0
 def test_attribute_rejects_multiple_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "<attribute> must contain exactly one child element; "
         "found attribute/str, attribute/int")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 25
0
 def test_fails_to_identify_classmethod(self):
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              dummy.ModuleClass.classmethod_factory)
     assertRaisesWithMessage(self, e_expected, _identify,
                             dummy.ModuleClass.classmethod_factory)
Ejemplo n.º 26
0
 def test_context_id_cannot_be_empty(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError("XMLContext ID must not be None or empty")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 27
0
 def test_bound_method(self):
     bound_method = dummy.ModuleClass(None).method
     e_expected = AglyphError(
         "%r does not have an importable dotted name" % bound_method)
     assertRaisesWithMessage(self, e_expected, Reference, bound_method)
Ejemplo n.º 28
0
 def test_template_id_is_required(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = ValueError(
         "Template unique ID must not be None or empty")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 29
0
 def test_context_id_cannot_be_empty(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError("XMLContext ID must not be None or empty")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 30
0
 def test_detects_circular_dependency(self):
     e = AglyphError("circular dependency detected: "
                     "circular-2 > circular-3 > circular-1 > circular-2")
     assertRaisesWithMessage(self, e, self._assembler.assemble,
                             "circular-2")
Ejemplo n.º 31
0
 def test_fails_to_format_nested_class_name(self):
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              dummy.ModuleClass.NestedClass)
     assertRaisesWithMessage(self, e_expected, format_dotted_name,
                             dummy.ModuleClass.NestedClass)
Ejemplo n.º 32
0
 def test_fails_to_format_staticmethod_name(self):
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              dummy.ModuleClass.staticmethod_factory)
     assertRaisesWithMessage(self, e_expected, format_dotted_name,
                             dummy.ModuleClass.staticmethod_factory)
Ejemplo n.º 33
0
 def test_unique_id_cannot_be_empty(self):
     # use __class__ so test is reusable for Template & Component
     e_expected = ValueError("%s unique ID must not be None or empty" %
                             name_of(self._support.__class__))
     assertRaisesWithMessage(self, e_expected, self._support.__class__, "")
Ejemplo n.º 34
0
 def test_nonimportable_function(self):
     nested_function = dummy.outer_function()
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              nested_function)
     assertRaisesWithMessage(self, e_expected, Reference, nested_function)
Ejemplo n.º 35
0
 def test_detects_circular_dependency(self):
     e = AglyphError(
         "circular dependency detected: "
         "circular-2 > circular-3 > circular-1 > circular-2")
     assertRaisesWithMessage(
         self, e, self._assembler.assemble, "circular-2")
Ejemplo n.º 36
0
 def test_builtin_object(self):
     e_expected = AglyphError("79 does not have an importable dotted name")
     assertRaisesWithMessage(self, e_expected, Reference, 79)
Ejemplo n.º 37
0
 def test_nonimportable_class(self):
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              dummy.ModuleClass.NestedClass)
     assertRaisesWithMessage(self, e_expected, Reference,
                             dummy.ModuleClass.NestedClass)
Ejemplo n.º 38
0
 def test_user_object(self):
     obj = dummy.ModuleClass(None)
     e_expected = AglyphError(
         "%r does not have an importable dotted name" % obj)
     assertRaisesWithMessage(self, e_expected, Reference, obj)
Ejemplo n.º 39
0
 def test_user_object(self):
     obj = dummy.ModuleClass(None)
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              obj)
     assertRaisesWithMessage(self, e_expected, Reference, obj)
Ejemplo n.º 40
0
 def test_arg_keyword_cannot_be_empty(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError("arg/@keyword cannot be empty")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 41
0
 def test_staticmethod(self):
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              dummy.ModuleClass.staticmethod_factory)
     assertRaisesWithMessage(self, e_expected, Reference,
                             dummy.ModuleClass.staticmethod_factory)
Ejemplo n.º 42
0
 def test_parse_dict_item_unexpected_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "expected item/key, item/value; found item/unexpected")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 43
0
 def test_fails_to_format_nested_function_name(self):
     nested_function = dummy.outer_function()
     e_expected = AglyphError(
         "%r does not have an importable dotted name" % nested_function)
     assertRaisesWithMessage(
         self, e_expected, format_dotted_name, nested_function)
Ejemplo n.º 44
0
 def test_fails_to_identify_property(self):
     # property doesn't have __module__, __qualname__, or __name__
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              dummy.ModuleClass.prop)
     assertRaisesWithMessage(self, e_expected, _identify,
                             dummy.ModuleClass.prop)
Ejemplo n.º 45
0
 def test_dict_item_key_rejects_multiple_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "<key> must contain exactly one child element; "
         "found key/str, key/int")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 46
0
 def test_nonimportable_class(self):
     e_expected = AglyphError(
         "%r does not have an importable dotted name" %
             dummy.ModuleClass.NestedClass)
     assertRaisesWithMessage(
         self, e_expected, Reference, dummy.ModuleClass.NestedClass)
Ejemplo n.º 47
0
 def test_fails_to_format_instance_name(self):
     # instance doesn't have __qualname__ or __name__
     instance = dummy.ModuleClass(None)
     e_expected = AglyphError(
         "%r does not have an importable dotted name" % instance)
     assertRaisesWithMessage(self, e_expected, format_dotted_name, instance)
Ejemplo n.º 48
0
 def test_dict_item_value_unexpected_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError("unexpected element: value/unexpected")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 49
0
 def test_fails_to_identify_none(self):
     # None doesn't have __module__, __qualname__, or __name__
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              None)
     assertRaisesWithMessage(self, e_expected, _identify, None)
Ejemplo n.º 50
0
 def test_process_attributes_unexpected_children(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError("unexpected element: attributes/unexpected")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 51
0
 def test_fails_to_identify_nested_function(self):
     nested_function = dummy.outer_function()
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              nested_function)
     assertRaisesWithMessage(self, e_expected, _identify, nested_function)
Ejemplo n.º 52
0
 def test_attribute_name_cannot_be_empty(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "attribute/@name is required and cannot be empty")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)
Ejemplo n.º 53
0
 def test_fails_to_identify_bound_function(self):
     bound_function = dummy.MODULE_MEMBER.method
     e_expected = AglyphError("%r does not have an importable dotted name" %
                              bound_function)
     assertRaisesWithMessage(self, e_expected, _identify, bound_function)
Ejemplo n.º 54
0
 def test_attribute_cannot_be_empty(self):
     stream = bytebuf(self._uresource.encode("utf-8"))
     e_expected = AglyphError(
         "<attribute> must contain exactly one child element; "
         "found no children")
     assertRaisesWithMessage(self, e_expected, XMLContext, stream)