Skip to main content
Glama

MCP Unified Server

by getfounded
test_sdk.cpython-312.pyc18.1 kB
� �9�h *��P�dZddlZddlZddlZddlmZmZmZddlm Z m Z m Z m Z m Z Gd�dej�ZGd�dej�ZGd �d ej�ZGd �d ej�ZGd �dej�Zedk(rej*�yy)z! Test suite for MCP Tool Kit SDK �N)�Mock�patch� MagicMock)� MCPToolKitSDK� ToolResult�FileOperations� GitOperations� WebOperationsc�"�eZdZdZd�Zd�Zd�Zy)�TestToolResultzTest ToolResult class.c���tdd�}|j|j�|j|jd�|j |j �y)NTz test data)r� assertTrue�success� assertEqual�data� assertIsNone�error��self�results �;C:\Users\JackThompson\python\mcp-tool-kit\tests\test_sdk.py�test_success_resultz"TestToolResult.test_success_resultsD���D�+�.�� ������'� ������k�2� ���&�,�,�'�c���tddd��}|j|j�|j|j�|j |j d�y)NFz Test error)r)r� assertFalserrrrrrs r�test_error_resultz TestToolResult.test_error_resultsH���E�4�|�<�� ������(� ���&�+�+�&� ������|�4rc�v�tddddi��}dddddid�}|j|j�|�y)NTr�cached)�metadata)rrrr)rr�to_dict)rr�expecteds r� test_to_dictzTestToolResult.test_to_dictsF���D�&�H�d�3C�D�����!�4�(�  �� ������)�8�4rN)�__name__� __module__� __qualname__�__doc__rrr"�rrr r s�� �(� 5� 5rr c�X�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z d�Z d �Z d �Z d �Z d �Zd �Zy)�TestMCPToolKitSDKzTest main SDK class.c�T�t�|_t�|j_y)zSet up test fixtures.N)r�sdkr�client�rs r�setUpzTestMCPToolKitSDK.setUp(s�� �?����&����rc�8�tddddd��}|j|jd�|j|jd�|j|jd�|j |j �|j|j�y)zTest SDK initialization.zhttp://test:8000T��<iX)� server_url� async_mode� retry_count�timeout� cache_ttlN) rrr4r5r6rr3�assertIsNotNone� _executor�rr+s r�test_initializationz%TestMCPToolKitSDK.test_initialization.s{���)�����  �� ������!�,� ������b�)� �������,� ������'� ���S�]�]�+rc�n�t�5}|j|t�ddd�y#1swYyxYw)z#Test context manager functionality.N)r�assertIsInstancer9s r�test_context_managerz&TestMCPToolKitSDK.test_context_manager=s#�� �_�� � !� !�#�}� 5��_�_�s�+�4c���tjddi�|jjj_|jj dddi�}|j |j�|j|jddi�|j|j�|jjjjdddi�y)zTest successful tool call.rr� test_tool�param�valueN) �json�dumpsr+r,� call_tool� return_valuerrrrrr�assert_called_once_withrs r�test_call_tool_successz(TestMCPToolKitSDK.test_call_tool_successBs���15���X�y�<Q�1R������!�!�.����#�#�K�'�7�1C�D�� ������'� ������x��&;�<� ���&�,�,�'� �����!�!�9�9�+��QX�GY�Zrc�X�tjddi�|jjj_|jj dddi�}|j |j�|j|j�|j|jd�y)zTest tool call with error.rz Tool failedr?r@rAN) rBrCr+r,rDrErrrrrrrs r�test_call_tool_errorz&TestMCPToolKitSDK.test_call_tool_errorMsy��15���W�m�<T�1U������!�!�.����#�#�K�'�7�1C�D�� ������(� ���&�+�+�&� ������}�5rc���td�td�tjddi�g|jjj _|jj dddid� �}|j|j�|j|jddi�|j|jjj jd�y ) zTest retry logic.z Network error�Timeoutrrr?r@rA�)�retryN) � ExceptionrBrCr+r,rD� side_effectrrrr� call_countrs r�test_call_tool_with_retryz+TestMCPToolKitSDK.test_call_tool_with_retryWs��� �o� &� �i� � �J�J��)�,� -�1 ������!�!�-� ���#�#�K�'�7�1C�1�#�M�� ������'� ������x��&;�<� ��������2�2�=�=�q�Arc��tjddi�|jjj_|jj dddi�}|j |j�|jj dddi�}|j |j�|j|jjd�d�|jjjj�y)zTest caching functionality.rrr?r@rATN) rBrCr+r,rDrErrrr�get�assert_called_once)r�result1�result2s r� test_cachingzTestMCPToolKitSDK.test_cachingfs���15���X�x�<P�1Q������!�!�.��(�(�$�$�[�7�G�2D�E�� ������(��(�(�$�$�[�7�G�2D�E�� ������(� ����)�)�-�-�h�7��>� �����!�!�4�4�6rc��d�}|jj|�tjddi�|jjj _|jj dddi�|jjj jd}|j|dd�|j|dd �y ) zTest middleware functionality.c��d|d<|S)NT�added_by_middlewarer')� tool_name�paramss r�test_middlewarez:TestMCPToolKitSDK.test_middleware.<locals>.test_middlewarexs��,0�F�(� )��Mrrrr?r@rAr�rZN) r+�add_middlewarerBrCr,rDrE� call_argsrr)rr]r`s rr]z!TestMCPToolKitSDK.test_middlewarevs��� � ������0�15���X�y�<Q�1R������!�!�.� �����;��'�(:�;��H�H�O�O�-�-�7�7��:� � ����1��{�3� ��� �!� �%:�;�<rc�b��g��fd�}�fd�}|jjd|�|jjd|�tjddi�|jjj _|jj di�|j�dd g�y ) z!Test event handler functionality.c�,���jd|f�y)N�before��append)r[r\�eventss �r�before_handlerz=TestMCPToolKitSDK.test_event_handlers.<locals>.before_handler�s��� �M�M�8�Y�/� 0rc�,���jd|f�y)N�afterrd)r[r\rrfs �r� after_handlerz<TestMCPToolKitSDK.test_event_handlers.<locals>.after_handler�s��� �M�M�7�I�.� /r� before_call� after_callrrr?)rcr?)rir?N)r+�onrBrCr,rDrEr)rrgrjrfs @r�test_event_handlersz%TestMCPToolKitSDK.test_event_handlers�s������ 1� 0� ��� � �M�>�2� ��� � �L�-�0�15���X�y�<Q�1R������!�!�.� �����;��+� ����"9�;Q�!R�Src��tjddi�tjddi�tjddi�g|jjj_dddid �d dd id �d dd id �g}|jj |�}|jt|�d �|j|dj�|j|dj�|j|d j�y)zTest batch operations.r�1�2r�Failed�tool1�pr^)�toolr\�tool2��tool3rLrN) rBrCr+r,rDrO� batch_callr�lenrrr)r� operations�resultss r�test_batch_callz!TestMCPToolKitSDK.test_batch_call�s��� �J�J��#�� '� �J�J��#�� '� �J�J���*� +�1 ������!�!�-���a�� 1���a�� 1���a�� 1� � � �(�(�%�%�j�1�� ����W��q�)� ����� �*�*�+� ����� �*�*�+� ������+�+�,rc��tjddd�ddd�g�|jjj_|jj �}|jt|�d�|j|ddd�y ) zTest tool listing.rsz Test tool 1)�name� descriptionrvz Test tool 2rwrrN) rBrCr+r,rDrE� list_toolsrrz)r�toolss r�test_list_toolsz!TestMCPToolKitSDK.test_list_tools�sw��15����]� ;��]� ;�= �2 ������!�!�.� ���#�#�%�� ����U��Q�'� ����q��&�)�7�3rc�J�tjddi�|jjj_|jj d��}|j|j�|jjjjdddi�y)zTest dynamic method generation.r�dynamicrA)r@� some_toolr@N) rBrCr+r,rDrEr�rr�assert_called_withrs r�test_dynamic_methodsz&TestMCPToolKitSDK.test_dynamic_methods�sr��15���X�y�<Q�1R������!�!�.����#�#�'�#�2�� ������'� �����!�!�4�4�[�7�G�BT�UrN)r#r$r%r&r.r:r=rGrIrQrWr]rnr}r�r�r'rrr)r)%sE���!� ,�6� [�6� B�7� =� T�$-�* 4�Vrr)c�(�eZdZdZd�Zd�Zd�Zd�Zy)�TestFileOperationsz&Test FileOperations convenience class.c�X�t�|_t|jd�|_y)N�test.txt)rr+r�file_opsr-s rr.zTestFileOperations.setUp�s���6���&�t�x�x��<�� rc���tdd�|jj_|jj �}|j |d�|jjjdddi�y)zTest file read.Tz file content� read_file�pathr�N)rr+rDrEr��readrr�)r�contents r� test_readzTestFileOperations.test_read�s\��*4�T�>�*J������'��-�-�$�$�&�� ����.�1� �����-�-�k�F�J�;O�Prc���tdd�|jj_|jj d�}|j |�|jjjdddd��y)zTest file write.T�Successz new content� write_filer�)r�r�N)rr+rDrEr��writerr��rrs r� test_writezTestFileOperations.test_write�s`��*4�T�9�*E������'��-�-�%�%�m�4�� ���� � �����-�-�l��$�= � rc�:�tdd�tdd�g|jj_|jj d�}|j |�|jjjd}|j|dddd�y ) zTest file append.Tzexisting contentr�z appendedr^rr�zexisting content appendedN) rr+rDrOr�rer�call_args_listr)rr� write_calls r� test_appendzTestFileOperations.test_append�s��� �t�/� 0� �t�Y� '�* ������&� �-�-�&�&�{�3�� ���� ��X�X�'�'�6�6�q�9� � ����A��q�)�)�4�6Q�RrN)r#r$r%r&r.r�r�r�r'rrr�r��s��0�=�Q�  � Srr�c�"�eZdZdZd�Zd�Zd�Zy)�TestGitOperationsz%Test GitOperations convenience class.c�X�t�|_t|jd�|_y)N�.)rr+r �git_opsr-s rr.zTestGitOperations.setUp�s���6���$�T�X�X�s�3�� rc���tdd�|jj_|jj �}|j |d�|jjjdddi�y)zTest git status.TzOn branch main� git_status� repo_pathr�N)rr+rDrEr��statusrr�)rr�s r� test_statuszTestGitOperations.test_status�s^��*4�T�;K�*L������'����$�$�&�� ����!1�2� �����-�-�l�[�#�<N�Orc��tdd�|jj_|jj ddg��}|j |�|jjjddddgd��y ) zTest git commit.T� Committedz Test commitz file1.txt)�files� git_commitr�)r��messager�N)rr+rDrEr��commitrr�r�s r� test_commitzTestGitOperations.test_commitsl��*4�T�;�*G������'��,�,�%�%�m�K�=�%�I�� ���� � �����-�-�l��$�!�]�= � rN)r#r$r%r&r.r�r�r'rrr�r��s��/�4�P�  rr�c�"�eZdZdZd�Zd�Zd�Zy)�TestWebOperationsz%Test WebOperations convenience class.c�V�t�|_t|j�|_y)N)rr+r �web_opsr-s rr.zTestWebOperations.setUps���6���$�T�X�X�.�� rc��tdddi�|jj_|jj dddi��}|j |ddi�|jjjddd ddid ��y ) zTest GET request.Tr�response�https://api.example.com�Auth�token)�headers�fetch�GET)�url�methodr�N)rr+rDrEr�rSrr��rr�s r�test_getzTestWebOperations.test_gets���*4�T�F�J�;O�*P������'��<�<�#�#�$=��PW�GX�#�Y�� ����F�J�#7�8� �����-�-�g�,����(�8 � rc��tdddi�|jj_|jj dddi�}|j |ddi�|jjjdddddid��y ) zTest POST request.Trr��keyrAr��POST)r�r��bodyN)rr+rDrEr��postrr�r�s r� test_postzTestWebOperations.test_post"s~��*4�T�I�t�;L�*M������'��<�<�$�$�%>���@P�Q�� ����I�t�#4�5� �����-�-�g�,���G�$�8 � rN)r#r$r%r&r.r�r�r'rrr�r�s��/�/�  �  rr��__main__)r&�unittestrB�time� unittest.mockrrr�app.sdkrrrr r �TestCaser r)r�r�r�r#�mainr'rr�<module>r�s����� � �0�0�[�[�5�X�&�&�5�4\V��)�)�\V�~)S��*�*�)S�X ��)�)� �< ��)�)� �D �z���H�M�M�O�r

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/getfounded/mcp-tool-kit'

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