def test_unknown_keyboard_message(self):
        keyboard_json = {'to': 'aleem', 'type': 'some-unknown-type', 'hidden': False}
        message = TextMessage.from_json({
            'to': 'aleem',
            'participants': ['aleem'],
            'chatId': 'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2',
            'body': 'Some text',
            'id': '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0',
            'timestamp': 1458336131,
            'readReceiptRequested': True,
            'keyboards': [keyboard_json]
        })

        self.assertEqual(message.to, 'aleem')
        self.assertEqual(message.participants, ['aleem'])
        self.assertEqual(message.chat_id, 'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2')
        self.assertEqual(message.body, 'Some text')
        self.assertEqual(message.id, '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0')
        self.assertEqual(message.timestamp, 1458336131)
        self.assertIs(True, message.read_receipt_requested)
        self.assertIsInstance(message.keyboards, list)
        self.assertEqual(len(message.keyboards), 1)
        self.assertEqual(message.keyboards[0].to, 'aleem')
        self.assertEqual(message.keyboards[0].type, 'some-unknown-type')
        self.assertEqual(message.keyboards[0].hidden, False)
        self.assertEqual(message.keyboards[0].raw_keyboard, keyboard_json)
Example #2
0
    def test_suggested_keyboard_message(self):
        message = TextMessage.from_json({
            'to':
            'aleem',
            'participants': ['aleem'],
            'chatId':
            'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2',
            'body':
            'Some text',
            'id':
            '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0',
            'timestamp':
            1458336131,
            'readReceiptRequested':
            True,
            'keyboards': [{
                'to':
                'aleem',
                'type':
                'suggested',
                'hidden':
                False,
                'responses': [{
                    'type': 'text',
                    'body': 'Ok!'
                }, {
                    'type': 'text',
                    'body': 'No way!'
                }, {
                    'type': 'friend-picker',
                    'body': 'Pick a friend!',
                    'min': 1,
                    'max': 5,
                    'preselected': ['foo', 'bar']
                }]
            }]
        })

        self.assertEqual(message.to, 'aleem')
        self.assertEqual(message.participants, ['aleem'])
        self.assertEqual(
            message.chat_id,
            'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2')
        self.assertEqual(message.body, 'Some text')
        self.assertEqual(message.id, '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0')
        self.assertEqual(message.timestamp, 1458336131)
        self.assertIs(True, message.read_receipt_requested)
        responses = [
            TextResponse('Ok!'),
            TextResponse('No way!'),
            FriendPickerResponse('Pick a friend!', 1, 5, ['foo', 'bar'])
        ]
        self.assertEqual(message.keyboards, [
            SuggestedResponseKeyboard(
                to='aleem', hidden=False, responses=responses)
        ])
    def test_suggested_keyboard_message(self):
        message = TextMessage.from_json({
            'to': 'aleem',
            'participants': ['aleem'],
            'chatId': 'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2',
            'body': 'Some text',
            'id': '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0',
            'timestamp': 1458336131,
            'readReceiptRequested': True,
            'keyboards': [
                {
                    'to': 'aleem',
                    'type': 'suggested',
                    'hidden': False,
                    'responses': [
                        {
                            'type': 'picture',
                            'picUrl': 'http://foo.bar',
                            'metadata': {'some': 'data'}
                        },
                        {
                            'type': 'text',
                            'body': 'Ok!'
                        },
                        {
                            'type': 'text',
                            'body': 'No way!'
                        },
                        {
                            'type': 'friend-picker',
                            'body': 'Pick a friend!',
                            'min': 1,
                            'max': 5,
                            'preselected': ['foo', 'bar']
                        }
                    ]
                }
            ]
        })

        self.assertEqual(message.to, 'aleem')
        self.assertEqual(message.participants, ['aleem'])
        self.assertEqual(message.chat_id, 'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2')
        self.assertEqual(message.body, 'Some text')
        self.assertEqual(message.id, '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0')
        self.assertEqual(message.timestamp, 1458336131)
        self.assertIs(True, message.read_receipt_requested)
        responses = [
            PictureResponse('http://foo.bar', {'some': 'data'}), TextResponse('Ok!'), TextResponse('No way!'),
            FriendPickerResponse('Pick a friend!', 1, 5, ['foo', 'bar'])
        ]
        self.assertEqual(message.keyboards, [SuggestedResponseKeyboard(to='aleem', hidden=False, responses=responses)])
Example #4
0
    def test_text_message_incoming(self):
        message = TextMessage.from_json({
            'from': 'aleem',
            'participants': ['aleem'],
            'mention': None,
            'chatId': 'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2',
            'body': 'Some text',
            'id': '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0',
            'timestamp': 1458336131,
            'readReceiptRequested': True
        })

        self.assertEqual(message.from_user, 'aleem')
        self.assertEqual(message.participants, ['aleem'])
        self.assertIsNone(message.mention)
        self.assertEqual(message.chat_id, 'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2')
        self.assertEqual(message.body, 'Some text')
        self.assertEqual(message.id, '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0')
        self.assertEqual(message.timestamp, 1458336131)
        self.assertIs(True, message.read_receipt_requested)
    def test_text_message_incoming(self):
        message = TextMessage.from_json({
            'from': 'aleem',
            'participants': ['aleem'],
            'mention': None,
            'chatId': 'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2',
            'body': 'Some text',
            'id': '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0',
            'timestamp': 1458336131,
            'readReceiptRequested': True
        })

        self.assertEqual(message.from_user, 'aleem')
        self.assertEqual(message.participants, ['aleem'])
        self.assertIs(None, message.mention)
        self.assertEqual(message.chat_id, 'c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2')
        self.assertEqual(message.body, 'Some text')
        self.assertEqual(message.id, '8e7fc0ad-36aa-43dd-8c5f-e72f5f2ed7e0')
        self.assertEqual(message.timestamp, 1458336131)
        self.assertIs(True, message.read_receipt_requested)