diff --git a/tests/assets/iat_mp3_8k.mp3 b/tests/assets/iat_mp3_8k.mp3 new file mode 100644 index 0000000..4214cf3 Binary files /dev/null and b/tests/assets/iat_mp3_8k.mp3 differ diff --git a/tests/unit_test/user_test.py b/tests/unit_test/user_test.py index 8e67a09..4eaaca8 100644 --- a/tests/unit_test/user_test.py +++ b/tests/unit_test/user_test.py @@ -1,6 +1,7 @@ import requests import json import uuid +import os class UserServiceTest: @@ -125,6 +126,52 @@ class UserServiceTest: print("硬件查询测试成功") else: raise Exception("硬件查询测试失败") + + def test_upload_audio(self): + url = f"{self.socket}/users/audio?user_id={self.id}" + current_file_path = os.path.abspath(__file__) + current_dir = os.path.dirname(current_file_path) + tests_dir = os.path.dirname(current_dir) + wav_file_path = os.path.join(tests_dir, 'assets', 'iat_mp3_8k.mp3') + with open(wav_file_path, 'rb') as audio_file: + files = {'audio_file':(wav_file_path,audio_file,'audio/mpeg')} + response = requests.post(url, files=files) + if response.status_code == 200: + self.audio_id = response.json()["data"]['audio_id'] + print("音频上传测试成功") + else: + raise Exception("音频上传测试失败") + + def test_update_audio(self): + url = f"{self.socket}/users/audio/{self.audio_id}" + current_file_path = os.path.abspath(__file__) + current_dir = os.path.dirname(current_file_path) + tests_dir = os.path.dirname(current_dir) + wav_file_path = os.path.join(tests_dir, 'assets', 'iat_mp3_8k.mp3') + with open(wav_file_path, 'rb') as audio_file: + files = {'audio_file':(wav_file_path,audio_file,'audio/mpeg')} + response = requests.put(url, files=files) + if response.status_code == 200: + print("音频上传测试成功") + else: + raise Exception("音频上传测试失败") + + def test_audio_download(self): + url = f"{self.socket}/users/audio/{self.audio_id}" + response = requests.request("GET", url) + if response.status_code == 200: + print("音频下载测试成功") + else: + raise Exception("音频下载测试失败") + + def test_audio_delete(self): + url = f"{self.socket}/users/audio/{self.audio_id}" + response = requests.request("DELETE", url) + if response.status_code == 200: + print("音频删除测试成功") + else: + raise Exception("音频删除测试失败") + def user_test(): user_service_test = UserServiceTest() @@ -136,6 +183,10 @@ def user_test(): user_service_test.test_hardware_update() user_service_test.test_hardware_query() user_service_test.test_hardware_unbind() + user_service_test.test_upload_audio() + user_service_test.test_update_audio() + user_service_test.test_audio_download() + user_service_test.test_audio_delete() user_service_test.test_user_delete()