Skip to main content
Glama
cola314

Naver Encyclopedia MCP Server

by cola314
test_naver_api.py3.47 kB
import unittest from unittest.mock import patch, Mock import sys import os import requests # 프로젝트 루트를 Python 경로에 추가 sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) from src.naver_api import NaverAPIClient, NaverAPIError class TestNaverAPIClient(unittest.TestCase): def setUp(self): self.client = NaverAPIClient() @patch('src.naver_api.settings') @patch('requests.get') def test_search_encyclopedia_success(self, mock_get, mock_settings): # API 키 설정 모킹 mock_settings.NAVER_CLIENT_ID = "test_client_id" mock_settings.NAVER_CLIENT_SECRET = "test_client_secret" mock_settings.MAX_DISPLAY = 100 mock_settings.MAX_START = 1000 # 성공 응답 모킹 mock_response = Mock() mock_response.status_code = 200 mock_response.json.return_value = { "total": 100, "start": 1, "display": 10, "lastBuildDate": "Mon, 26 Sep 2016 10:50:00 +0900", "items": [ { "title": "테스트 제목", "link": "http://test.com", "description": "테스트 설명", "thumbnail": "" } ] } mock_get.return_value = mock_response # API 호출 테스트 result = self.client.search_encyclopedia("테스트") self.assertEqual(result["total"], 100) self.assertEqual(len(result["items"]), 1) self.assertEqual(result["items"][0]["title"], "테스트 제목") @patch('src.naver_api.settings') @patch('requests.get') def test_search_encyclopedia_error(self, mock_get, mock_settings): # API 키 설정 모킹 mock_settings.NAVER_CLIENT_ID = "test_client_id" mock_settings.NAVER_CLIENT_SECRET = "test_client_secret" mock_settings.MAX_DISPLAY = 100 mock_settings.MAX_START = 1000 # 오류 응답 모킹 mock_response = Mock() mock_response.status_code = 400 mock_response.json.return_value = { "errorCode": "SE01", "errorMessage": "잘못된 쿼리요청입니다." } mock_get.return_value = mock_response # 오류 처리 테스트 with self.assertRaises(NaverAPIError) as context: self.client.search_encyclopedia("") self.assertEqual(context.exception.error_code, "SE01") self.assertEqual(context.exception.status_code, 400) @patch('src.naver_api.settings') @patch('requests.get') def test_search_encyclopedia_network_error(self, mock_get, mock_settings): # API 키 설정 모킹 mock_settings.NAVER_CLIENT_ID = "test_client_id" mock_settings.NAVER_CLIENT_SECRET = "test_client_secret" mock_settings.MAX_DISPLAY = 100 mock_settings.MAX_START = 1000 # 네트워크 오류 모킹 mock_get.side_effect = requests.RequestException("Connection error") # 네트워크 오류 처리 테스트 with self.assertRaises(NaverAPIError) as context: self.client.search_encyclopedia("테스트") self.assertEqual(context.exception.error_code, "NETWORK_ERROR") self.assertEqual(context.exception.status_code, 500) if __name__ == "__main__": unittest.main()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cola314/naver-encyc-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server