Skip to content

Commit

Permalink
test: 테스트 코드 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
KarmaPol committed Aug 4, 2024
1 parent fd73028 commit a63d109
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 23 deletions.
10 changes: 9 additions & 1 deletion .idea/sonarlint/issuestore/index.pb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 9 additions & 1 deletion .idea/sonarlint/securityhotspotstore/index.pb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified app/service/__pycache__/restaurant_service.cpython-311.pyc
Binary file not shown.
2 changes: 2 additions & 0 deletions app/service/restaurant_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ def get_restaurant_recommendation(get_recommendation_req):
total_restaurant_num = metadata['total_count']

page_number = total_restaurant_num // MAX_RESTAURANT_NUM
if page_number == 0:
page_number = 1
pages = [i for i in range(1, page_number+1)]

with ThreadPoolExecutor(len(pages)) as executor:
Expand Down
3 changes: 3 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
annotated-types==0.7.0
anyio==4.4.0
beautifulsoup4==4.12.3
bs4==0.0.2
cachetools==5.3.3
certifi==2024.6.2
charset-normalizer==3.3.2
Expand Down Expand Up @@ -49,6 +51,7 @@ rich==13.7.1
rsa==4.9
shellingham==1.5.4
sniffio==1.3.1
soupsieve==2.5
starlette==0.37.2
tqdm==4.66.4
typer==0.12.3
Expand Down
Binary file not shown.
35 changes: 14 additions & 21 deletions test/test_restaurant_service.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import os
from unittest.mock import patch
import unittest

from app.dto.get_recommendation_request import Get_recommendation_request
from app.dto.get_recommendation_response import Get_recommendation_response
Expand All @@ -15,24 +16,18 @@
}
]

mock_genAI_recommendation = """{'place_name': 'Mock Restaurant', 'category_name': 'Food > Korean', 'place_url': 'http://mock.restaurant', 'distance': '100', 'road_address_name': 'Mock Address'}"""

mock_metadata = {
'total_count': 1
}
mock_genAI_recommendation = """[{'place_name': 'Mock Restaurant', 'category_name': 'Food > Korean', 'place_url': 'http://mock.restaurant', 'distance': '100', 'road_address_name': 'Mock Address'}]"""

mock_metadata = {'is_end': False, 'pageable_count': 45, 'same_name': {'keyword': '음식점', 'region': [], 'selected_region': ''}, 'total_count': 1}

os.environ['KAKAO_API_KEY'] = 'mock_api_key'

@patch('app.service.restaurant_service.get_kakao_search_result')
@patch('app.service.restaurant_service.get_genAI_recommendation')
@patch('app.service.restaurant_service.get_kakao_search_metadata')
@patch('app.service.restaurant_service.get_kakao_search_result', return_value=mock_kakao_result)
@patch('app.service.restaurant_service.get_genAI_recommendation', return_value=mock_genAI_recommendation)
@patch('app.service.restaurant_service.get_kakao_search_metadata', return_value=mock_metadata)
def test_get_restaurant_recommendation(mock_get_genAI_recommendation,
mock_get_kakao_search_result,
mock_get_kakao_search_metadata):
mock_get_kakao_search_result.return_value = mock_kakao_result
mock_get_genAI_recommendation.return_value = mock_genAI_recommendation
mock_get_kakao_search_metadata.return_value = mock_metadata

get_recommendation_req = Get_recommendation_request(
longitude="127.06283102249932",
Expand All @@ -41,13 +36,11 @@ def test_get_restaurant_recommendation(mock_get_genAI_recommendation,
tag=None
)

response = get_restaurant_recommendation(get_recommendation_req)
expected_response = Get_recommendation_response(
title='Mock Restaurant',
category='Food > Korean',
link='http://mock.restaurant',
distance='100',
address='Mock Address'
)

assert response == expected_response
return get_restaurant_recommendation(get_recommendation_req)
class TestRestaurantServices(unittest.TestCase):
def test_get_restaurant_recommendation(self):
response = test_get_restaurant_recommendation()
print(response)
self.assertIsInstance(response, list)
self.assertIsInstance(response[0], Get_recommendation_response)
self.assertEqual(response[0].title, 'Mock Restaurant')

0 comments on commit a63d109

Please sign in to comment.