[telepathy-mission-control/master] account-manager/param-types.py: fd.o #21377: exercise all the types for which telepathy-spec defines a serialization
Simon McVittie
simon.mcvittie at collabora.co.uk
Wed Jun 10 03:48:13 PDT 2009
---
test/twisted/Makefile.am | 2 +
test/twisted/account-manager/param-types.py | 66 ++++++++++++++++++++
.../telepathy/managers/onewitheverything.manager | 45 +++++++++++++
3 files changed, 113 insertions(+), 0 deletions(-)
create mode 100644 test/twisted/account-manager/param-types.py
create mode 100644 test/twisted/telepathy/managers/onewitheverything.manager
diff --git a/test/twisted/Makefile.am b/test/twisted/Makefile.am
index 54f56fb..0542c59 100644
--- a/test/twisted/Makefile.am
+++ b/test/twisted/Makefile.am
@@ -7,6 +7,7 @@ TWISTED_BASIC_TESTS = \
account-manager/create-with-properties.py \
account-manager/nickname.py \
account-manager/old-create-with-properties.py \
+ account-manager/param-types.py \
account-manager/presence.py \
account-manager/reconnect.py \
account-manager/recover-from-disconnect.py \
@@ -187,6 +188,7 @@ EXTRA_DIST = \
telepathy/clients/README \
telepathy/clients/AbiWord.client \
telepathy/managers/fakecm.manager \
+ telepathy/managers/onewitheverything.manager \
telepathy/managers/README \
constants.py \
fakeclient.py \
diff --git a/test/twisted/account-manager/param-types.py b/test/twisted/account-manager/param-types.py
new file mode 100644
index 0000000..dc8dba6
--- /dev/null
+++ b/test/twisted/account-manager/param-types.py
@@ -0,0 +1,66 @@
+import dbus
+import dbus.service
+
+from servicetest import EventPattern, tp_name_prefix, tp_path_prefix, \
+ call_async
+from mctest import exec_test, create_fakecm_account
+import constants as cs
+
+def test(q, bus, mc):
+ cm_name_ref = dbus.service.BusName(
+ cs.tp_name_prefix + '.ConnectionManager.onewitheverything',
+ bus=bus)
+
+ # Get the AccountManager interface
+ account_manager = bus.get_object(cs.AM, cs.AM_PATH)
+ account_manager_iface = dbus.Interface(account_manager, cs.AM)
+
+ params = dbus.Dictionary({
+ 's': 'lalala',
+ 'o': dbus.ObjectPath('/lalala'),
+ 'b': False,
+ 'q': dbus.UInt16(42),
+ 'u': dbus.UInt32(0xFFFFFFFFL),
+ 't': dbus.UInt64(0xFFFFffffFFFFffffL),
+ 'n': dbus.Int16(-42),
+ 'i': dbus.Int32(-42),
+ 'x': dbus.Int64(-1 * 0x7FFFffffFFFFffffL),
+ 'd': 4.5,
+ 'as': dbus.Array(['one', 'two', 'three'], signature='s')
+ }, signature='sv')
+
+ # Create an account
+ call_async(q, account_manager_iface, 'CreateAccount',
+ 'onewitheverything', # Connection_Manager
+ 'serializable', # Protocol
+ 'fakeaccount', #Display_Name
+ params, # Parameters
+ {}, # Properties
+ )
+
+ am_signal, ret = q.expect_many(
+ EventPattern('dbus-signal', path=cs.AM_PATH,
+ interface=cs.AM, signal='AccountValidityChanged'),
+ EventPattern('dbus-return', method='CreateAccount'),
+ )
+ account_path = ret.value[0]
+ assert am_signal.args == [account_path, True], am_signal.args
+ assert account_path is not None
+
+ account = bus.get_object(
+ cs.tp_name_prefix + '.AccountManager',
+ account_path)
+ account_iface = dbus.Interface(account, cs.ACCOUNT)
+ account_props = dbus.Interface(account, cs.PROPERTIES_IFACE)
+
+ stored_params = account_props.Get(cs.ACCOUNT, 'Parameters')
+
+ for k in stored_params:
+ assert k in params, k
+
+ for k in params:
+ assert k in stored_params, k
+ assert stored_params[k] == params[k], (k, stored_params[k], params[k])
+
+if __name__ == '__main__':
+ exec_test(test, {})
diff --git a/test/twisted/telepathy/managers/onewitheverything.manager b/test/twisted/telepathy/managers/onewitheverything.manager
new file mode 100644
index 0000000..e7dba1b
--- /dev/null
+++ b/test/twisted/telepathy/managers/onewitheverything.manager
@@ -0,0 +1,45 @@
+[Protocol serializable]
+# All the types for which telepathy-spec defines a serialization
+param-s=s required
+param-o=o
+param-b=b
+param-q=q
+param-u=u
+param-t=t
+param-n=n
+param-i=i
+param-x=x
+param-d=d
+param-as=as
+
+[Protocol defaults]
+# All the types, plus a default for each
+param-s=s
+default-s=foo
+param-o=o
+default-o=/foo
+param-b=b
+default-b=true
+param-q=q
+default-q=1
+param-u=u
+default-u=1
+param-t=t
+default-t=1
+param-n=n
+default-n=-1
+param-i=i
+default-i=-1
+param-x=x
+default-x=-1
+param-d=d
+default-d=1.5
+param-as=as
+default-as=foo;bar;baz;
+
+[Protocol flags]
+# All the flags
+param-account=s required register
+param-name=s register
+param-key=s required register secret
+param-com.example.Badgerable.Badgers=s dbus-property
--
1.5.6.5
More information about the telepathy-commits
mailing list