Add tests for LlmSession and LlmSessionCaptionsAndKeywords in both integration and mocked scenarios (#12)
Tests / test_and_lint (push) Successful in 13s

Reviewed-on: #12
Co-authored-by: Mathias Scheider <mathias2784@web.de>
This commit was merged in pull request #12.
This commit is contained in:
2026-10-02 09:21:38 +00:00
committed by mathias2784
parent 906707de55
commit ce2da9d953
9 changed files with 994 additions and 29 deletions
+15 -1
View File
@@ -7,7 +7,21 @@ from photools3.llm_session import LlmSession
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
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)