Changeset 4:c8c73d9e5496 in ralphm-patches for pubsub_client_sender.patch
- Timestamp:
- Mar 23, 2009, 9:42:55 PM (13 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pubsub_client_sender.patch
r3 r4 1 diff -r 52898d5828ee wokkel/pubsub.py 2 --- a/wokkel/pubsub.py Thu Mar 05 19:41:28 2009 +0100 3 +++ b/wokkel/pubsub.py Fri Mar 06 21:15:35 2009 +0100 4 @@ -150,8 +150,11 @@ 5 C{verb}. 6 """ 7 8 - def __init__(self, xs, verb, namespace=NS_PUBSUB, method='set'): 9 + def __init__(self, xs, verb, namespace=NS_PUBSUB, method='set', 10 + sender=None): 11 xmlstream.IQ.__init__(self, xs, method) 12 + if sender: 13 + self['from'] = sender.full() 14 self.addElement((namespace, 'pubsub')) 15 16 self.command = self.pubsub.addElement(verb) 17 @@ -295,7 +298,7 @@ 1 diff -r 8be0600d2c32 wokkel/pubsub.py 2 --- a/wokkel/pubsub.py Mon Mar 23 09:00:16 2009 +0100 3 +++ b/wokkel/pubsub.py Mon Mar 23 09:00:24 2009 +0100 4 @@ -605,7 +605,7 @@ 18 5 pass 19 6 … … 24 11 Create a publish subscribe node. 25 12 26 @@ -306,7 +309,7 @@ 27 """ 28 29 30 - request = _PubSubRequest(self.xmlstream, 'create') 31 + request = _PubSubRequest(self.xmlstream, 'create', sender=sender) 32 if nodeIdentifier: 33 request.command['node'] = nodeIdentifier 34 35 @@ -321,7 +324,7 @@ 36 return request.send(service).addCallback(cb) 13 @@ -617,6 +617,7 @@ 14 request = PubSubRequest('create') 15 request.recipient = service 16 request.nodeIdentifier = nodeIdentifier 17 + request.sender = sender 18 19 def cb(iq): 20 try: 21 @@ -631,7 +632,7 @@ 22 return d 37 23 38 24 … … 42 28 Delete a publish subscribe node. 43 29 44 @@ -330,12 +333,13 @@ 45 @param nodeIdentifier: The identifier of the node. 46 @type nodeIdentifier: C{unicode} 47 """ 48 - request = _PubSubRequest(self.xmlstream, 'delete', NS_PUBSUB_OWNER) 49 + request = _PubSubRequest(self.xmlstream, 'delete', NS_PUBSUB_OWNER, 50 + sender=None) 51 request.command['node'] = nodeIdentifier 52 return request.send(service) 30 @@ -643,10 +644,11 @@ 31 request = PubSubRequest('delete') 32 request.recipient = service 33 request.nodeIdentifier = nodeIdentifier 34 + request.sender = sender 35 return request.send(self.xmlstream) 53 36 54 37 … … 58 41 Subscribe to a publish subscribe node. 59 42 60 @@ -347,7 +351,7 @@ 61 will get notifications of new published items. 62 @type subscriber: L{JID} 63 """ 64 - request = _PubSubRequest(self.xmlstream, 'subscribe') 65 + request = _PubSubRequest(self.xmlstream, 'subscribe', sender=sender) 66 if nodeIdentifier: 67 request.command['node'] = nodeIdentifier 68 request.command['jid'] = subscriber.full() 69 @@ -368,7 +372,7 @@ 70 return request.send(service).addCallback(cb) 43 @@ -662,6 +664,7 @@ 44 request.recipient = service 45 request.nodeIdentifier = nodeIdentifier 46 request.subscriber = subscriber 47 + request.sender = sender 48 49 def cb(iq): 50 subscription = iq.pubsub.subscription["subscription"] 51 @@ -681,7 +684,7 @@ 52 return d 71 53 72 54 … … 76 58 Unsubscribe from a publish subscribe node. 77 59 78 @@ -379,14 +383,14 @@ 79 @param subscriber: The entity to unsubscribe from the node. 80 @type subscriber: L{JID} 81 """ 82 - request = _PubSubRequest(self.xmlstream, 'unsubscribe') 83 + request = _PubSubRequest(self.xmlstream, 'unsubscribe', sender=sender) 84 if nodeIdentifier: 85 request.command['node'] = nodeIdentifier 86 request.command['jid'] = subscriber.full() 87 return request.send(service) 60 @@ -696,10 +699,11 @@ 61 request.recipient = service 62 request.nodeIdentifier = nodeIdentifier 63 request.subscriber = subscriber 64 + request.sender = sender 65 return request.send(self.xmlstream) 88 66 89 67 … … 93 71 Publish to a publish subscribe node. 94 72 95 @@ -397,7 +401,7 @@ 96 @param items: Optional list of L{Item}s to publish. 97 @type items: C{list} 98 """ 99 - request = _PubSubRequest(self.xmlstream, 'publish') 100 + request = _PubSubRequest(self.xmlstream, 'publish', sender=sender) 101 request.command['node'] = nodeIdentifier 102 if items: 103 for item in items: 104 @@ -406,7 +410,7 @@ 105 return request.send(service) 73 @@ -714,10 +718,11 @@ 74 request.recipient = service 75 request.nodeIdentifier = nodeIdentifier 76 request.items = items 77 + request.sender = sender 78 return request.send(self.xmlstream) 106 79 107 80 … … 111 84 Retrieve previously published items from a publish subscribe node. 112 85 113 @@ -417,7 +421,8 @@ 114 @param maxItems: Optional limit on the number of retrieved items. 115 @type maxItems: C{int} 116 """ 117 - request = _PubSubRequest(self.xmlstream, 'items', method='get') 118 + request = _PubSubRequest(self.xmlstream, 'items', method='get', 119 + sender=sender) 120 if nodeIdentifier: 121 request.command['node'] = nodeIdentifier 86 @@ -733,6 +738,7 @@ 87 request.nodeIdentifier = nodeIdentifier 122 88 if maxItems: 89 request.maxItems = str(int(maxItems)) 90 + request.sender = sender 91 92 def cb(iq): 93 items = [] 94 diff -r 8be0600d2c32 wokkel/test/test_pubsub.py 95 --- a/wokkel/test/test_pubsub.py Mon Mar 23 09:00:16 2009 +0100 96 +++ b/wokkel/test/test_pubsub.py Mon Mar 23 09:00:24 2009 +0100 97 @@ -257,6 +257,22 @@ 98 return d 99 100 101 + def test_createNodeWithSender(self): 102 + """ 103 + Test sending create request from a specific JID. 104 + """ 105 + 106 + d = self.protocol.createNode(JID('pubsub.example.org'), 'test', 107 + sender=JID('user@example.org')) 108 + 109 + iq = self.stub.output[-1] 110 + self.assertEquals('user@example.org', iq['from']) 111 + 112 + response = toResponse(iq, 'result') 113 + self.stub.send(response) 114 + return d 115 + 116 + 117 def test_deleteNode(self): 118 """ 119 Test sending delete request. 120 @@ -280,6 +296,22 @@ 121 return d 122 123 124 + def test_deleteNodeWithSender(self): 125 + """ 126 + Test sending delete request. 127 + """ 128 + 129 + d = self.protocol.deleteNode(JID('pubsub.example.org'), 'test', 130 + sender=JID('user@example.org')) 131 + 132 + iq = self.stub.output[-1] 133 + self.assertEquals('user@example.org', iq['from']) 134 + 135 + response = toResponse(iq, 'result') 136 + self.stub.send(response) 137 + return d 138 + 139 + 140 def test_publish(self): 141 """ 142 Test sending publish request. 143 @@ -331,6 +363,23 @@ 144 return d 145 146 147 + def test_publishWithSender(self): 148 + """ 149 + Test sending publish request from a specific JID. 150 + """ 151 + 152 + item = pubsub.Item() 153 + d = self.protocol.publish(JID('pubsub.example.org'), 'test', [item], 154 + JID('user@example.org')) 155 + 156 + iq = self.stub.output[-1] 157 + self.assertEquals('user@example.org', iq['from']) 158 + 159 + response = toResponse(iq, 'result') 160 + self.stub.send(response) 161 + return d 162 + 163 + 164 def test_subscribe(self): 165 """ 166 Test sending subscription request. 167 @@ -400,6 +449,27 @@ 168 return d 169 170 171 + def test_subscribeWithSender(self): 172 + """ 173 + Test sending subscription request from a specific JID. 174 + """ 175 + d = self.protocol.subscribe(JID('pubsub.example.org'), 'test', 176 + JID('user@example.org'), 177 + sender=JID('user@example.org')) 178 + 179 + iq = self.stub.output[-1] 180 + self.assertEquals('user@example.org', iq['from']) 181 + 182 + response = toResponse(iq, 'result') 183 + pubsub = response.addElement((NS_PUBSUB, 'pubsub')) 184 + subscription = pubsub.addElement('subscription') 185 + subscription['node'] = 'test' 186 + subscription['jid'] = 'user@example.org' 187 + subscription['subscription'] = 'subscribed' 188 + self.stub.send(response) 189 + return d 190 + 191 + 192 def test_unsubscribe(self): 193 """ 194 Test sending unsubscription request. 195 @@ -423,6 +493,20 @@ 196 return d 197 198 199 + def test_unsubscribeWithSender(self): 200 + """ 201 + Test sending unsubscription request from a specific JID. 202 + """ 203 + d = self.protocol.unsubscribe(JID('pubsub.example.org'), 'test', 204 + JID('user@example.org'), 205 + sender=JID('user@example.org')) 206 + 207 + iq = self.stub.output[-1] 208 + self.assertEquals('user@example.org', iq['from']) 209 + self.stub.send(toResponse(iq, 'result')) 210 + return d 211 + 212 + 213 def test_items(self): 214 """ 215 Test sending items request. 216 @@ -489,6 +573,25 @@ 217 return d 218 219 220 + def test_itemsWithSender(self): 221 + """ 222 + Test sending items request from a specific JID. 223 + """ 224 + 225 + d = self.protocol.items(JID('pubsub.example.org'), 'test', 226 + sender=JID('user@example.org')) 227 + 228 + iq = self.stub.output[-1] 229 + self.assertEquals('user@example.org', iq['from']) 230 + 231 + response = toResponse(iq, 'result') 232 + items = response.addElement((NS_PUBSUB, 'pubsub')).addElement('items') 233 + items['node'] = 'test' 234 + 235 + self.stub.send(response) 236 + return d 237 + 238 + 239 240 class PubSubServiceTest(unittest.TestCase, TestableRequestHandlerMixin): 241 """
Note: See TracChangeset
for help on using the changeset viewer.