Skip to main content
Glama
test_ignition.cpython-313-pytest-8.3.5.pyc10.8 kB
� �h� ��f�SSKrSSKJs Jr SSKrSSKrSSKJ r J r J r SSK J r SrSrSrSrg)�N)�patch� mock_open� MagicMock)�generate_ignition_configc ��SnSSSSSS.nSn[S [US 95 [S S S 9 [X5n[R"U5nUSSnSoeU:How(do[ R "SU4SXV45[ R"U5[ R"U5S.-nSSU0-n [[ R"U 55eS=n=pvUSSSSnSoeU:How(do[ R "SU4SXV45[ R"U5[ R"U5S.-nSSU0-n [[ R"U 55eS=n=pvUSSSSSoUU:How(d�[ R "SU4SXR45[ R"U5S[R"5;d[ R"U5(a[ R"U5OSS.-n SS U 0-n [[ R"U 55eS=pWUS!S"SS#S$nS%oeU:How(do[ R "SU4SXV45[ R"U5[ R"U5S.-nSSU0-n [[ R"U 55eS=n=pvUS!S"S&S#S$nS'oeU:How(do[ R "SU4SXV45[ R"U5[ R"U5S.-nSSU0-n [[ R"U 55eS=n=pvS(oTS)S*SSoeU;ow(do[ R "S+U4S,XV45[ R"U5[ R"U5S.-nSSU0-n [[ R"U 55eS=n=pvSSS5 SSS5 g!,(df  N=f!,(df  g=f)-z*Test successful Ignition config generation�test-vmz test-hostz test-userz~/.ssh/test_key.pubzAmerica/New_Yorkz en_US.UTF-8)�hostname�user�ssh_key�timezone�localezssh-rsa test-key� builtins.open�� read_datazos.path.existsT)� return_value�ignition�versionz3.3.0��==�z%(py1)s == %(py4)s��py1�py4�assert %(py6)s�py6N�passwd�usersr�name�sshAuthorizedKeys)z%(py1)s == %(py3)s� mock_ssh_key�r�py3�assert %(py5)s�py5�storage�files�contents�sourcezdata:,test-host�zdata:,LANG=en_US.UTF-8ztimezone.service�systemd�units��in)z%(py1)s in %(py4)s) rrr�json�loads� @pytest_ar�_call_reprcompare� _saferepr�AssertionError�_format_explanation� @py_builtins�locals�_should_repr_global_name) �vm_name� argumentsr �config� config_dict� @py_assert0� @py_assert3� @py_assert2� @py_format5� @py_format7� @py_format4� @py_format6s �3/home/steve/projects/kvm-mcp/tests/test_ignition.py�%test_generate_ignition_config_successrDs����G���(�&�� �I�&�L� �� �L� A� B� ��d� 3�)�'�=���j�j��(� ��:�&�y�1�<�W�<�W�<�<�<�<�<�1�<�<�<�1�<�<�<�W�<�<�<�<�<�<�<��8�$�W�-�a�0��8�G�K�G�K�G�G�G�G�G�8�G�G�G�8�G�G�G�K�G�G�G�G�G�G�G��8�$�W�-�a�0�1D�E�a�H�X�L�X�X�X�X�X�H�X�X�X�H�X�X�X�X�X�X�L�X�X�X�X�L�X�X�X�X�X�X�X��9�%�g�.�q�1�*�=�h�G�\�K\�\�K\�\�\�\�\�\�G�\�\�\�G�\�\�\�K\�\�\�\�\�\�\�\��9�%�g�.�q�1�*�=�h�G�c�Kc�c�Kc�c�c�c�c�c�G�c�c�c�G�c�c�c�Kc�c�c�c�c�c�c�c�!�O��%;�G�%D�Q�%G��%O�O�%O�O�O�O�O�O�!�O�O�O�!�O�O�O�%O�O�O�O�O�O�O�O� 4� C� B� 3� 3�� C� B�s#� O7�N*O&�O7�& O4 �0O7�7 Pc� �Sn0nSn[S[US95 [X5n[R"U5nUSSnUSSnS ovU:Ho�(do[ R "S U4S Xg45[ R"U5[ R"U5S .-n S SU 0-n [[ R"U 55eS=n=p�[SUSS55n U SSnSovU:Ho�(do[ R "S U4S Xg45[ R"U5[ R"U5S .-n S SU 0-n [[ R"U 55eS=n=p�SSS5 g!,(df  g=f)z3Test Ignition config generation with default valuesr�ssh-rsa default-keyrrrrrr�corerrrrrNc3�<# �UHnUSS:XdMUv� M g7f��pathz /etc/hostnameN���.0�fs rC� <genexpr>�9test_generate_ignition_config_defaults.<locals>.<genexpr>1�%���=�(G�1� ��y�O�;��Q�(G��� � r%r&r'r(z data:,coreos) rrrr.r/r0r1r2r3r4�next) r8r9r r:r;rr<r=r>r?r@� hostname_files rC�&test_generate_ignition_config_defaultsrU"s!���G��I�)�L� �� �L� A� B�)�'�=���j�j��(� ��H�%�g�.���Q�x���)�6�)�6�)�)�)�)�)��)�)�)��)�)�)�6�)�)�)�)�)�)�)��=� �I�(>�w�(G�=�=� ��Z�(��2�D�n�D�n�D�D�D�D�D�2�D�D�D�2�D�D�D�n�D�D�D�D�D�D�D� C� B� B�s �EE5�5 Fc�*�SnSS0n[R"[5n[X5 SSS5 SnWRn[ U5oSU;of(Gd"[ R"SU4SX545[ R"U5S[R"5;d[ R"[ 5(a[ R"[ 5OSS [R"5;d[ R"U5(a[ R"U5OS [ R"U5[ R"U5S .-nS S U0-n[[ R"U55eS=n=n=pEg!,(df  GN]=f) z4Test Ignition config generation with invalid SSH keyrr z/nonexistent/path/to/keyNzSSH key not foundr,)zK%(py1)s in %(py8)s {%(py8)s = %(py3)s(%(py6)s {%(py6)s = %(py4)s.value }) }�str�exc_info)rr"rr�py8zassert %(py10)s�py10)�pytest�raises� Exceptionr�valuerWr0r1r2r5r6r7r3r4) r8r9rXr<� @py_assert5� @py_assert7r>� @py_format9� @py_format11s rC�-test_generate_ignition_config_invalid_ssh_keyrc5s����G��-��I� ���y� !�X� ��4� "� �5�h�n�n�5�#�n�"5�5�"5� 5�5�5�5�5� �5�5�5� �5�5�5�5�5�5�#�5�5�5�5�#�5�5�5�5�5�5�h�5�5�5�5�h�5�5�5�n�5�5�5�"5�5�5�5�5�5�5�5� "� !�s � F� Fc��SnSS0nSn[S[US95 [X5n[R"U5nSoUU;of(d�[ R "SU4S XT45[ R"U5S [R"5;d[ R"U5(a[ R"U5OS S .-nS S U0-n[[ R"U55eS=pVSoUU;of(d�[ R "SU4S XT45[ R"U5S [R"5;d[ R"U5(a[ R"U5OS S .-nS S U0-n[[ R"U55eS=pVSoUU;of(d�[ R "SU4S XT45[ R"U5S [R"5;d[ R"U5(a[ R"U5OS S .-nS S U0-n[[ R"U55eS=pVSoUU;of(d�[ R "SU4S XT45[ R"U5S [R"5;d[ R"U5(a[ R"U5OS S .-nS S U0-n[[ R"U55eS=pV[SUSS55n U SSnSo�U :Hof(do[ R "SU4SXZ45[ R"U5[ R"U 5S.-n SSU 0-n [[ R"U 55eS=n=pjSSS5 g!,(df  g=f)z7Test Ignition config generation with minimal parametersrr z minimal-hostrFrrrr,)z%(py1)s in %(py3)sr;r!r#r$Nrr%r*c3�<# �UHnUSS:XdMUv� M g7frIrKrLs rCrO�8test_generate_ignition_config_minimal.<locals>.<genexpr>TrQrRr&r'r(zdata:,minimal-hostrrrrr)rrrr.r/r0r1r2r5r6r7r3r4rS) r8r9r r:r;r<r>rArBrTr=r?r@s rC�%test_generate_ignition_config_minimalrg@s6���G��N��I� )�L� �� �L� A� B�)�'�=���j�j��(� ��(�[�(�(�(�(�(�z�(�(�(�z�(�(�(�(�(�(�[�(�(�(�(�[�(�(�(�(�(�(�(��&�;�&�&�&�&�&�x�&�&�&�x�&�&�&�&�&�&�;�&�&�&�&�;�&�&�&�&�&�&�&��'�K�'�'�'�'�'�y�'�'�'�y�'�'�'�'�'�'�K�'�'�'�'�K�'�'�'�'�'�'�'��'�K�'�'�'�'�'�y�'�'�'�y�'�'�'�'�'�'�K�'�'�'�'�K�'�'�'�'�'�'�'��=� �I�(>�w�(G�=�=� ��Z�(��2�J�6J�J�6J�J�J�J�J�J�2�J�J�J�2�J�J�J�6J�J�J�J�J�J�J�J� C� B� B�s �NN7�7 O)�builtinsr5�_pytest.assertion.rewrite� assertion�rewriter0r[r.� unittest.mockrrr�kvm_mcp_serverrrDrUrcrgrK�rC�<module>ros/���� � �5�5�3�P�8E�& 6�Krn

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