コード例 #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})
コード例 #2
0
ファイル: extension.py プロジェクト: amirul1000/research1
    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
コード例 #3
0
    def __init__(self, status, identity_url):
        self.status = status
        self.identity_url = identity_url
        self.message = message.Message()

        sig_ext = SignatureVerification(consumer_key='CKEY',
                                        secret_key='SKEY',
                                        request_token='token',
                                        hmac=None,
                                        timestamp=None)
        sig_ext.toMessage(self.message)

        sreg_ext = SRegRequest(
            required=['nickname', 'email'],
            optional=['fullname'],
            policy_url=None,
            sreg_ns_uri='http://openid.net/extensions/sreg/1.1')
        sreg_ext.toMessage(self.message)
        self.signed_fields = [
            'openid.sreg.nickname', 'openid.sreg.email',
            'openid.sreg.required', 'openid.sreg.optional',
            'openid.sreg.fullname'
        ]

        self.endpoint = OpenIDServiceEndpoint()
        self.endpoint.claimed_id = identity_url
コード例 #4
0
 def test_OpenID2(self):
     oid2_msg = message.Message(message.OPENID2_NS)
     ext = DummyExtension()
     ext.toMessage(oid2_msg)
     namespaces = oid2_msg.namespaces
     self.assertFalse(namespaces.isImplicit(DummyExtension.ns_uri))
     self.assertEqual(DummyExtension.ns_uri,
                      namespaces.getNamespaceURI(DummyExtension.ns_alias))
     self.assertEqual(DummyExtension.ns_alias,
                      namespaces.getAlias(DummyExtension.ns_uri))
コード例 #5
0
 def test_OpenID1(self):
     oid1_msg = message.Message(message.OPENID1_NS)
     ext = DummyExtension()
     ext.toMessage(oid1_msg)
     namespaces = oid1_msg.namespaces
     self.failUnless(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))
コード例 #6
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))
コード例 #7
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)
コード例 #8
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))
コード例 #9
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))
コード例 #10
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())
コード例 #11
0
 def setUp(self):
     self.msg = message.Message()
コード例 #12
0
ファイル: test_message.py プロジェクト: thomir/python3-openid
 def test_isOpenID2(self):
     ns = 'http://specs.openid.net/auth/2.0'
     m = message.Message(ns)
     self.assertTrue(m.isOpenID2())
     self.assertFalse(m.namespaces.isImplicit(message.NULL_NAMESPACE))
     self.assertEqual(ns, m.getOpenIDNamespace())