Exemplo n.º 1
0
    def test_assignment_and_exceptions(self):
        """ Check incorrect types/values for implementation_class_uid raise exceptions """
        primitive = ImplementationClassUIDNotification()

        ## Check assignment
        reference_uid = UID('1.2.826.0.1.3680043.9.3811.0.9.0')

        # bytes
        primitive.implementation_class_uid = b'1.2.826.0.1.3680043.9.3811.0.9.0'
        self.assertTrue(primitive.implementation_class_uid == reference_uid)

        # str
        primitive.implementation_class_uid = '1.2.826.0.1.3680043.9.3811.0.9.0'
        self.assertTrue(primitive.implementation_class_uid == reference_uid)

        # UID
        primitive.implementation_class_uid = UID(
            '1.2.826.0.1.3680043.9.3811.0.9.0')
        self.assertTrue(primitive.implementation_class_uid == reference_uid)

        ## Check exceptions
        primitive = ImplementationClassUIDNotification()

        # No value set
        with pytest.raises(ValueError):
            item = primitive.from_primitive()

        # Non UID, bytes or str
        with pytest.raises(TypeError):
            primitive.implementation_class_uid = 45.2

        with pytest.raises(TypeError):
            primitive.implementation_class_uid = 100
Exemplo n.º 2
0
    def test_conversion(self):
        """ Check converting to PDU item works correctly """
        primitive = ImplementationClassUIDNotification()
        primitive.implementation_class_uid = UID('1.2.826.0.1.3680043.9.3811.0.9.0')
        item = primitive.from_primitive()

        self.assertTrue(item.encode() ==     b"\x52\x00\x00\x20\x31\x2e\x32\x2e\x38\x32\x36\x2e\x30\x2e\x31" \
                                         b"\x2e\x33\x36\x38\x30\x30\x34\x33\x2e\x39\x2e\x33\x38\x31\x31\x2e" \
                                         b"\x30\x2e\x39\x2e\x30")