Exemple #1
0
    def recv_feature(self, data, method='mask', use_values=True, timeout=1):
        """
        """
        if method is None and hasattr(self, 'match_method'):
            method = getattr(self, 'match_method')

        if self.xmpp.socket.is_live:
            # we are working with a live connection, so we should
            # verify what has been received instead of simulating
            # receiving data.
            recv_data = self.xmpp.socket.next_recv(timeout)
            xml = self.parse_xml(data)
            recv_xml = self.parse_xml(recv_data)
            if recv_data is None:
                self.fail("No stanza was received.")
            if method == 'exact':
                self.failUnless(
                    self.compare(xml, recv_xml),
                    "Features do not match.\nDesired:\n%s\nReceived:\n%s" %
                    (tostring(xml), tostring(recv_xml)))
            elif method == 'mask':
                matcher = MatchXMLMask(xml)
                self.failUnless(matcher.match(recv_xml),
                    "Stanza did not match using %s method:\n" % method + \
                    "Criteria:\n%s\n" % tostring(xml) + \
                    "Stanza:\n%s" % tostring(recv_xml))
            else:
                raise ValueError("Uknown matching method: %s" % method)
        else:
            # place the data in the dummy socket receiving queue.
            data = str(data)
            self.xmpp.socket.recv_data(data)
    def recv_feature(self, data, method='mask', use_values=True, timeout=1):
        """
        """
        if method is None and hasattr(self, 'match_method'):
            method = getattr(self, 'match_method')

        if self.xmpp.socket.is_live:
            # we are working with a live connection, so we should
            # verify what has been received instead of simulating
            # receiving data.
            recv_data = self.xmpp.socket.next_recv(timeout)
            xml = self.parse_xml(data)
            recv_xml = self.parse_xml(recv_data)
            if recv_data is None:
                self.fail("No stanza was received.")
            if method == 'exact':
                self.failUnless(self.compare(xml, recv_xml),
                    "Features do not match.\nDesired:\n%s\nReceived:\n%s" % (
                        tostring(xml), tostring(recv_xml)))
            elif method == 'mask':
                matcher = MatchXMLMask(xml)
                self.failUnless(matcher.match(recv_xml),
                    "Stanza did not match using %s method:\n" % method + \
                    "Criteria:\n%s\n" % tostring(xml) + \
                    "Stanza:\n%s" % tostring(recv_xml))
            else:
                raise ValueError("Uknown matching method: %s" % method)
        else:
            # place the data in the dummy socket receiving queue.
            data = str(data)
            self.xmpp.socket.recv_data(data)
 def send_feature(self, data, method='mask', use_values=True, timeout=1):
     """
     """
     sent_data = self.xmpp.socket.next_sent(timeout)
     xml = self.parse_xml(data)
     sent_xml = self.parse_xml(sent_data)
     if sent_data is None:
         self.fail("No stanza was sent.")
     if method == 'exact':
         self.failUnless(self.compare(xml, sent_xml),
             "Features do not match.\nDesired:\n%s\nReceived:\n%s" % (
                 tostring(xml), tostring(sent_xml)))
     elif method == 'mask':
         matcher = MatchXMLMask(xml)
         self.failUnless(matcher.match(sent_xml),
             "Stanza did not match using %s method:\n" % method + \
             "Criteria:\n%s\n" % tostring(xml) + \
             "Stanza:\n%s" % tostring(sent_xml))
     else:
         raise ValueError("Uknown matching method: %s" % method)
 def send_feature(self, data, method='mask', use_values=True, timeout=1):
     """
     """
     sent_data = self.xmpp.socket.next_sent(timeout)
     xml = self.parse_xml(data)
     sent_xml = self.parse_xml(sent_data)
     if sent_data is None:
         self.fail("No stanza was sent.")
     if method == 'exact':
         self.failUnless(self.compare(xml, sent_xml),
             "Features do not match.\nDesired:\n%s\nReceived:\n%s" % (
                 tostring(xml), tostring(sent_xml)))
     elif method == 'mask':
         matcher = MatchXMLMask(xml)
         self.failUnless(matcher.match(sent_xml),
             "Stanza did not match using %s method:\n" % method + \
             "Criteria:\n%s\n" % tostring(xml) + \
             "Stanza:\n%s" % tostring(sent_xml))
     else:
         raise ValueError("Uknown matching method: %s" % method)