|
27 | 27 | TextMessage, ImageMessage, VideoMessage, AudioMessage, |
28 | 28 | LocationMessage, StickerMessage, |
29 | 29 | SourceUser, SourceRoom, SourceGroup, |
| 30 | + Params, |
30 | 31 | ) |
31 | 32 |
|
32 | 33 |
|
@@ -195,6 +196,7 @@ def test_parse(self): |
195 | 196 | self.assertEqual(events[10].source.user_id, 'U206d25c2ea6bd87c17655609a1c37cb8') |
196 | 197 | self.assertEqual(events[10].source.sender_id, 'U206d25c2ea6bd87c17655609a1c37cb8') |
197 | 198 | self.assertEqual(events[10].postback.data, 'action=buyItem&itemId=123123&color=red') |
| 199 | + self.assertEqual(events[10].postback.params, None) |
198 | 200 |
|
199 | 201 | # BeaconEvent, SourceUser |
200 | 202 | self.assertIsInstance(events[11], BeaconEvent) |
@@ -254,6 +256,45 @@ def test_parse(self): |
254 | 256 | self.assertEqual(events[14].message.type, 'text') |
255 | 257 | self.assertEqual(events[14].message.text, 'Hello, world') |
256 | 258 |
|
| 259 | + # PostbackEvent, SourceUser, with date params |
| 260 | + self.assertIsInstance(events[15], PostbackEvent) |
| 261 | + self.assertEqual(events[15].reply_token, 'nHuyWiB7yP5Zw52FIkcQobQuGDXCTA') |
| 262 | + self.assertEqual(events[15].type, 'postback') |
| 263 | + self.assertEqual(events[15].timestamp, 1462629479859) |
| 264 | + self.assertIsInstance(events[15].source, SourceUser) |
| 265 | + self.assertEqual(events[15].source.type, 'user') |
| 266 | + self.assertEqual(events[15].source.user_id, 'U206d25c2ea6bd87c17655609a1c37cb8') |
| 267 | + self.assertEqual(events[15].source.sender_id, 'U206d25c2ea6bd87c17655609a1c37cb8') |
| 268 | + self.assertEqual(events[15].postback.data, 'action=buyItem&itemId=123123&color=red') |
| 269 | + self.assertIsInstance(events[15].postback.params, Params) |
| 270 | + self.assertEqual(events[15].postback.params.date, '2013-04-01') |
| 271 | + |
| 272 | + # PostbackEvent, SourceUser, with date params |
| 273 | + self.assertIsInstance(events[16], PostbackEvent) |
| 274 | + self.assertEqual(events[16].reply_token, 'nHuyWiB7yP5Zw52FIkcQobQuGDXCTA') |
| 275 | + self.assertEqual(events[16].type, 'postback') |
| 276 | + self.assertEqual(events[16].timestamp, 1462629479859) |
| 277 | + self.assertIsInstance(events[16].source, SourceUser) |
| 278 | + self.assertEqual(events[16].source.type, 'user') |
| 279 | + self.assertEqual(events[16].source.user_id, 'U206d25c2ea6bd87c17655609a1c37cb8') |
| 280 | + self.assertEqual(events[16].source.sender_id, 'U206d25c2ea6bd87c17655609a1c37cb8') |
| 281 | + self.assertEqual(events[16].postback.data, 'action=buyItem&itemId=123123&color=red') |
| 282 | + self.assertIsInstance(events[15].postback.params, Params) |
| 283 | + self.assertEqual(events[16].postback.params.time, '10:00') |
| 284 | + |
| 285 | + # PostbackEvent, SourceUser, with date params |
| 286 | + self.assertIsInstance(events[17], PostbackEvent) |
| 287 | + self.assertEqual(events[17].reply_token, 'nHuyWiB7yP5Zw52FIkcQobQuGDXCTA') |
| 288 | + self.assertEqual(events[17].type, 'postback') |
| 289 | + self.assertEqual(events[17].timestamp, 1462629479859) |
| 290 | + self.assertIsInstance(events[17].source, SourceUser) |
| 291 | + self.assertEqual(events[17].source.type, 'user') |
| 292 | + self.assertEqual(events[17].source.user_id, 'U206d25c2ea6bd87c17655609a1c37cb8') |
| 293 | + self.assertEqual(events[17].source.sender_id, 'U206d25c2ea6bd87c17655609a1c37cb8') |
| 294 | + self.assertEqual(events[17].postback.data, 'action=buyItem&itemId=123123&color=red') |
| 295 | + self.assertIsInstance(events[15].postback.params, Params) |
| 296 | + self.assertEqual(events[17].postback.params.datetime, '2013-04-01T10:00') |
| 297 | + |
257 | 298 |
|
258 | 299 | class TestWebhookHandler(unittest.TestCase): |
259 | 300 | def setUp(self): |
@@ -321,6 +362,11 @@ def test_handler(self): |
321 | 362 | self.assertEqual(self.calls[10], '6 postback') |
322 | 363 | self.assertEqual(self.calls[11], '7 beacon') |
323 | 364 | self.assertEqual(self.calls[12], '7 beacon') |
| 365 | + self.assertEqual(self.calls[13], '1 message_text') |
| 366 | + self.assertEqual(self.calls[14], '1 message_text') |
| 367 | + self.assertEqual(self.calls[15], '6 postback') |
| 368 | + self.assertEqual(self.calls[16], '6 postback') |
| 369 | + self.assertEqual(self.calls[17], '6 postback') |
324 | 370 |
|
325 | 371 |
|
326 | 372 | if __name__ == '__main__': |
|
0 commit comments