Skip to content

Commit 5d25554

Browse files
committedAug 6, 2024·
update test script
1 parent 074318f commit 5d25554

File tree

1 file changed

+26
-7
lines changed

1 file changed

+26
-7
lines changed
 

‎tests/test_llm_ocr_functions.py

+26-7
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,20 @@
22
from unittest.mock import patch
33
import logging
44
from typing import Optional
5+
from requests.models import Response
56

67
import openai
7-
from openai import APIConnectionError, AuthenticationError
8+
from openai import APIConnectionError, AuthenticationError, APIStatusError
89

910
# Setup logging
1011
logging.basicConfig(level=logging.INFO)
1112
logger = logging.getLogger(__name__)
1213

13-
# Process data using AI
14+
1415
class AIHandler:
1516
"""Process data using AI."""
1617

17-
MODEL = "gpt4o"
18+
MODEL = "gpt-4"
1819

1920
def __init__(self, openai_key: str) -> None:
2021
"""
@@ -53,11 +54,12 @@ def query_api(self, query: str) -> Optional[str]:
5354
except AuthenticationError as ex:
5455
logger.error("Authentication error: %s", ex)
5556
except APIConnectionError as ex:
56-
logger.error("APIConnection error: %s", ex)
57+
logger.error("API connection error: %s", ex)
58+
except APIStatusError as ex:
59+
logger.error("API status error: %s", ex)
5760

5861
return result
5962

60-
6163
# Mocking classes for testing
6264
class MockedChoice:
6365
def __init__(self, content: str) -> None:
@@ -87,12 +89,29 @@ def test_query_api(self, mock_create):
8789

8890
# Check that the API was called with the correct parameters
8991
mock_create.assert_called_once_with(
90-
model="gpt4o", messages=[{"role": "user", "content": "Test query"}]
92+
model="gpt-4", messages=[{"role": "user", "content": "Test query"}]
9193
)
9294

95+
@patch('openai.ChatCompletion.create')
96+
def test_query_api_authentication_error(self, mock_create):
97+
# Create a mock response object
98+
mock_response = Response()
99+
mock_response.status_code = 401 # Unauthorized status code
100+
101+
# Mock the error
102+
mock_create.side_effect = AuthenticationError(
103+
message="Invalid API key",
104+
response=mock_response,
105+
body={}
106+
)
93107

108+
handler = AIHandler(openai_key="fake_api_key")
109+
response = handler.query_api("Test query")
94110

95-
111+
self.assertIsNone(response)
112+
mock_create.assert_called_once_with(
113+
model="gpt-4", messages=[{"role": "user", "content": "Test query"}]
114+
)
96115

97116

98117

0 commit comments

Comments
 (0)