More JID unit tests.
sleekxmpp.xmlstream.jid now has 100% coverage!
This commit is contained in:
parent
8aa3d0c047
commit
185d7cf28e
2 changed files with 80 additions and 12 deletions
|
@ -94,21 +94,15 @@ class JID(object):
|
||||||
elif name in ('server', 'domain', 'host'):
|
elif name in ('server', 'domain', 'host'):
|
||||||
self.domain = value
|
self.domain = value
|
||||||
elif name in ('full', 'jid'):
|
elif name in ('full', 'jid'):
|
||||||
if '@' not in value:
|
self.reset(value)
|
||||||
if '/' in value:
|
self.regenerate()
|
||||||
d, r = value.split('/', 1)
|
|
||||||
object.__setattr__(self, "_resource", r)
|
|
||||||
else:
|
|
||||||
d = value
|
|
||||||
object.__setattr__(self, "_domain", d)
|
|
||||||
else:
|
|
||||||
self.reset(value)
|
|
||||||
elif name == 'bare':
|
elif name == 'bare':
|
||||||
if '@' in value:
|
if '@' in value:
|
||||||
u, d = value.split('@', 1)
|
u, d = value.split('@', 1)
|
||||||
object.__setattr__(self, "_user", u)
|
object.__setattr__(self, "_user", u)
|
||||||
object.__setattr__(self, "_domain", d)
|
object.__setattr__(self, "_domain", d)
|
||||||
else:
|
else:
|
||||||
|
object.__setattr__(self, "_user", '')
|
||||||
object.__setattr__(self, "_domain", value)
|
object.__setattr__(self, "_domain", value)
|
||||||
self.regenerate()
|
self.regenerate()
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -6,7 +6,7 @@ class TestJIDClass(SleekTest):
|
||||||
|
|
||||||
"""Verify that the JID class can parse and manipulate JIDs."""
|
"""Verify that the JID class can parse and manipulate JIDs."""
|
||||||
|
|
||||||
def testJIDfromfull(self):
|
def testJIDFromFull(self):
|
||||||
"""Test using JID of the form 'user@server/resource/with/slashes'."""
|
"""Test using JID of the form 'user@server/resource/with/slashes'."""
|
||||||
self.check_JID(JID('user@someserver/some/resource'),
|
self.check_JID(JID('user@someserver/some/resource'),
|
||||||
'user',
|
'user',
|
||||||
|
@ -30,7 +30,81 @@ class TestJIDClass(SleekTest):
|
||||||
'user@someserver/some/resource',
|
'user@someserver/some/resource',
|
||||||
'user@someserver/some/resource')
|
'user@someserver/some/resource')
|
||||||
|
|
||||||
def testJIDnoresource(self):
|
def testJIDaliases(self):
|
||||||
|
"""Test changing JID using aliases for domain."""
|
||||||
|
j = JID('user@someserver/resource')
|
||||||
|
j.server = 'anotherserver'
|
||||||
|
self.check_JID(j, domain='anotherserver')
|
||||||
|
j.host = 'yetanother'
|
||||||
|
self.check_JID(j, domain='yetanother')
|
||||||
|
|
||||||
|
def testJIDSetFullWithUser(self):
|
||||||
|
"""Test setting the full JID with a user portion."""
|
||||||
|
j = JID('user@domain/resource')
|
||||||
|
j.full = 'otheruser@otherdomain/otherresource'
|
||||||
|
self.check_JID(j,
|
||||||
|
'otheruser',
|
||||||
|
'otherdomain',
|
||||||
|
'otherresource',
|
||||||
|
'otheruser@otherdomain',
|
||||||
|
'otheruser@otherdomain/otherresource',
|
||||||
|
'otheruser@otherdomain/otherresource')
|
||||||
|
|
||||||
|
def testJIDFullNoUserWithResource(self):
|
||||||
|
"""
|
||||||
|
Test setting the full JID without a user
|
||||||
|
portion and with a resource.
|
||||||
|
"""
|
||||||
|
j = JID('user@domain/resource')
|
||||||
|
j.full = 'otherdomain/otherresource'
|
||||||
|
self.check_JID(j,
|
||||||
|
'',
|
||||||
|
'otherdomain',
|
||||||
|
'otherresource',
|
||||||
|
'otherdomain',
|
||||||
|
'otherdomain/otherresource',
|
||||||
|
'otherdomain/otherresource')
|
||||||
|
|
||||||
|
def testJIDFullNoUserNoResource(self):
|
||||||
|
"""
|
||||||
|
Test setting the full JID without a user
|
||||||
|
portion and without a resource.
|
||||||
|
"""
|
||||||
|
j = JID('user@domain/resource')
|
||||||
|
j.full = 'otherdomain'
|
||||||
|
self.check_JID(j,
|
||||||
|
'',
|
||||||
|
'otherdomain',
|
||||||
|
'',
|
||||||
|
'otherdomain',
|
||||||
|
'otherdomain',
|
||||||
|
'otherdomain')
|
||||||
|
|
||||||
|
def testJIDBareUser(self):
|
||||||
|
"""Test setting the bare JID with a user."""
|
||||||
|
j = JID('user@domain/resource')
|
||||||
|
j.bare = 'otheruser@otherdomain'
|
||||||
|
self.check_JID(j,
|
||||||
|
'otheruser',
|
||||||
|
'otherdomain',
|
||||||
|
'resource',
|
||||||
|
'otheruser@otherdomain',
|
||||||
|
'otheruser@otherdomain/resource',
|
||||||
|
'otheruser@otherdomain/resource')
|
||||||
|
|
||||||
|
def testJIDBareNoUser(self):
|
||||||
|
"""Test setting the bare JID without a user."""
|
||||||
|
j = JID('user@domain/resource')
|
||||||
|
j.bare = 'otherdomain'
|
||||||
|
self.check_JID(j,
|
||||||
|
'',
|
||||||
|
'otherdomain',
|
||||||
|
'resource',
|
||||||
|
'otherdomain',
|
||||||
|
'otherdomain/resource',
|
||||||
|
'otherdomain/resource')
|
||||||
|
|
||||||
|
def testJIDNoResource(self):
|
||||||
"""Test using JID of the form 'user@domain'."""
|
"""Test using JID of the form 'user@domain'."""
|
||||||
self.check_JID(JID('user@someserver'),
|
self.check_JID(JID('user@someserver'),
|
||||||
'user',
|
'user',
|
||||||
|
@ -40,7 +114,7 @@ class TestJIDClass(SleekTest):
|
||||||
'user@someserver',
|
'user@someserver',
|
||||||
'user@someserver')
|
'user@someserver')
|
||||||
|
|
||||||
def testJIDnouser(self):
|
def testJIDNoUser(self):
|
||||||
"""Test JID of the form 'component.domain.tld'."""
|
"""Test JID of the form 'component.domain.tld'."""
|
||||||
self.check_JID(JID('component.someserver'),
|
self.check_JID(JID('component.someserver'),
|
||||||
'',
|
'',
|
||||||
|
|
Loading…
Reference in a new issue