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})
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
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
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))
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))
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))
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)
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))
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))
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())
def setUp(self): self.msg = message.Message()
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())