package cn.iocoder.yudao.module.ocr.framework.ocr.core.client.impl;

import cn.iocoder.yudao.module.ocr.framework.ocr.core.result.VehicleLicenseResult;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

import static org.junit.jupiter.api.Assertions.*;

/**
 * 百度 OCR 客户端测试
 *
 * 注意：此测试需要真实的百度 OCR 凭证和测试图片，默认禁用
 */
@Slf4j
@Disabled("需要配置真实的百度 OCR 凭证")
class BaiduOcrClientTest {

    @Test
    void testRecognizeVehicleLicense() throws IOException {
        // 配置百度 OCR
        BaiduOcrClientConfig config = new BaiduOcrClientConfig();
        config.setAppId("your-app-id");
        config.setApiKey("your-api-key");
        config.setSecretKey("your-secret-key");

        // 创建客户端
        BaiduOcrClient client = new BaiduOcrClient(config);
        client.init();

        // 读取测试图片
        byte[] imageData = Files.readAllBytes(Paths.get("path/to/vehicle-license.jpg"));

        // 执行识别
        VehicleLicenseResult result = client.recognizeVehicleLicense(imageData);

        // 验证结果
        assertNotNull(result);
        assertNotNull(result.getVin());
        assertNotNull(result.getPlateNo());

        log.info("识别结果：VIN={}, 车牌号={}", result.getVin(), result.getPlateNo());
    }

}
