'Check that when L{SSHCiphers._getMAC} is called with a supportd HMAC
algorithm name it returns a tuple of
(digest object, inner pad, outer pad, digest size) with a C{key}
attribute set to the value of the key supplied.
@param hmacName: Identifier of HMAC algorithm.
@type hmacName: L{bytes}
@param hashProcessor: Callable for the hash algorithm.
@type hashProcessor: C{callable}
@param digestSize: Size of the digest for algorithm.
@type digestSize: L{int}
@param blockPadSize: Size of padding applied to the shared secret to
match the block size.
@type blockPadSize: L{int}'

def assertGetMAC(self, hmacName, hashProcessor, digestSize, blockPadSize):

    secret = self.getSharedSecret()
    params = self.ciphers._getMAC(hmacName, secret)
    key = (secret[:digestSize] + ('\x00' * blockPadSize))
    innerPad = ''.join((chr((ord(b) ^ 54)) for b in iterbytes(key)))
    outerPad = ''.join((chr((ord(b) ^ 92)) for b in iterbytes(key)))
    self.assertEqual((hashProcessor, innerPad, outerPad, digestSize), params)
    self.assertEqual(key, params.key)
