Ejemplo n.º 1
0
    def test_explicitOpenID11NSSerialzation(self):
        m = message.Message()
        m.setOpenIDNamespace(message.THE_OTHER_OPENID1_NS, implicit=False)

        post_args = m.toPostArgs()
        self.failUnlessEqual(post_args,
                             {'openid.ns': message.THE_OTHER_OPENID1_NS})
Ejemplo n.º 2
0
    def toMessage(self, message=None):
        """Add the arguments from this extension to the provided
        message, or create a new message containing only those
        arguments.

        @returns: The message with the extension arguments added
        """
        if message is None:
            warnings.warn(
                'Passing None to Extension.toMessage is deprecated. '
                'Creating a message assuming you want OpenID 2.',
                DeprecationWarning,
                stacklevel=2)
            message = message_module.Message(message_module.OPENID2_NS)

        implicit = message.isOpenID1()

        try:
            message.namespaces.addAlias(self.ns_uri,
                                        self.ns_alias,
                                        implicit=implicit)
        except KeyError:
            if message.namespaces.getAlias(self.ns_uri) != self.ns_alias:
                raise

        message.updateArgs(self.ns_uri, self.getExtensionArgs())
        return message
Ejemplo n.º 3
0
 def test_OpenID2(self):
     oid2_msg = message.Message(message.OPENID2_NS)
     ext = DummyExtension()
     ext.toMessage(oid2_msg)
     namespaces = oid2_msg.namespaces
     self.failIf(namespaces.isImplicit(DummyExtension.ns_uri))
     self.failUnlessEqual(
         DummyExtension.ns_uri,
         namespaces.getNamespaceURI(DummyExtension.ns_alias))
     self.failUnlessEqual(DummyExtension.ns_alias,
                          namespaces.getAlias(DummyExtension.ns_uri))
Ejemplo n.º 4
0
    def test_isOpenID1(self):
        v1_namespaces = [
            # Yes, there are two of them.
            'http://openid.net/signon/1.1',
            'http://openid.net/signon/1.0',
        ]

        for ns in v1_namespaces:
            m = message.Message(ns)
            self.failUnless(m.isOpenID1(),
                            "%r not recognized as OpenID 1" % (ns, ))
            self.failUnlessEqual(ns, m.getOpenIDNamespace())
            self.failUnless(
                m.namespaces.isImplicit(ns),
                m.namespaces.getNamespaceURI(message.NULL_NAMESPACE))
Ejemplo n.º 5
0
    def test_setOpenIDNamespace_invalid(self):
        m = message.Message()
        invalid_things = [
            # Empty string is not okay here.
            '',
            # Good guess!  But wrong.
            'http://openid.net/signon/2.0',
            # What?
            u'http://specs%\\\r2Eopenid.net/auth/2.0',
            # Too much escapings!
            'http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0',
            # This is a Type URI, not a openid.ns value.
            'http://specs.openid.net/auth/2.0/signon',
        ]

        for x in invalid_things:
            self.failUnlessRaises(message.InvalidOpenIDNamespace,
                                  m.setOpenIDNamespace, x, False)
Ejemplo n.º 6
0
 def test_setOpenIDNamespace_implicit(self):
     m = message.Message()
     m.setOpenIDNamespace(message.THE_OTHER_OPENID1_NS, True)
     self.failUnless(m.namespaces.isImplicit(message.THE_OTHER_OPENID1_NS))
Ejemplo n.º 7
0
 def test_setOpenIDNamespace_explicit(self):
     m = message.Message()
     m.setOpenIDNamespace(message.THE_OTHER_OPENID1_NS, False)
     self.failIf(m.namespaces.isImplicit(message.THE_OTHER_OPENID1_NS))
Ejemplo n.º 8
0
 def test_isOpenID2(self):
     ns = 'http://specs.openid.net/auth/2.0'
     m = message.Message(ns)
     self.failUnless(m.isOpenID2())
     self.failIf(m.namespaces.isImplicit(message.NULL_NAMESPACE))
     self.failUnlessEqual(ns, m.getOpenIDNamespace())
Ejemplo n.º 9
0
 def setUp(self):
     self.msg = message.Message()