当前位置: 首页>>代码示例>>Python>>正文


Python TransportUserMessage.reply方法代码示例

本文整理汇总了Python中vumi.message.TransportUserMessage.reply方法的典型用法代码示例。如果您正苦于以下问题:Python TransportUserMessage.reply方法的具体用法?Python TransportUserMessage.reply怎么用?Python TransportUserMessage.reply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vumi.message.TransportUserMessage的用法示例。


在下文中一共展示了TransportUserMessage.reply方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: make_request

# 需要导入模块: from vumi.message import TransportUserMessage [as 别名]
# 或者: from vumi.message.TransportUserMessage import reply [as 别名]
    def make_request(self, session_type, session_id, reply=None,
                     continue_session=True, expect_msg=True,
                     defer_response=False, **kw):
        url_suffix = "session/%s/%s" % (session_id, session_type)
        method = self.SESSION_HTTP_METHOD.get(session_type, "POST")
        request_data = self.DEFAULT_SESSION_DATA[session_type].copy()
        request_data.update(kw)
        deferred_req = http_request(self.worker_url + url_suffix,
                                    json.dumps(request_data), method=method)
        if not expect_msg:
            msg = None
        else:
            [msg] = yield self.broker.wait_messages("vumi",
                                                    "test_infobip.inbound",
                                                    1)
            self.broker.clear_messages("vumi", "test_infobip.inbound")
            msg = TransportUserMessage(**msg.payload)
            if reply is not None:
                reply_msg = msg.reply(reply, continue_session=continue_session)
                self.broker.publish_message("vumi", "test_infobip.outbound",
                                         reply_msg)

        if defer_response:
            response = deferred_req
        else:
            response = yield deferred_req
        returnValue((msg, response))
开发者ID:BantouTelecom,项目名称:vumi,代码行数:29,代码来源:test_infobip.py

示例2: test_send_reply_message

# 需要导入模块: from vumi.message import TransportUserMessage [as 别名]
# 或者: from vumi.message.TransportUserMessage import reply [as 别名]
    def test_send_reply_message(self):
        '''send_reply_message should place the correct reply message on the
        correct queue'''
        yield self.create_channel(
            self.service, self.redis, TelnetServerTransport, id='channel-id')

        in_msg = TransportUserMessage(
            from_addr='+2789',
            to_addr='+1234',
            transport_name='channel-id',
            transport_type='_',
            transport_metadata={'foo': 'bar'})

        yield self.api.inbounds.store_vumi_message('channel-id', in_msg)

        msg = yield Channel.send_reply_message(
            'channel-id', self.message_sender, self.outbounds, self.inbounds, {
                'reply_to': in_msg['message_id'],
                'content': 'testcontent',
            })

        expected = in_msg.reply(content='testcontent')
        expected = conjoin(api_from_message(expected), {
            'timestamp': msg['timestamp'],
            'message_id': msg['message_id']
        })

        self.assertEqual(msg, expected)

        [dispatched] = self.get_dispatched_messages('channel-id.outbound')
        self.assertEqual(msg['message_id'], dispatched['message_id'])
        self.assertEqual(api_from_message(dispatched), expected)
开发者ID:westerncapelabs,项目名称:junebug,代码行数:34,代码来源:test_channel.py

示例3: test_inbound_resume_continue

# 需要导入模块: from vumi.message import TransportUserMessage [as 别名]
# 或者: from vumi.message.TransportUserMessage import reply [as 别名]
 def test_inbound_resume_continue(self):
     url = "%s%s?%s" % (
         self.transport_url,
         self.config['web_path'],
         urlencode({
             'ussdSessionId': 123,
             'msisdn': 555,
             'provider': 'web',
             'request': 1,
         })
     )
     d = http_request(url, '', method='GET')
     msg, = yield self.wait_for_dispatched_messages(1)
     payload = msg.payload
     self.assertEqual(payload['transport_name'], self.transport_name)
     self.assertEqual(payload['transport_type'], "ussd")
     self.assertEqual(payload['transport_metadata'],
                      {"session_id": "123"})
     self.assertEqual(payload['session_event'],
                      TransportUserMessage.SESSION_RESUME)
     self.assertEqual(payload['from_addr'], '555')
     self.assertEqual(payload['to_addr'], '')
     self.assertEqual(payload['content'], '1')
     tum = TransportUserMessage(**payload)
     rep = tum.reply("OK")
     self.dispatch(rep)
     response = yield d
     correct_response = '<request>\n\t<headertext>OK</headertext>\n\t' \
             '<options>\n\t\t<option command="1" order="1" ' \
             'callback="http://localhost/foo" display="False" >' \
             '</option>\n\t</options>\n</request>'
     self.assertEqual(response, correct_response)
开发者ID:BantouTelecom,项目名称:vumi,代码行数:34,代码来源:test_vodacom_messaging.py

示例4: test_inbound_resume_close

