def test_sign(self, encode): message = '{"A":1}' signature = 'KLAJDF988R' authenticator = Mock() authenticator.sign.return_value = signature # functional test signed = sign(authenticator, message) # validation h = sha256() h.update(message) authenticator.sign.assert_called_once_with(h.hexdigest()) encode.assert_called_once_with(signature) self.assertEqual(signed, '{"message": "{\\"A\\":1}", "signature": "S0xBSkRGOTg4Ug=="}')
def send(self, address, ttl=None, **body): """ Send a message. :param address: An AMQP address. :type address: str :param ttl: Time to Live (seconds) :type ttl: float :keyword body: document body. :return: The message serial number. :rtype: str :raise: ModelError """ sn = utf8(uuid4()) routing = (None, address) document = Document(sn=sn, version=VERSION, routing=routing) document += body unsigned = document.dump() signed = auth.sign(self.authenticator, unsigned) self._impl.send(address, signed, ttl) return sn
def test_signing_exception(self, sha): message = 'howdy partner' sha.side_effect = ImportError signed = sign(Authenticator(), message) self.assertEqual(signed, message)
def test_no_authenticator(self): message = 'howdy partner' signed = sign(None, message) self.assertEqual(signed, message)