summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivek Dasmohapatra <vivek@collabora.co.uk>2010-07-29 17:11:07 +0100
committerVivek Dasmohapatra <vivek@collabora.co.uk>2010-07-29 17:19:57 +0100
commitced3e32094b11970653227e78dbe7c3bd8515c8f (patch)
tree6ffa2511244109d28b1aa1744734a9283fcb4381
parent66680dac767c5ae06abe306ce4e000041c105751 (diff)
downloadtelepathy-mission-control-ced3e32094b11970653227e78dbe7c3bd8515c8f.tar.gz
Implement a test for a remote client unsetting our avatar
-rw-r--r--test/twisted/account-manager/avatar.py15
-rw-r--r--test/twisted/mctest.py3
2 files changed, 16 insertions, 2 deletions
diff --git a/test/twisted/account-manager/avatar.py b/test/twisted/account-manager/avatar.py
index 2b8ac032..c616e146 100644
--- a/test/twisted/account-manager/avatar.py
+++ b/test/twisted/account-manager/avatar.py
@@ -21,7 +21,7 @@ import dbus
import dbus.service
from servicetest import EventPattern, tp_name_prefix, tp_path_prefix, \
- call_async
+ call_async, assertEquals
from mctest import exec_test, create_fakecm_account, enable_fakecm_account
import constants as cs
@@ -86,8 +86,8 @@ def test(q, bus, mc):
interface=cs.CONN_IFACE_AVATARS, method='RequestAvatars',
args=[[conn.self_handle]],
handled=False)
-
q.dbus_return(e.message, signature='')
+
q.dbus_emit(conn.object_path, cs.CONN_IFACE_AVATARS,
'AvatarRetrieved', conn.self_handle, 'CCCC',
dbus.ByteArray('CCCC'), 'image/svg', signature='usays')
@@ -97,5 +97,16 @@ def test(q, bus, mc):
assert account_props.Get(cs.ACCOUNT_IFACE_AVATAR, 'Avatar',
byte_arrays=True) == ('CCCC', 'image/svg')
+ # empty avatar tests
+ conn.forget_avatar()
+ q.dbus_emit(conn.object_path, cs.CONN_IFACE_AVATARS, 'AvatarUpdated',
+ conn.self_handle, '', signature='us')
+ q.expect('dbus-method-call', method='GetKnownAvatarTokens')
+ q.expect('dbus-signal', path=account.object_path,
+ interface=cs.ACCOUNT_IFACE_AVATAR, signal='AvatarChanged')
+
+ assertEquals(account_props.Get(cs.ACCOUNT_IFACE_AVATAR, 'Avatar',
+ byte_arrays=False), ([], ''))
+
if __name__ == '__main__':
exec_test(test, {})
diff --git a/test/twisted/mctest.py b/test/twisted/mctest.py
index 9a88b10d..ffe71cb5 100644
--- a/test/twisted/mctest.py
+++ b/test/twisted/mctest.py
@@ -277,6 +277,9 @@ class SimulatedConnection(object):
self.presence = dbus.Struct((cs.PRESENCE_TYPE_OFFLINE, 'offline', ''),
signature='uss')
+ def forget_avatar(self):
+ self.avatar = (dbus.ByteArray(''), '')
+
# not actually very relevant for MC so hard-code 0 for now
def GetAliasFlags(self, e):
self.q.dbus_return(e.message, 0, signature='u')