Skip to content

Instantly share code, notes, and snippets.

@em-shea
Last active June 25, 2021 09:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save em-shea/46ec9635696af095db2dd6ddebac4d70 to your computer and use it in GitHub Desktop.
Save em-shea/46ec9635696af095db2dd6ddebac4d70 to your computer and use it in GitHub Desktop.
class TranslateFileTest(unittest.TestCase):
# Test for valid file type (.txt)
@mock.patch('translate_file.app.read_file', side_effect=mocked_read_file)
@mock.patch('translate_file.app.translate_text', side_effect=mocked_translate_text)
def test_valid_file(self, translate_text_mock, read_file_mock):
response = lambda_handler(self.s3_upload_event("valid_file.txt"), "")
expected_response = {
"success": True,
"original_text":"我爱写单元测试!",
"translated_text":"I love writing unit tests!",
"original_language":"zh",
"target_language":"en"
}
self.assertEqual(read_file_mock.call_count, 1)
self.assertEqual(translate_text_mock.call_count, 1)
self.assertEqual(response, expected_response)
# Test for invalid file type (.pdf)
@mock.patch('translate_file.app.read_file', side_effect=mocked_read_file)
@mock.patch('translate_file.app.translate_text', side_effect=mocked_translate_text)
def test_invalid_file(self, translate_text_mock, read_file_mock):
response = lambda_handler(self.s3_upload_event("invalid_file.pdf"), "")
expected_response = {
"success": False,
"response": "Invalid file type. File must have .txt extension."
}
self.assertEqual(read_file_mock.call_count, 0)
self.assertEqual(translate_text_mock.call_count, 0)
self.assertEqual(response, expected_response)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment