Ignore:
Timestamp:
Aug 3, 2011, 9:49:23 AM (9 years ago)
Author:
Ralph Meijer <ralphm@…>
Branch:
default
Message:

Reimplement _DiscoRequest as generic.Request.

Author: ralphm, Goffi.
Fixes: #73.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wokkel/test/test_disco.py

    r96 r103  
    478478        """
    479479        self.stub = XmlStreamStub()
     480        self.patch(XMPPHandler, 'request', self.request)
    480481        self.protocol = disco.DiscoClientProtocol()
    481         self.protocol.xmlstream = self.stub.xmlstream
    482         self.protocol.connectionInitialized()
     482
     483
     484    def request(self, request):
     485        element = request.toElement()
     486        self.stub.xmlstream.send(element)
     487        return defer.Deferred()
    483488
    484489
     
    512517        element[u'jid'] = u"test2.example.org"
    513518
    514         self.stub.send(response)
     519        d.callback(response)
    515520        return d
    516521
     
    528533        response = toResponse(iq, u'result')
    529534        response.addElement((NS_DISCO_ITEMS, u'query'))
    530         self.stub.send(response)
    531 
     535
     536        d.callback(response)
    532537        return d
    533538
     
    567572        element[u'var'] = u'http://jabber.org/protocol/muc'
    568573
    569         self.stub.send(response)
     574        d.callback(response)
    570575        return d
    571576
     
    576581        """
    577582        d = self.protocol.requestInfo(JID(u'example.org'),
    578                                        sender=JID(u'test.example.org'))
     583                                      sender=JID(u'test.example.org'))
    579584
    580585        iq = self.stub.output[-1]
     
    583588        response = toResponse(iq, u'result')
    584589        response.addElement((NS_DISCO_INFO, u'query'))
    585         self.stub.send(response)
    586 
     590
     591        d.callback(response)
    587592        return d
    588593
     
    677682
    678683
     684    def test_onDiscoInfoWithNoFromAttribute(self):
     685        """
     686        Disco info request without a from attribute has requestor None.
     687        """
     688        xml = """<iq to='example.com'
     689                     type='get'>
     690                   <query xmlns='%s'/>
     691                 </iq>""" % NS_DISCO_INFO
     692
     693        def info(requestor, target, nodeIdentifier):
     694            self.assertEqual(None, requestor)
     695
     696            return defer.succeed([
     697                disco.DiscoIdentity('dummy', 'generic', 'Generic Dummy Entity'),
     698                disco.DiscoFeature('jabber:iq:version')
     699            ])
     700
     701        self.service.info = info
     702        d = self.handleRequest(xml)
     703        return d
     704
     705
     706    def test_onDiscoInfoWithNoToAttribute(self):
     707        """
     708        Disco info request without a to attribute has target None.
     709        """
     710        xml = """<iq from='test@example.com'
     711                     type='get'>
     712                   <query xmlns='%s'/>
     713                 </iq>""" % NS_DISCO_INFO
     714
     715        def info(requestor, target, nodeIdentifier):
     716            self.assertEqual(JID('test@example.com'), requestor)
     717
     718            return defer.succeed([
     719                disco.DiscoIdentity('dummy', 'generic', 'Generic Dummy Entity'),
     720                disco.DiscoFeature('jabber:iq:version')
     721            ])
     722
     723        self.service.info = info
     724        d = self.handleRequest(xml)
     725        return d
     726
     727
    679728    def test_onDiscoInfoWithNode(self):
    680729        """
Note: See TracChangeset for help on using the changeset viewer.