2424from linebot .models import (
2525 MessageEvent , FollowEvent , UnfollowEvent , JoinEvent ,
2626 LeaveEvent , PostbackEvent , BeaconEvent , AccountLinkEvent ,
27- MemberJoinedEvent , MemberLeftEvent ,
27+ MemberJoinedEvent , MemberLeftEvent , ThingsEvent ,
2828 TextMessage , ImageMessage , VideoMessage , AudioMessage ,
2929 LocationMessage , StickerMessage , FileMessage ,
3030 SourceUser , SourceRoom , SourceGroup
@@ -304,20 +304,16 @@ def test_parse(self):
304304 self .assertEqual (events [18 ].postback .data , 'action=buyItem&itemId=123123&color=red' )
305305 self .assertEqual (events [18 ].postback .params ['datetime' ], '2013-04-01T10:00' )
306306
307- # MessageEvent , SourceUser, FileMessage
308- self .assertIsInstance (events [19 ], MessageEvent )
307+ # ThingsEvent , SourceUser, link
308+ self .assertIsInstance (events [19 ], ThingsEvent )
309309 self .assertEqual (events [19 ].reply_token , 'nHuyWiB7yP5Zw52FIkcQobQuGDXCTA' )
310- self .assertEqual (events [19 ].type , 'message ' )
310+ self .assertEqual (events [19 ].type , 'things ' )
311311 self .assertEqual (events [19 ].timestamp , 1462629479859 )
312312 self .assertIsInstance (events [19 ].source , SourceUser )
313313 self .assertEqual (events [19 ].source .type , 'user' )
314314 self .assertEqual (events [19 ].source .user_id , 'U206d25c2ea6bd87c17655609a1c37cb8' )
315- self .assertEqual (events [19 ].source .sender_id , 'U206d25c2ea6bd87c17655609a1c37cb8' )
316- self .assertIsInstance (events [19 ].message , FileMessage )
317- self .assertEqual (events [19 ].message .id , '325708' )
318- self .assertEqual (events [19 ].message .type , 'file' )
319- self .assertEqual (events [19 ].message .file_name , "file.txt" )
320- self .assertEqual (events [19 ].message .file_size , 2138 )
315+ self .assertEqual (events [19 ].things .device_id , 't2c449c9d1' )
316+ self .assertEqual (events [19 ].things .type , 'link' )
321317
322318 # MemberJoinedEvent
323319 self .assertIsInstance (events [20 ], MemberJoinedEvent )
@@ -344,6 +340,32 @@ def test_parse(self):
344340 self .assertEqual (events [21 ].left .members [0 ].user_id , 'U4af4980629...' )
345341 self .assertEqual (events [21 ].left .members [1 ].user_id , 'U91eeaf62d9...' )
346342
343+ # ThingsEvent, SourceUser, unlink
344+ self .assertIsInstance (events [22 ], ThingsEvent )
345+ self .assertEqual (events [22 ].reply_token , 'nHuyWiB7yP5Zw52FIkcQobQuGDXCTA' )
346+ self .assertEqual (events [22 ].type , 'things' )
347+ self .assertEqual (events [22 ].timestamp , 1462629479859 )
348+ self .assertIsInstance (events [22 ].source , SourceUser )
349+ self .assertEqual (events [22 ].source .type , 'user' )
350+ self .assertEqual (events [22 ].source .user_id , 'U206d25c2ea6bd87c17655609a1c37cb8' )
351+ self .assertEqual (events [22 ].things .device_id , 't2c449c9d1' )
352+ self .assertEqual (events [22 ].things .type , 'unlink' )
353+
354+ # MessageEvent, SourceUser, FileMessage
355+ self .assertIsInstance (events [23 ], MessageEvent )
356+ self .assertEqual (events [23 ].reply_token , 'nHuyWiB7yP5Zw52FIkcQobQuGDXCTA' )
357+ self .assertEqual (events [23 ].type , 'message' )
358+ self .assertEqual (events [23 ].timestamp , 1462629479859 )
359+ self .assertIsInstance (events [23 ].source , SourceUser )
360+ self .assertEqual (events [23 ].source .type , 'user' )
361+ self .assertEqual (events [23 ].source .user_id , 'U206d25c2ea6bd87c17655609a1c37cb8' )
362+ self .assertEqual (events [23 ].source .sender_id , 'U206d25c2ea6bd87c17655609a1c37cb8' )
363+ self .assertIsInstance (events [23 ].message , FileMessage )
364+ self .assertEqual (events [23 ].message .id , '325708' )
365+ self .assertEqual (events [23 ].message .type , 'file' )
366+ self .assertEqual (events [23 ].message .file_name , "file.txt" )
367+ self .assertEqual (events [23 ].message .file_size , 2138 )
368+
347369
348370class TestWebhookHandler (unittest .TestCase ):
349371 def setUp (self ):
0 commit comments