def send_photo(self,
                chat_id,
                file_or_filename=None,
                photo_id=None,
                optionals={}):
     return self._do_multipart_post( api.send_photo_url(self.base_url), \
                                     chat_id, "photo", file_or_filename, \
                                     photo_id, optionals)
    def test_send_photo_file_handle(self):
        self.mocked_response.json = lambda: json.loads(testdata.MESSAGE_RESPONSE)
        self.mocked_requests.post.return_value = self.mocked_response
        chat_id = 1337
        filehandle = unittest.mock.sentinel.file_handle
        mock = unittest.mock.MagicMock(return_value=filehandle)
        with unittest.mock.patch('builtins.open', mock):
            response = self.connector.send_photo(chat_id, file_or_filename=filehandle)

        expected_full_url = api.send_photo_url(self.expected_base_url)
        expected_params = { "chat_id": str(chat_id) }
        expected_files = {"photo": filehandle}
        self.mocked_requests.post.assert_called_once_with(  expected_full_url, \
                                                            params=expected_params,
                                                            files=expected_files)
示例#3
0
    def test_send_photo_file_handle(self):
        self.mocked_response.json = lambda: json.loads(testdata.
                                                       MESSAGE_RESPONSE)
        self.mocked_requests.post.return_value = self.mocked_response
        chat_id = 1337
        filehandle = unittest.mock.sentinel.file_handle
        mock = unittest.mock.MagicMock(return_value=filehandle)
        with unittest.mock.patch('builtins.open', mock):
            response = self.connector.send_photo(chat_id,
                                                 file_or_filename=filehandle)

        expected_full_url = api.send_photo_url(self.expected_base_url)
        expected_params = {"chat_id": str(chat_id)}
        expected_files = {"photo": filehandle}
        self.mocked_requests.post.assert_called_once_with(  expected_full_url, \
                                                            params=expected_params,
                                                            files=expected_files)
    def test_send_photo_id(self):
        self.mocked_response.json = lambda: json.loads(testdata.MESSAGE_RESPONSE)
        self.mocked_requests.post.return_value = self.mocked_response
        chat_id = 1337
        photo_id = "deadbeef"
        optionals = {   "caption": "testcaption", \
                        "reply_to_message_id": 42, \
                        "reply_markup": None }
        response = self.connector.send_photo(chat_id, photo_id=photo_id, optionals=optionals)

        expected_full_url = api.send_photo_url(self.expected_base_url)
        expected_params = { "chat_id": str(chat_id), "photo": photo_id }
        expected_params.update(optionals)
        expected_files = {}
        self.mocked_requests.post.assert_called_once_with(  expected_full_url, \
                                                            params=expected_params,
                                                            files=expected_files)
示例#5
0
    def test_send_photo_id(self):
        self.mocked_response.json = lambda: json.loads(testdata.
                                                       MESSAGE_RESPONSE)
        self.mocked_requests.post.return_value = self.mocked_response
        chat_id = 1337
        photo_id = "deadbeef"
        optionals = {   "caption": "testcaption", \
                        "reply_to_message_id": 42, \
                        "reply_markup": None }
        response = self.connector.send_photo(chat_id,
                                             photo_id=photo_id,
                                             optionals=optionals)

        expected_full_url = api.send_photo_url(self.expected_base_url)
        expected_params = {"chat_id": str(chat_id), "photo": photo_id}
        expected_params.update(optionals)
        expected_files = {}
        self.mocked_requests.post.assert_called_once_with(  expected_full_url, \
                                                            params=expected_params,
                                                            files=expected_files)
 def send_photo(self, chat_id, file_or_filename=None, photo_id=None, optionals={}):
     return self._do_multipart_post( api.send_photo_url(self.base_url), \
                                     chat_id, "photo", file_or_filename, \
                                     photo_id, optionals)