n8cha commited on
Commit
9b98f2e
·
1 Parent(s): 0e62773

add first unit test

Browse files
Files changed (2) hide show
  1. .gitignore +1 -0
  2. test_app.py +38 -0
.gitignore CHANGED
@@ -1,2 +1,3 @@
1
  **/CLAUDE.md
2
  **/system_prompt.md
 
 
1
  **/CLAUDE.md
2
  **/system_prompt.md
3
+ **/__pycache__/**
test_app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import pytest
3
+ from unittest.mock import Mock, patch, MagicMock
4
+ from app import generate_prompt
5
+
6
+ TEST_SYSTEM_PROMPT = "PROMPT ROULETTE ..."
7
+ TEST_OPENAI_API_KEY = "sk-prompt-roulette-..."
8
+ TEST_OPENAI_CHAT_RESPONSE_CONTENT = "You are ..."
9
+ TEST_GRADIO_SESSION_HASH = "prompt-roulette-session-..."
10
+
11
+ class TestGeneratePrompt:
12
+ @patch("app.OpenAI")
13
+ @patch.dict(os.environ, {
14
+ "SYSTEM_PROMPT": TEST_SYSTEM_PROMPT,
15
+ "OPENAI_API_KEY": TEST_OPENAI_API_KEY
16
+ })
17
+ def test_generate_prompt_success(self, mock_openai_class):
18
+ """Test a successful OpenAI API call."""
19
+ # Mock the OpenAI client and response
20
+ mock_client = Mock()
21
+ mock_openai_class.return_value = mock_client
22
+
23
+ mock_response = Mock()
24
+ mock_response.choices = [Mock()]
25
+ mock_response.choices[0].message = Mock()
26
+ mock_response.choices[0].message.content = TEST_OPENAI_CHAT_RESPONSE_CONTENT
27
+
28
+ mock_client.chat.completions.create.return_value = mock_response
29
+
30
+ # Mock the gradio request
31
+ mock_gradio_request = Mock()
32
+ mock_gradio_request.session_hash = TEST_GRADIO_SESSION_HASH
33
+
34
+ # Call the function
35
+ result = generate_prompt(mock_gradio_request)
36
+
37
+ assert result == TEST_OPENAI_CHAT_RESPONSE_CONTENT
38
+