#
#  Copyright 2026 The InfiniFlow Authors. All Rights Reserved.
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#

import pytest

# DeepL component imports the `deepl` SDK at module load; skip where absent.
pytest.importorskip("deepl")

from agent.tools.deepl import DeepLParam  # noqa: E402


def test_check_passes_with_defaults():
    # Regression: check() validated an undefined self.top_n and always raised
    # AttributeError, so a DeepL component could never pass validation.
    DeepLParam().check()


def test_check_rejects_invalid_source_lang():
    param = DeepLParam()
    param.source_lang = "XX"
    with pytest.raises(ValueError):
        param.check()


def test_check_rejects_invalid_target_lang():
    param = DeepLParam()
    param.target_lang = "XX"
    with pytest.raises(ValueError):
        param.check()
