Mercurial > libervia-pubsub
diff idavoll/test/test_gateway.py @ 204:b4bf0a5ce50d
Implement storage facilities for the HTTP gateway.
Author: ralphm.
Fixes #12.
One of the storage facilities is PostgreSQL based, providing persistence.
author | Ralph Meijer <ralphm@ik.nu> |
---|---|
date | Wed, 16 Jul 2008 06:38:32 +0000 |
parents | e404775b12df |
children | 274a45d2a5ab |
line wrap: on
line diff
--- a/idavoll/test/test_gateway.py Mon Jul 14 09:16:16 2008 +0000 +++ b/idavoll/test/test_gateway.py Wed Jul 16 06:38:32 2008 +0000 @@ -35,7 +35,7 @@ self.client.startService() def tearDown(self): - self.client.stopService() + return self.client.stopService() def test_create(self): @@ -93,6 +93,7 @@ d.addCallback(cb) return d + def test_subscribeGetNotification(self): def onNotification(data, headers): @@ -116,6 +117,50 @@ d.addCallback(cb2) return defer.gatherResults([d, self.client.deferred]) + + def test_subscribeTwiceGetNotification(self): + + def onNotification1(data, headers): + d = client1.stopService() + d.chainDeferred(client1.deferred) + + def onNotification2(data, headers): + d = client2.stopService() + d.chainDeferred(client2.deferred) + + def cb(response): + xmppURI = response['uri'] + d = client1.subscribe(xmppURI) + d.addCallback(lambda _: xmppURI) + return d + + def cb2(xmppURI): + d = client2.subscribe(xmppURI) + d.addCallback(lambda _: xmppURI) + return d + + def cb3(xmppURI): + d = self.client.publish(entry, xmppURI) + return d + + + client1 = gateway.GatewayClient(baseURI, callbackPort=8088) + client1.startService() + client1.callback = onNotification1 + client1.deferred = defer.Deferred() + client2 = gateway.GatewayClient(baseURI, callbackPort=8089) + client2.startService() + client2.callback = onNotification2 + client2.deferred = defer.Deferred() + + d = self.client.create() + d.addCallback(cb) + d.addCallback(cb2) + d.addCallback(cb3) + dl = defer.gatherResults([d, client1.deferred, client2.deferred]) + return dl + + def test_subscribeGetDelayedNotification(self): def onNotification(data, headers): @@ -179,7 +224,6 @@ client2.callback = onNotification2 client2.deferred = defer.Deferred() - d = self.client.create() d.addCallback(cb) d.addCallback(cb2)