Example #1
0
    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()