示例#1
0
        def _on_message(_con, _stanza, properties):

            data = [
                BookmarkData(
                    jid=JID.from_string('*****@*****.**'),
                    name='The Play\'s the Thing',
                    autojoin=True,
                    password='******',
                    nick='JC'),
                BookmarkData(
                    jid=JID.from_string('*****@*****.**'),
                    name='Second room',
                    autojoin=False,
                    password=None,
                    nick=None)
            ]

            pubsub_event = PubSubEventData(node='storage:bookmarks',
                                           id='current',
                                           item=None,
                                           data=data,
                                           deleted=False,
                                           retracted=False,
                                           purged=False)

            # We cant compare Node objects
            pubsub_event_ = properties.pubsub_event._replace(item=None)
            self.assertEqual(pubsub_event, pubsub_event_)
示例#2
0
        def _on_message(_con, _stanza, properties):

            pubsub_event = PubSubEventData(node='princely_musings',
                                           id=None,
                                           item=None,
                                           data=None,
                                           deleted=False,
                                           retracted=False,
                                           purged=True)

            self.assertEqual(pubsub_event, properties.pubsub_event)
示例#3
0
    def _process_pubsub_base(self, _client, stanza, properties):
        properties.pubsub = True
        event = stanza.getTag('event', namespace=Namespace.PUBSUB_EVENT)

        delete = event.getTag('delete')
        if delete is not None:
            node = delete.getAttr('node')
            properties.pubsub_event = PubSubEventData(node, deleted=True)
            return

        purge = event.getTag('purge')
        if purge is not None:
            node = purge.getAttr('node')
            properties.pubsub_event = PubSubEventData(node, purged=True)
            return

        items = event.getTag('items')
        if items is not None:
            node = items.getAttr('node')

            retract = items.getTag('retract')
            if retract is not None:
                id_ = retract.getAttr('id')
                properties.pubsub_event = PubSubEventData(node,
                                                          id_,
                                                          retracted=True)
                return

            if len(items.getChildren()) != 1:
                self._log.warning('PubSub event with != 1 item')
                self._log.warning(stanza)
                return

            item = items.getTag('item')
            if item is None:
                self._log.warning('No item node found')
                self._log.warning(stanza)
                return
            id_ = item.getAttr('id')
            properties.pubsub_event = PubSubEventData(node, id_, item)
示例#4
0
        def _on_message(_con, _stanza, properties):

            data = MoodData(mood='annoyed', text='curse my nurse!')

            pubsub_event = PubSubEventData(
                node='http://jabber.org/protocol/mood',
                id='a475804a-0f9c-11dc-98a8-001143d5d5db',
                item=None,
                data=data,
                deleted=False,
                retracted=False,
                purged=False)

            # We cant compare Node objects
            pubsub_event_ = properties.pubsub_event._replace(item=None)
            self.assertEqual(pubsub_event, pubsub_event_)
        def _on_message(_con, _stanza, properties):

            data = ActivityData(activity='relaxing',
                                subactivity='partying',
                                text='My nurse\'s birthday!')

            pubsub_event = PubSubEventData(
                node='http://jabber.org/protocol/activity',
                id='b5ac48d0-0f9c-11dc-8754-001143d5d5db',
                item=None,
                data=data,
                deleted=False,
                retracted=False,
                purged=False)

            # We cant compare Node objects
            pubsub_event_ = properties.pubsub_event._replace(item=None)
            self.assertEqual(pubsub_event, pubsub_event_)
示例#6
0
        def _on_message(_con, _stanza, properties):
            info = AvatarInfo(bytes='12345',
                              height='64',
                              width='64',
                              id='111f4b3c50d7b0df729d299bc6f8e9ef9066971f',
                              type='image/png',
                              url='http://avatars.example.org/happy.gif')

            metadata = AvatarMetaData(infos=[info])
            pubsub_event = PubSubEventData(
                node='urn:xmpp:avatar:metadata',
                id='111f4b3c50d7b0df729d299bc6f8e9ef9066971f',
                item=None,
                data=metadata,
                deleted=False,
                retracted=False,
                purged=False)

            # We cant compare Node objects
            pubsub_event_ = properties.pubsub_event._replace(item=None)
            self.assertEqual(pubsub_event, pubsub_event_)
        def _on_message(_con, _stanza, properties):

            data = LocationData(accuracy='20',
                                alt='1609',
                                altaccuracy='10',
                                area='Central Park',
                                bearing='12.33',
                                building='The Empire State Building',
                                country='United States',
                                countrycode='US',
                                datum='Some datum',
                                description='Bill\'s house',
                                error='290.8882087',
                                floor='102',
                                lat='39.75',
                                locality='New York City',
                                lon='-104.99',
                                postalcode='10118',
                                region='New York',
                                room='Observatory',
                                speed='52.69',
                                street='350 Fifth Avenue / 34th and Broadway',
                                text='Northwest corner of the lobby',
                                timestamp='2004-02-19T21:12Z',
                                tzo='-07:00',
                                uri='http://www.nyc.com/')

            pubsub_event = PubSubEventData(
                node='http://jabber.org/protocol/geoloc',
                id='d81a52b8-0f9c-11dc-9bc8-001143d5d5db',
                item=None,
                data=data,
                deleted=False,
                retracted=False,
                purged=False)

            # We cant compare Node objects
            pubsub_event_ = properties.pubsub_event._replace(item=None)
            self.assertEqual(pubsub_event, pubsub_event_)