Files
smartDriveEE/src/test/java/com/rj/service/TtsRequestLogShortUrlTest.java
2025-10-19 13:45:53 +08:00

185 lines
4.8 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.rj.service;
import com.rj.entity.TtsRequestLog;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.time.LocalDateTime;
/**
* TTS请求日志短链接设置测试
*
* @author rj
* @date 2025-01-02
*/
@Slf4j
@SpringBootTest
public class TtsRequestLogShortUrlTest {
@Autowired
private ITtsRequestLogService ttsRequestLogService;
/**
* 测试根据音频名称设置短链接默认15分钟
*/
@Test
public void testSetShortUrlByAudioNameDefault() {
try {
String audioName = "test_audio_20250102_150000_12345.mp3";
log.info("开始测试根据音频名称设置短链接默认15分钟...");
log.info("音频名称: {}", audioName);
// 先创建一个测试日志记录
TtsRequestLog requestLog = createTestRequestLog(audioName);
boolean saveResult = ttsRequestLogService.saveTtsRequestLog(requestLog);
if (saveResult) {
log.info("测试日志记录保存成功ID: {}", requestLog.getId());
// 测试设置短链接
boolean result = ttsRequestLogService.setShortUrlByAudioName(audioName);
if (result) {
log.info("短链接设置成功!");
// 查询验证
TtsRequestLog updatedLog = ttsRequestLogService.getTtsRequestLogById(requestLog.getId());
if (updatedLog != null) {
log.info("验证结果:");
log.info(" 音频名称: {}", updatedLog.getAudioName());
log.info(" 短链接: {}", updatedLog.getShortUrl());
log.info(" 过期时间: {}", updatedLog.getShortUrlExpireTime());
}
} else {
log.error("短链接设置失败");
}
} else {
log.error("测试日志记录保存失败");
}
} catch (Exception e) {
log.error("测试过程中发生异常: {}", e.getMessage(), e);
}
}
/**
* 测试不存在的音频名称
*/
@Test
public void testSetShortUrlByNonExistentAudioName() {
try {
String audioName = "non_existent_audio.mp3";
log.info("开始测试不存在的音频名称...");
log.info("音频名称: {}", audioName);
// 测试设置短链接
boolean result = ttsRequestLogService.setShortUrlByAudioName(audioName);
if (result) {
log.error("意外成功:不存在的音频名称不应该设置成功");
} else {
log.info("测试通过:不存在的音频名称正确返回失败");
}
} catch (Exception e) {
log.error("测试过程中发生异常: {}", e.getMessage(), e);
}
}
/**
* 测试空音频名称
*/
@Test
public void testSetShortUrlByEmptyAudioName() {
try {
String audioName = "";
log.info("开始测试空音频名称...");
log.info("音频名称: '{}'", audioName);
// 测试设置短链接
boolean result = ttsRequestLogService.setShortUrlByAudioName(audioName);
if (result) {
log.error("意外成功:空音频名称不应该设置成功");
} else {
log.info("测试通过:空音频名称正确返回失败");
}
} catch (Exception e) {
log.error("测试过程中发生异常: {}", e.getMessage(), e);
}
}
/**
* 创建测试用的TTS请求日志
*/
private TtsRequestLog createTestRequestLog(String audioName) {
TtsRequestLog requestLog = new TtsRequestLog();
requestLog.setRequestTime(LocalDateTime.now());
requestLog.setModel("fnlp/MOSS-TTSD-v0.5");
requestLog.setInputText("测试音频文件");
requestLog.setInputLength(6);
requestLog.setVoice("fnlp/MOSS-TTSD-v0.5:claire");
requestLog.setStatus("SUCCESS");
requestLog.setAudioName(audioName);
requestLog.setMinioUrl("http://localhost:9000/audio/" + audioName);
requestLog.setCreatorName("测试用户");
requestLog.setCreatorPhone("13800138000");
requestLog.setCreateTime(LocalDateTime.now());
requestLog.setUpdateTime(LocalDateTime.now());
return requestLog;
}
}