Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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")
Exemplo n.º 3
0
    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, {})
Exemplo n.º 4
0
    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, {})
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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"
            }])