Esempio n. 1
0
    def test_assignment_and_exceptions(self):
        """Check incorrect types/values for properties raise exceptions"""
        primitive = UserIdentityNegotiation()
        for type_no in [1, 2, 3, 4, 5]:
            primitive.user_identity_type = type_no
            assert primitive.user_identity_type == type_no

        with pytest.raises(ValueError):
            primitive.user_identity_type = 6

        with pytest.raises(TypeError):
            primitive.user_identity_type = "a"

        primitive.positive_response_requested = True
        assert primitive.positive_response_requested
        with pytest.raises(TypeError):
            primitive.positive_response_requested = "test"

        primitive.primary_field = None
        assert primitive.primary_field is None
        primitive.primary_field = b"\x00\x01"
        assert primitive.primary_field == b"\x00\x01"
        with pytest.raises(TypeError):
            primitive.primary_field = ["test"]

        primitive.secondary_field = b"\x00\x21"
        assert primitive.secondary_field == b"\x00\x21"
        primitive.secondary_field = None
        assert primitive.secondary_field is None
        with pytest.raises(TypeError):
            primitive.secondary_field = ["test"]

        primitive.server_response = None
        assert primitive.server_response is None
        primitive.server_response = b"\x00\x31"
        assert primitive.server_response == b"\x00\x31"
        with pytest.raises(TypeError):
            primitive.server_response = ["test"]

        primitive = UserIdentityNegotiation()
        with pytest.raises(ValueError):
            primitive.from_primitive()

        primitive.user_identity_type = None
        assert primitive.user_identity_type is None
        primitive.user_identity_type = 2
        with pytest.raises(ValueError):
            primitive.from_primitive()
Esempio n. 2
0
    def test_conversion(self):
        """ Check converting to PDU item works correctly """
        primitive = UserIdentityNegotiation()
        # -RQ
        primitive.user_identity_type = 1
        primitive.primary_field = b'test'
        item = primitive.from_primitive()

        primitive.user_identity_type = 2
        primitive.secondary_field = b''
        with pytest.raises(ValueError):
            item = primitive.from_primitive()

        # -AC
        primitive = UserIdentityNegotiation()
        primitive.server_response = b'Test'
        item = primitive.from_primitive()
        assert item.encode() == b'\x59\x00\x00\x06\x00\x04\x54\x65\x73\x74'