Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
nazmul-me committed Nov 27, 2024
2 parents c07ef2a + b7b8a00 commit b927413
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 2 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ New Badges
<a href="https://github.com/TeamBenign/PackReview_v4/blob/main/LICENSE" alt="License"><img src="https://img.shields.io/github/license/TeamBenign/PackReview_v4" /></a>
<a href="https://github.com/TeamBenign/PackReview_v4/issues" alt="Open Issues"><img src="https://img.shields.io/github/issues-raw/TeamBenign/PackReview_v4" /></a>
![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/TeamBenign/PackReview_v4?style=plastic)
<a href="https://github.com/TeamBenign/PackReview_v4/actions" alt="Build Status"><img src="https://img.shields.io/github/workflow/status/TeamBenign/PackReview_v4/Build%20main" /></a>
[![Manual Build](https://img.shields.io/github/actions/workflow/status/TeamBenign/PackReview_v4/codecov.yml)](https://github.com/TeamBenign/PackReview_v4/actions)
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/TeamBenign/PackReview_v4)

## Pre-requisites
Expand Down
5 changes: 4 additions & 1 deletion app/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -826,11 +826,14 @@ def query_gemini_model(user_message):
job_reviews = get_all_jobs()
dict_to_csv(job_reviews, tmp_csv_file_for_gemini)

response_text = get_gemini_feedback(tmp_csv_file_for_gemini, user_message)
response_text = query_gemini(tmp_csv_file_for_gemini, user_message)
if response_text is None:
return "Error: Couldn't fetch response from Gemini."
else:
return response_text

def query_gemini(tmp_csv_file_for_gemini, user_message):
return get_gemini_feedback(tmp_csv_file_for_gemini, user_message)

# Function to chunk large review texts
def chunk_text(text, chunk_size=1500):
Expand Down
45 changes: 45 additions & 0 deletions tests/test_gemini_query.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import unittest
from unittest.mock import patch, MagicMock
import os
from app.routes import query_gemini_model


class TestQueryGeminiModel(unittest.TestCase):

@patch('app.routes.query_gemini') # Mock get_gemini_feedback
@patch('app.routes.dict_to_csv') # Mock dict_to_csv
@patch('app.routes.get_all_jobs') # Mock get_all_jobs
def test_query_gemini_model_success(self, mock_get_all_jobs, mock_dict_to_csv, mock_get_gemini_feedback):
"""
Test query_gemini_model when the response is successfully fetched from Gemini.
"""
# Arrange
mock_get_all_jobs.return_value = [{'id': 1, 'title': 'Job 1'}, {'id': 2, 'title': 'Job 2'}]
mock_get_gemini_feedback.return_value = "This is the Gemini response."

# Act
result = query_gemini_model("Test user message")

# Assert
mock_get_all_jobs.assert_called_once() # Ensure get_all_jobs was called
mock_dict_to_csv.assert_called_once() # Ensure dict_to_csv was called
mock_get_gemini_feedback.assert_called_once_with(os.path.join("tmp", "reviews", "tmp_review.txt"), "Test user message")

@patch('app.routes.query_gemini') # Mock get_gemini_feedback
@patch('app.routes.dict_to_csv') # Mock dict_to_csv
@patch('app.routes.get_all_jobs') # Mock get_all_jobs
def test_query_gemini_model_no_response(self, mock_get_all_jobs, mock_dict_to_csv, mock_get_gemini_feedback):
"""
Test query_gemini_model when the response from Gemini is None.
"""
# Arrange
mock_get_all_jobs.return_value = [{'id': 1, 'title': 'Job 1'}, {'id': 2, 'title': 'Job 2'}]
mock_get_gemini_feedback.return_value = None

# Act
result = query_gemini_model("Test user message")

# Assert
mock_get_all_jobs.assert_called_once() # Ensure get_all_jobs was called
mock_dict_to_csv.assert_called_once() # Ensure dict_to_csv was called
mock_get_gemini_feedback.assert_called_once_with(os.path.join("tmp", "reviews", "tmp_review.txt"), "Test user message")

0 comments on commit b927413

Please sign in to comment.