Skip to main content
Glama
test_vnc_ports.cpython-313-pytest-8.3.5.pyc13.4 kB
� �>h���Z�SSKrSSKJs Jr SSKrSSKJrJ r SSK J r \RRS5r\RRS5r\RRS5r\RRS5r\RRS5rg) �N)�patch� MagicMock)� get_vnc_portsc��F^ ^ # �Sm SSSS.m U U 4Sjn[SUS9 [S 05IS hv�N nUS nS o2U:HoD(do[R"S U4SX#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCSo"U;oD(d�[R"SU4SX!45[R"U5S[R"5;d[R"U5(a[R"U5OSS.-nSSU0-n[ [R "U55eS =p$USSnSo2U:HoD(do[R"S U4SX#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCUSSnSo2U:HoD(do[R"S U4SX#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCUSSnSo2U:HoD(do[R"S U4SX#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCS S S 5 g GN�!,(df  g =f7f)z&Test successful retrieval of VNC portszansible n8n terry z:0 �:1 z:2 )�ansible�n8n�terryc�>�[5nUSS:Xa+USS:Xa"USS:XaUSS:XaSUlTUlU$USS:Xa>USS:Xa5USS:Xa,USS :Xa#US nSUlTRUS 5UlU$� Nr�virsh�z-c�zqemu:///system��list� vncdisplay���r� returncode�stdout�get��args�kwargs� mock_result�vm_name� running_vms� vnc_displayss ���4/home/steve/projects/kvm-mcp/tests/test_vnc_ports.py�mock_subprocess_run�7test_get_vnc_ports_success.<locals>.mock_subprocess_run�����k� � ��7�g� �$�q�'�T�/�d�1�g�AQ�6Q�VZ�[\�V]�ag�Vg�%&�K� "�!,�K� � �� �!�W�� �D��G�t�O��Q��CS�8S�X\�]^�X_�co�Xo��1�g�G�%&�K� "�!-�!1�!1�'�2�!>�K� ����subprocess.run�� side_effectrN�status�success��==�z%(py1)s == %(py4)s��py1�py4�assert %(py6)s�py6� vnc_ports��in�z%(py1)s in %(py3)s�result�r.�py3�assert %(py5)s�py5ri r � r i� rr� @pytest_ar�_call_reprcompare� _saferepr�AssertionError�_format_explanation� @py_builtins�locals�_should_repr_global_name� r!r6� @py_assert0� @py_assert3� @py_assert2� @py_format5� @py_format7� @py_format4� @py_format6rrs @@r �test_get_vnc_ports_successrMs�����*�K�����L� � ��-@� A�$�_�b�9�9���h��,�9�,�9�,�,�,�,�,��,�,�,��,�,�,�9�,�,�,�,�,�,�,��$�f�$�$�$�$�$�{�$�$�$�{�$�$�$�$�$�$�f�$�$�$�$�f�$�$�$�$�$�$�$��k�"�9�-�5��5��5�5�5�5�5�-�5�5�5�-�5�5�5��5�5�5�5�5�5�5��k�"�5�)�1�T�1�T�1�1�1�1�1�)�1�1�1�)�1�1�1�T�1�1�1�1�1�1�1��k�"�7�+�3�t�3�t�3�3�3�3�3�+�3�3�3�+�3�3�3�t�3�3�3�3�3�3�3� B� A�9� B� A�s-�L!�L�L �KL� L!� L� L�L!c���# �Sn[SUS9 [S05IShv�N nUSnSo2U:HoD(do[R"SU4S X#45[R"U5[R"U5S .-nS S U0-n[ [R "U55eS=n=pCS o"U;oD(d�[R"SU4SX!45[R"U5S[R"5;d[R"U5(a[R"U5OSS.-nSSU0-n[ [R "U55eS=p$US n [U 5nSo�U :Ho�(d�[R"SU 4SX:45S[R"5;d[R"[5(a[R"[5OS[R"U 5[R"U5[R"U 5S.-n SSU 0-n [ [R "U 55eS=n =n=p�SSS5 gGNA!,(df  g=f7f)z/Test VNC port retrieval when no VMs are runningc�6�[5nSUlSUlU$)Nr� )rrr�rrrs r r!�6test_get_vnc_ports_no_vms.<locals>.mock_subprocess_run)s���k� �!"� ��!� ���r$r%r&rNr(r)r*r,r-r0r1r2r3r5r6r7r9r:r)z0%(py4)s {%(py4)s = %(py0)s(%(py2)s) } == %(py7)s�len)�py0�py2r/�py7zassert %(py9)s�py9) rrr=r>r?r@rArBrCrDrS)r!r6rFrGrHrIrJrKrL� @py_assert1� @py_assert6� @py_assert5� @py_format8� @py_format10s r �test_get_vnc_ports_no_vmsr]&sp���� ��-@� A�$�_�b�9�9���h��,�9�,�9�,�,�,�,�,��,�,�,��,�,�,�9�,�,�,�,�,�,�,��$�f�$�$�$�$�$�{�$�$�$�{�$�$�$�$�$�$�f�$�$�$�$�f�$�$�$�$�$�$�$��+�&�,�s�&�'�,�1�,�1�,�,�,�,�,�'�,�,�,�,�,�,�s�,�,�,�,�s�,�,�,�&�,�,�,�'�,�,�,�1�,�,�,�,�,�,�,� B� A�9� B� A�s-�I5�I$�I!�H7I$� I5�!I$�$ I2�.I5c��# �Sn[SUS9 [S05IShv�N nUSnSo2U:HoD(do[R"SU4S X#45[R"U5[R"U5S .-nS S U0-n[ [R "U55eS=n=pCS o!So2U;oD(do[R"SU4SX#45[R"U5[R"U5S .-nS S U0-n[ [R "U55eS=n=pCSSS5 gGN!,(df  g=f7f)z,Test error handling when virsh command failsc�6�[5nSUlSUlU$)NrzFailed to connect to hypervisor)rr�stderrrQs r r!�;test_get_vnc_ports_virsh_error.<locals>.mock_subprocess_run9s���k� �!"� ��>� ���r$r%r&rNr(�errorr*r,r-r0r1zFailed to get VM list�messager3)z%(py1)s in %(py4)s)rrr=r>r?r@rA)r!r6rFrGrHrIrJs r �test_get_vnc_ports_virsh_errorrd6s����� ��-@� A�$�_�b�9�9���h��*�7�*�7�*�*�*�*�*��*�*�*��*�*�*�7�*�*�*�*�*�*�*�&�;��*;�;�*;�;�;�;�;�;�&�;�;�;�&�;�;�;�*;�;�;�;�;�;�;�;� B� A�9� B� A�s-�E �D:�D7�D D:�. E �7D:�: E�E c��,^ ^ # �Sm SSS.m U U 4Sjn[SUS9 [S05IS hv�N nUS nS o2U:HoD(do[R"S U4S X#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCSo"U;oD(d�[R"SU4SX!45[R"U5S[R"5;d[R"U5(a[R"U5OSS.-nSSU0-n[ [R "U55eS =p$USSnSo2U:HoD(do[R"S U4S X#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCSo!So2U;oD(do[R"SU4SX#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCS S S 5 g GNS!,(df  g =f7f)z,Test handling of invalid VNC display numbers�test-vm1 test-vm2 rzinvalid ��test-vm1�test-vm2c�>�[5nUSS:Xa+USS:Xa"USS:XaUSS:XaSUlTUlU$USS:Xa>USS:Xa5USS:Xa,USS :Xa#US nSUlTRUS 5UlU$r rrs ��r r!�?test_get_vnc_ports_invalid_display.<locals>.mock_subprocess_runOr#r$r%r&rNr(r)r*r,r-r0r1r2r3r5r6r7r9r:rhr;ri��not in�z%(py1)s not in %(py4)sr<rEs @@r �"test_get_vnc_ports_invalid_displayroEs�����)�K����L� � ��-@� A�$�_�b�9�9���h��,�9�,�9�,�,�,�,�,��,�,�,��,�,�,�9�,�,�,�,�,�,�,��$�f�$�$�$�$�$�{�$�$�$�{�$�$�$�$�$�$�f�$�$�$�$�f�$�$�$�$�$�$�$��k�"�:�.�6�$�6�$�6�6�6�6�6�.�6�6�6�.�6�6�6�$�6�6�6�6�6�6�6��4� �!4�4�!4�4�4�4�4�4�z�4�4�4�z�4�4�4�!4�4�4�4�4�4�4�4� B� A�9� B� A��-�J�J�J�I J�7 J�J� J� Jc��,^ ^ # �Sm SSS.m U U 4Sjn[SUS9 [S05IS hv�N nUS nS o2U:HoD(do[R"S U4S X#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCSo"U;oD(d�[R"SU4SX!45[R"U5S[R"5;d[R"U5(a[R"U5OSS.-nSSU0-n[ [R "U55eS =p$USSnSo2U:HoD(do[R"S U4S X#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCSo!So2U;oD(do[R"SU4SX#45[R"U5[R"U5S.-nSSU0-n[ [R "U55eS =n=pCS S S 5 g GNS!,(df  g =f7f)z1Test handling of out-of-range VNC display numbersrfrz:100 rgc�>�[5nUSS:Xa+USS:Xa"USS:XaUSS:XaSUlTUlU$USS:Xa>USS:Xa5USS:Xa,USS :Xa#US nSUlTRUS 5UlU$r rrs ��r r!�Dtest_get_vnc_ports_out_of_range_display.<locals>.mock_subprocess_runkr#r$r%r&rNr(r)r*r,r-r0r1r2r3r5r6r7r9r:rhr;rirlrnr<rEs @@r �'test_get_vnc_ports_out_of_range_displayrtbs�����)�K����L� � ��-@� A�$�_�b�9�9���h��,�9�,�9�,�,�,�,�,��,�,�,��,�,�,�9�,�,�,�,�,�,�,��$�f�$�$�$�$�$�{�$�$�$�{�$�$�$�$�$�$�f�$�$�$�$�f�$�$�$�$�$�$�$��k�"�:�.�6�$�6�$�6�6�6�6�6�.�6�6�6�.�6�6�6�$�6�6�6�6�6�6�6��4� �!4�4�!4�4�4�4�4�4�z�4�4�4�z�4�4�4�!4�4�4�4�4�4�4�4� B� A�9� B� A�rp)�builtinsrB�_pytest.assertion.rewrite� assertion�rewriter=�pytest� unittest.mockrr�kvm_mcp_serverr�mark�asynciorMr]rdrort�r$r �<module>rs����� �*�(������4��4�@����� -�� -������ <�� <������5��5�8�����5��5r$

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/steveydevey/kvm-mcp'

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