Ejemplo n.º 1
0
    def testBasic(self):
        socket_map = {}
        xmpp_connection = xmppserver.XmppConnection(self.fake_socket,
                                                    socket_map, self, ('', 0),
                                                    True)
        self.assertEqual(len(socket_map), 1)
        self.assertEqual(len(self.connections), 0)
        xmpp_connection.HandshakeDone(xmppserver.Jid('foo', 'bar'))
        self.assertEqual(len(socket_map), 1)
        self.assertEqual(len(self.connections), 1)

        sent_data = self.fake_socket.GetSentData()

        # Test subscription request.
        self.assertEqual(len(sent_data), 0)
        xmpp_connection.collect_incoming_data(
            '<iq><subscribe xmlns="google:push"></subscribe></iq>')
        self.assertEqual(len(sent_data), 1)

        # Test acks.
        xmpp_connection.collect_incoming_data('<iq type="result"/>')
        self.assertEqual(len(sent_data), 1)

        # Test notification.
        xmpp_connection.collect_incoming_data(
            '<message><push xmlns="google:push"/></message>')
        self.assertEqual(len(sent_data), 2)

        # Test unexpected stanza.
        def SendUnexpectedStanza():
            xmpp_connection.collect_incoming_data('<foo/>')

        self.assertRaises(xmppserver.UnexpectedXml, SendUnexpectedStanza)

        # Test unexpected notifier command.
        def SendUnexpectedNotifierCommand():
            xmpp_connection.collect_incoming_data(
                '<iq><foo xmlns="google:notifier"/></iq>')

        self.assertRaises(xmppserver.UnexpectedXml,
                          SendUnexpectedNotifierCommand)

        # Test close.
        xmpp_connection.close()
        self.assertEqual(len(socket_map), 0)
        self.assertEqual(len(self.connections), 0)
Ejemplo n.º 2
0
    def testBasic(self):
        socket_map = {}
        xmpp_connection = xmppserver.XmppConnection(self, socket_map, self,
                                                    ('', 0))
        self.assertEqual(len(socket_map), 1)
        self.assertEqual(len(self.connections), 0)
        xmpp_connection.HandshakeDone(xmppserver.Jid('foo', 'bar'))
        self.assertEqual(len(socket_map), 1)
        self.assertEqual(len(self.connections), 1)

        # Test subscription request.
        self.assertEqual(len(self.data), 0)
        xmpp_connection.collect_incoming_data(
            '<iq><getAll xmlns="google:notifier">'
            '<SubscribedServiceUrl/></getAll></iq>')
        self.assertEqual(len(self.data), 1)

        # Test acks.
        xmpp_connection.collect_incoming_data('<iq type="result"/>')
        self.assertEqual(len(self.data), 1)

        # Test notification.
        xmpp_connection.collect_incoming_data(
            '<iq><set xmlns="google:notifier"/></iq>')
        self.assertEqual(len(self.data), 2)

        # Test unexpected stanza.
        def SendUnexpectedStanza():
            xmpp_connection.collect_incoming_data('<foo/>')

        self.assertRaises(xmppserver.UnexpectedXml, SendUnexpectedStanza)

        # Test unexpected notifier command.
        def SendUnexpectedNotifierCommand():
            xmpp_connection.collect_incoming_data(
                '<iq><foo xmlns="google:notifier"/></iq>')

        self.assertRaises(xmppserver.UnexpectedXml,
                          SendUnexpectedNotifierCommand)

        # Test close
        xmpp_connection.close()
        self.assertEqual(len(socket_map), 0)
        self.assertEqual(len(self.connections), 0)
Ejemplo n.º 3
0
    def testBasicUnauthenticated(self):
        socket_map = {}
        xmpp_connection = xmppserver.XmppConnection(self.fake_socket,
                                                    socket_map, self, ('', 0),
                                                    False)
        self.assertEqual(len(socket_map), 1)
        self.assertEqual(len(self.connections), 0)
        xmpp_connection.HandshakeDone(None)
        self.assertEqual(len(socket_map), 0)
        self.assertEqual(len(self.connections), 0)

        # Test unexpected stanza.
        def SendUnexpectedStanza():
            xmpp_connection.collect_incoming_data('<foo/>')

        self.assertRaises(xmppserver.UnexpectedXml, SendUnexpectedStanza)

        # Test redundant close.
        xmpp_connection.close()
        self.assertEqual(len(socket_map), 0)
        self.assertEqual(len(self.connections), 0)