# 需要导入模块: from vumi.message import TransportUserMessage [as 别名]
# 或者: from vumi.message.TransportUserMessage import reply [as 别名]
 def test_inbound_resume_close(self):
     args = "/?ussdSessionId=123&msisdn=555&provider=web&request=1"
     url = "%s%s?%s" % (
         self.transport_url,
         self.config['web_path'],
         urlencode({
             'ussdSessionId': 123,
             'msisdn': 555,
             'provider': 'web',
             'request': 1,
         })
     )
     d = http_request(url, '', method='GET')
     msg, = yield self.wait_for_dispatched_messages(1)
     payload = msg.payload
     self.assertEqual(payload['transport_name'], self.transport_name)
     self.assertEqual(payload['transport_type'], "ussd")
     self.assertEqual(payload['transport_metadata'],
                      {"session_id": "123"})
     self.assertEqual(payload['session_event'],
                      TransportUserMessage.SESSION_RESUME)
     self.assertEqual(payload['from_addr'], '555')
     self.assertEqual(payload['to_addr'], '')
     self.assertEqual(payload['content'], '1')
     tum = TransportUserMessage(**payload)
     rep = tum.reply("OK", False)
     self.dispatch(rep)
     response = yield d
     correct_response = '<request>\n\t<headertext>OK' + \
                         '</headertext>\n</request>'
     self.assertEqual(response, correct_response)
开发者ID:mangroveorg,项目名称:vumi,代码行数:33,代码来源:test_vodacom_messaging.py

示例5: test_inbound

# 需要导入模块: from vumi.message import TransportUserMessage [as 别名]
# 或者: from vumi.message.TransportUserMessage import reply [as 别名]
 def test_inbound(self):
     d = http_request(self.worker_url + "foo", '', method='GET')
     msg, = yield self.broker.wait_messages("vumi",
         "test_ok_transport.inbound", 1)
     payload = msg.payload
     tum = TransportUserMessage(**payload)
     rep = tum.reply("OK")
     self.broker.publish_message("vumi", "test_ok_transport.outbound",
             rep)
     response = yield d
     self.assertEqual(response, 'OK')
开发者ID:BantouTelecom,项目名称:vumi,代码行数:13,代码来源:test_httprpc.py

示例6: test_transport_user_message_reply_no_group

# 需要导入模块: from vumi.message import TransportUserMessage [as 别名]
# 或者: from vumi.message.TransportUserMessage import reply [as 别名]
 def test_transport_user_message_reply_no_group(self):
     msg = TransportUserMessage(
         to_addr='123',
         from_addr='456',
         transport_name='sphex',
         transport_type='sms',
         transport_metadata={'foo': 'bar'},
         helper_metadata={'otherfoo': 'otherbar'},
         )
     reply = msg.reply(content='Hi!')
     self.assertEqual(reply['from_addr'], '123')
     self.assertEqual(reply['to_addr'], '456')
     self.assertEqual(reply['group'], None)
     self.assertEqual(reply['session_event'], reply.SESSION_NONE)
     self.assertEqual(reply['in_reply_to'], msg['message_id'])
     self.assertEqual(reply['transport_name'], msg['transport_name'])
     self.assertEqual(reply['transport_type'], msg['transport_type'])
     self.assertEqual(reply['transport_metadata'],
                      msg['transport_metadata'])
     self.assertEqual(reply['helper_metadata'], msg['helper_metadata'])
开发者ID:BantouTelecom,项目名称:vumi,代码行数:22,代码来源:test_message.py

示例7: test_send_message_reply

# 需要导入模块: from vumi.message import TransportUserMessage [as 别名]
# 或者: from vumi.message.TransportUserMessage import reply [as 别名]
    def test_send_message_reply(self):
        '''Sending a reply message should fetch the relevant inbound message,
        use it to construct a reply message, and place the reply message on the
        queue for the channel'''
        channel = Channel(
            redis_manager=(yield self.get_redis()),
            config=(yield self.create_channel_config()),
            properties=self.create_channel_properties(),
            id='test-channel')

        yield channel.save()
        yield channel.start(self.service)

        in_msg = TransportUserMessage(
            from_addr='+2789',
            to_addr='+1234',
            transport_name='test-channel',
            transport_type='_',
            transport_metadata={'foo': 'bar'})

        yield self.api.inbounds.store_vumi_message('test-channel', in_msg)
        expected = in_msg.reply(content='testcontent')
        expected = api_from_message(expected)

        resp = yield self.post('/channels/test-channel/messages/', {
            'reply_to': in_msg['message_id'],
            'content': 'testcontent',
        })

        yield self.assert_response(
            resp, http.OK,
            'message sent',
            omit(expected, 'timestamp', 'message_id'),
            ignore=['timestamp', 'message_id'])

        [message] = self.get_dispatched_messages('test-channel.outbound')
        message_id = (yield resp.json())['result']['message_id']
        self.assertEqual(message['message_id'], message_id)
开发者ID:westerncapelabs,项目名称:junebug,代码行数:40,代码来源:test_api.py


注:本文中的vumi.message.TransportUserMessage.reply方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。