Files
photools3/test/test_llm_session_integration.py
T
mathias2784 ce2da9d953
Tests / test_and_lint (push) Successful in 13s
Add tests for LlmSession and LlmSessionCaptionsAndKeywords in both integration and mocked scenarios (#12)
Reviewed-on: #12
Co-authored-by: Mathias Scheider <mathias2784@web.de>
2026-10-02 09:21:38 +00:00

28 lines
864 B
Python

import pytest
from photools3.llm_session import LlmSession
@pytest.mark.skipif(
not LlmSession(system_prompt="").is_api_reachable(), reason="API not available"
)
def test_llm_session(llm_session, test_photo):
llm_session.system_prompt = "Return only JSON format: {'keywords': ['...']}"
result = llm_session.call(
prompt="keywords for the attached picture", photos=[test_photo]
)
assert result is not None
@pytest.mark.skipif(
not LlmSession(system_prompt="").is_api_reachable(), reason="API not available"
)
def test_llm_session_captions_and_keywords(
llm_session_captions_and_keywords, test_photo
):
result = llm_session_captions_and_keywords.call(photos=[test_photo])
assert "caption" in result
assert "tags" in result
assert isinstance(result["caption"], str)
assert isinstance(result["tags"], list)