More JID unit tests.

sleekxmpp.xmlstream.jid now has 100% coverage!
This commit is contained in:
Lance Stout 2010-10-24 19:06:54 -04:00
parent 8aa3d0c047
commit 185d7cf28e
2 changed files with 80 additions and 12 deletions

View file

@ -94,21 +94,15 @@ class JID(object):
elif name in ('server', 'domain', 'host'):
self.domain = value
elif name in ('full', 'jid'):
if '@' not in value:
if '/' in value:
d, r = value.split('/', 1)
object.__setattr__(self, "_resource", r)
else:
d = value
object.__setattr__(self, "_domain", d)
else:
self.reset(value)
self.reset(value)
self.regenerate()
elif name == 'bare':
if '@' in value:
u, d = value.split('@', 1)
object.__setattr__(self, "_user", u)
object.__setattr__(self, "_domain", d)
else:
object.__setattr__(self, "_user", '')
object.__setattr__(self, "_domain", value)
self.regenerate()
else:

View file

@ -6,7 +6,7 @@ class TestJIDClass(SleekTest):
"""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'."""
self.check_JID(JID('user@someserver/some/resource'),
'user',
@ -30,7 +30,81 @@ class TestJIDClass(SleekTest):
'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'."""
self.check_JID(JID('user@someserver'),
'user',
@ -40,7 +114,7 @@ class TestJIDClass(SleekTest):
'user@someserver',
'user@someserver')
def testJIDnouser(self):
def testJIDNoUser(self):
"""Test JID of the form 'component.domain.tld'."""
self.check_JID(JID('component.someserver'),
'',