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)
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)
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)