def METHOD_NAME(self) -> None:
    """
    A challenge can be parsed into a L{dict} with L{bytes} or L{list}
    values.
    """
    challenge = (
        b'nonce="1234",qop="auth,auth-conf",charset=utf-8,'
        b'algorithm=md5-sess,cipher="des,3des"'
    )
    directives = self.mechanism._parse(challenge)
    self.assertEqual(
        {
            b"algorithm": b"md5-sess",
            b"nonce": b"1234",
            b"charset": b"utf-8",
            b"qop": [b"auth", b"auth-conf"],
            b"cipher": [b"des", b"3des"],
        },
        directives,
    )