def _alg_enc_test(self, alg, enc, receiver, jku, plaintext): print "============================================================" print " TEST for", alg, enc print "============================================================" #: Message message = Message( protected=Jwe(enc=enc, zip="DEF",), unprotected=Jwe(typ="text"), plaintext=_BE(plaintext) ) recipient = Recipient( header=Jwe(alg=alg, jku=jku), recipient=receiver ) message.add_recipient(recipient) texts = [ message.serialize_json(indent=2), message.serialize_compact(), ] for t in texts: print "--------------------------\n", t m = Message.from_token(t, sender=None, receiver=receiver) m.get_plaintext() self.assertEqual( len(message.recipients), len(m.recipients)) self.assertEqual(_BD(m.plaintext), plaintext) return message
def test_multi(self): ''' nose2 jose.tests.test_jwe.TestJweMessage.test_multi ''' payload = "All you need is love." jku= "http://test.multi.com/jwkset", receiver = TestEntity( identifier="http://test.multi.com", jku=jku, ) fake = TestEntity( identifier="http://test.fake.com", jku=jku, ) enc = EncEnum.all()[0] for enc in EncEnum.all(): message = Message( protected=Jwe(enc=enc, zip="DEF",), unprotected=Jwe(typ="text"), plaintext=_BE(payload) ) for alg in KeyEncEnum.all(): if alg.single: continue recipient = Recipient( header=Jwe(alg=alg, jku=jku,), recipient=receiver ) message.add_recipient(recipient) json_message = message.serialize_json(indent=2) receivers = [fake, receiver] for me in receivers: message2 = Message.from_token( json_message, sender=None, receiver=me) self.assertEqual( len(message.recipients), len(message2.recipients)) try: print _BD(message2.plaintext), enc, me except: print traceback.format_exc()