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'):
|
||||
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.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:
|
||||
|
|
|
@ -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'),
|
||||
'',
|
||||
|
|
Loading…
Reference in a new issue