Mercurial > libervia-pubsub
comparison idavoll/test/test_gateway.py @ 187:69cdd8c6a431
Make sure second subscribers through HTTP also get a notification of the
last item.
author | Ralph Meijer <ralphm@ik.nu> |
---|---|
date | Thu, 17 Apr 2008 16:02:22 +0000 |
parents | 365fd3e4daf8 |
children | 48245777acea |
comparison
equal
deleted
inserted
replaced
186:365fd3e4daf8 | 187:69cdd8c6a431 |
---|---|
27 #baseURI = "http://pubsub-test.ik.nu/" | 27 #baseURI = "http://pubsub-test.ik.nu/" |
28 baseURI = "http://localhost:8086/" | 28 baseURI = "http://localhost:8086/" |
29 componentJID = "test.ik.nu" | 29 componentJID = "test.ik.nu" |
30 | 30 |
31 class GatewayTest(unittest.TestCase): | 31 class GatewayTest(unittest.TestCase): |
32 timeout = 2 | |
32 | 33 |
33 def setUp(self): | 34 def setUp(self): |
34 self.client = gateway.GatewayClient(baseURI) | 35 self.client = gateway.GatewayClient(baseURI) |
35 self.client.startService() | 36 self.client.startService() |
36 | 37 |
138 d = self.client.create() | 139 d = self.client.create() |
139 d.addCallback(cb) | 140 d.addCallback(cb) |
140 d.addCallback(cb2) | 141 d.addCallback(cb2) |
141 return defer.gatherResults([d, self.client.deferred]) | 142 return defer.gatherResults([d, self.client.deferred]) |
142 | 143 |
144 def test_subscribeGetDelayedNotification2(self): | |
145 """ | |
146 Test that subscribing as second results in a notification being sent. | |
147 """ | |
148 | |
149 def onNotification1(data, headers): | |
150 client1.deferred.callback(None) | |
151 client1.stopService() | |
152 | |
153 def onNotification2(data, headers): | |
154 client2.deferred.callback(None) | |
155 client2.stopService() | |
156 | |
157 def cb(response): | |
158 xmppURI = response['uri'] | |
159 self.assertNot(client1.deferred.called) | |
160 self.assertNot(client2.deferred.called) | |
161 d = self.client.publish(entry, xmppURI) | |
162 d.addCallback(lambda _: xmppURI) | |
163 return d | |
164 | |
165 def cb2(xmppURI): | |
166 d = client1.subscribe(xmppURI) | |
167 d.addCallback(lambda _: xmppURI) | |
168 return d | |
169 | |
170 def cb3(xmppURI): | |
171 d = client2.subscribe(xmppURI) | |
172 return d | |
173 | |
174 client1 = gateway.GatewayClient(baseURI, callbackPort=8088) | |
175 client1.startService() | |
176 client1.callback = onNotification1 | |
177 client1.deferred = defer.Deferred() | |
178 client2 = gateway.GatewayClient(baseURI, callbackPort=8089) | |
179 client2.startService() | |
180 client2.callback = onNotification2 | |
181 client2.deferred = defer.Deferred() | |
182 | |
183 | |
184 d = self.client.create() | |
185 d.addCallback(cb) | |
186 d.addCallback(cb2) | |
187 d.addCallback(cb3) | |
188 dl = defer.gatherResults([d, client1.deferred, client2.deferred]) | |
189 return dl | |
190 | |
191 | |
143 def test_subscribeNonExisting(self): | 192 def test_subscribeNonExisting(self): |
144 def cb(err): | 193 def cb(err): |
145 self.assertEqual('404', err.status) | 194 self.assertEqual('404', err.status) |
146 | 195 |
147 d = self.client.subscribe('xmpp:%s?node=test' % componentJID) | 196 d = self.client.subscribe('xmpp:%s?node=test' % componentJID) |