test_translation.py 1.34 KB
#!/usr/bin/env python3
"""Manual smoke test for the translator service."""

from __future__ import annotations

import argparse
import json
from typing import Optional

from translation import create_translation_client


def main() -> None:
    parser = argparse.ArgumentParser(description="Smoke test the translator service")
    parser.add_argument("--text", default="蓝牙耳机", help="Text to translate")
    parser.add_argument("--source-lang", default="zh", help="Source language")
    parser.add_argument("--target-lang", default="en", help="Target language")
    parser.add_argument("--model", default=None, help="Enabled translation capability name")
    parser.add_argument("--scene", default="sku_name", help="Translation scene")
    args = parser.parse_args()

    client = create_translation_client()
    result: Optional[str] = client.translate(
        text=args.text,
        target_lang=args.target_lang,
        source_lang=args.source_lang,
        model=args.model,
        scene=args.scene,
    )
    payload = {
        "text": args.text,
        "source_lang": args.source_lang,
        "target_lang": args.target_lang,
        "model": args.model or client.default_model,
        "scene": args.scene,
        "translated_text": result,
    }
    print(json.dumps(payload, ensure_ascii=False, indent=2))


if __name__ == "__main__":
    main()