package Ġcom . github . kot l inte le gram bot . network . apic lient Ċ Ċ import Ġcom . github . kot l inte le gram bot . entities . Chat Ċ import Ġcom . github . kot l inte le gram bot . entities . Chat Id Ċ import Ġcom . github . kot l inte le gram bot . entities . Message Ċ import Ġcom . github . kot l inte le gram bot . test utils . decode Ċ import Ġjunit . framework . TestCase . assertEquals Ċ import Ġokhttp 3 . mock webserver . Mock Response Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ private Ġconst Ġval ĠCH AT _ ID Ġ= Ġ 1 2 4 2 1 4 3 4 2 3 5 4 3 5 L Ċ private Ġconst Ġval ĠFROM _ CHAT _ ID Ġ= Ġ- 1 0 0 1 3 6 7 4 2 9 6 3 5 L Ċ private Ġconst Ġval ĠMESSAGE _ ID Ġ= Ġ 7 L Ċ Ċ class ĠForward Message IT Ġ: ĠApi Client IT () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` request Ġwith Ġall Ġparameters `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Any Forward Message Response () ĊĊĠĠĠĠĠĠĠ Ġsut . forward Message ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Id Ġ= ĠChat Id . from Id ( CHAT _ ID ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Chat Id Ġ= ĠChat Id . from Id ( FROM _ CHAT _ ID ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmessageId Ġ= ĠMESSAGE _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisable Notification Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġmock WebServer . take Request () ĊĠĠĠĠĠĠĠ Ġval Ġexpected RequestBody Ġ= Ġ" chat _ id =$ CHAT _ ID " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"& from _ chat _ id =$ FROM _ CHAT _ ID " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"& disable _ notification = false " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"& message _ id =$ MESSAGE _ ID " ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected RequestBody , Ġrequest . body . read Utf 8 (). decode ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` request Ġwithout Ġdisable Notification `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Any Forward Message Response () ĊĊĠĠĠĠĠĠĠ Ġsut . forward Message ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Id Ġ= ĠChat Id . from Id ( CHAT _ ID ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Chat Id Ġ= ĠChat Id . from Id ( FROM _ CHAT _ ID ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmessageId Ġ= ĠMESSAGE _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisable Notification Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġmock WebServer . take Request () ĊĠĠĠĠĠĠĠ Ġval Ġexpected RequestBody Ġ= Ġ" chat _ id =$ CHAT _ ID " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"& from _ chat _ id =$ FROM _ CHAT _ ID " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"& message _ id =$ MESSAGE _ ID " ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected RequestBody , Ġrequest . body . read Utf 8 (). decode ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` message Ġis Ġproperly Ġreturned Ġon Ġsuccess `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Any Forward Message Response () ĊĊĠĠĠĠĠĠĠ Ġval Ġforward Message Result Ġ= Ġsut . forward Message ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Id Ġ= ĠChat Id . from Id ( CHAT _ ID ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Chat Id Ġ= ĠChat Id . from Id ( FROM _ CHAT _ ID ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmessageId Ġ= ĠMESSAGE _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisable Notification Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Message Ġ= ĠMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmessageId Ġ= ĠMESSAGE _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat Ġ= ĠChat ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠFROM _ CHAT _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ"[ Channel ] ĠTest ĠTelegram ĠBot ĠAPI ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġ" test telegram bot api ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" channel " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġ 1 6 0 4 1 5 8 4 0 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" I 'm Ġpart Ġof Ġa Ġtest Ġ: )", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthor Signature Ġ= Ġ" in cognito ", ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Message , Ġforward Message Result . get OrNull ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgiven Any Forward Message Response () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġforward Message Response Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ok ": Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" result ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" message _ id ": Ġ 7 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" chat ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id ": Ġ- 1 0 0 1 3 6 7 4 2 9 6 3 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" title ": Ġ"[ Channel ] ĠTest ĠTelegram ĠBot ĠAPI ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" username ": Ġ" test telegram bot api ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type ": Ġ" channel " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" date ": Ġ 1 6 0 4 1 5 8 4 0 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text ": Ġ" I 'm Ġpart Ġof Ġa Ġtest Ġ: )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" author _ signature ": Ġ" in cognito " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġval Ġmocked Response Ġ= ĠMock Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Response Code ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Body ( forward Message Response ) ĊĠĠĠĠĠĠĠ Ġmock WebServer . enqueue ( mocked Response ) ĊĠĠĠ Ġ} Ċ } Ċ