def test_tg_environmnet(self): mngr = TGManager("token") env = self.loop.run_until_complete( mngr.get_environment({"message": { "chat": { "id": 1 } }})) self.assertEqual(env.peer_id, 1) env = self.loop.run_until_complete(mngr.get_environment({})) self.assertEqual(env.peer_id, None)
def test_tg_get_file_from_attachment(self): mngr = TGManager("token") env = self.loop.run_until_complete( mngr.get_environment({"message": { "chat": { "id": 1 } }})) async def request(_, method, **kwargs): self.assertEqual(kwargs["file_id"], 13) return TGResponse(False, (), {"file_path": "path"}) mngr.request = types.MethodType(request, mngr) async def request_file(_, path): self.assertEqual(path, "path") return "file" mngr.request_file = types.MethodType(request_file, mngr) attachment = Attachment("photo", 13, None, None, None, None) file = self.loop.run_until_complete( env.get_file_from_attachment(attachment)) self.assertEqual(file, "file")
def test_tg_upload_photo(self): mngr = TGManager("token") env = self.loop.run_until_complete( mngr.get_environment({"message": { "chat": { "id": 1 } }})) photo_a = self.loop.run_until_complete(env.upload_photo("photo")) self.assertEqual(photo_a.type, "photo") self.assertEqual(photo_a.content, "photo") self.assertEqual(photo_a.kwargs, {})
def test_tg_upload_doc(self): mngr = TGManager("token") env = self.loop.run_until_complete( mngr.get_environment({"message": { "chat": { "id": 1 } }})) document_a = self.loop.run_until_complete( env.upload_doc("document", "filename")) self.assertEqual(document_a.type, "doc") self.assertEqual(document_a.content, "document") self.assertEqual(document_a.kwargs, {})
def test_tg_replay(self): mngr = TGManager("token") env = self.loop.run_until_complete( mngr.get_environment({"message": { "chat": { "id": 1 } }})) async def request(_, method, **kwargs): self.assertEqual(kwargs["chat_id"], "1") return TGResponse(True, (), "") mngr.request = types.MethodType(request, mngr) res = self.loop.run_until_complete(env.reply("hi")) self.assertTrue(res[0].error) self.assertFalse(res[0].response)
def test_tg_upload_doc(self): mngr = TGManager("token") async def request(self, method, **kwargs): return TGResponse(False, (), [method, kwargs]) mngr.request = types.MethodType(request, mngr) env = self.loop.run_until_complete( mngr.get_environment({"message": { "chat": { "id": 1 } }})) document_a = self.loop.run_until_complete( env.upload_doc("document_content", "filename")) self.assertEqual(document_a.type, "doc") self.assertEqual(document_a.content, "document_content") self.assertEqual(document_a.kwargs, {}) res = self.loop.run_until_complete( mngr.send_message("hi", 1, document_a)) self.assertEqual(len(res), 2) self.assertEqual(res[0].response, ["sendMessage", { "chat_id": '1', "text": "hi" }]) self.assertEqual( res[1].response, ["sendDocument", { "chat_id": '1', "document": "document_content" }])