mirror of https://github.com/hwchase17/langchain
infra: unit testing `check_package_version` (#16825)
Wrote a unit test for `check_package_version` in the core package. Note that this is a revival of https://github.com/langchain-ai/langchain/pull/16387 after GitHub incident (see https://github.com/langchain-ai/langchain/discussions/16796).pull/17441/head
parent
604e117411
commit
64938ae6f2
@ -0,0 +1,30 @@
|
|||||||
|
from typing import Dict, Optional, Tuple, Type
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from langchain_core.utils import check_package_version
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
("package", "check_kwargs", "actual_version", "expected"),
|
||||||
|
[
|
||||||
|
("stub", {"gt_version": "0.1"}, "0.1.2", None),
|
||||||
|
("stub", {"gt_version": "0.1.2"}, "0.1.12", None),
|
||||||
|
("stub", {"gt_version": "0.1.2"}, "0.1.2", (ValueError, "> 0.1.2")),
|
||||||
|
("stub", {"gte_version": "0.1"}, "0.1.2", None),
|
||||||
|
("stub", {"gte_version": "0.1.2"}, "0.1.2", None),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_check_package_version(
|
||||||
|
package: str,
|
||||||
|
check_kwargs: Dict[str, Optional[str]],
|
||||||
|
actual_version: str,
|
||||||
|
expected: Optional[Tuple[Type[Exception], str]],
|
||||||
|
) -> None:
|
||||||
|
with patch("langchain_core.utils.utils.version", return_value=actual_version):
|
||||||
|
if expected is None:
|
||||||
|
check_package_version(package, **check_kwargs)
|
||||||
|
else:
|
||||||
|
with pytest.raises(expected[0], match=expected[1]):
|
||||||
|
check_package_version(package, **check_kwargs)
|
Loading…
Reference in New Issue