�
���hv � �j � d Z ddlZddlmc mZ ddlZddlm Z m
Z
ddlmZm
Z
ddlmZ G d� d� Zy)z/Tests for MCP server startup and configuration.� N)�patch� MagicMock)�get_job_manager�cleanup_on_shutdown)�
JobManagerc � � e Zd ZdZd� Zej j d� � Zej j d� � Z d� Z
d� Zy)�TestServerStartupz&Test server startup and configuration.c �2 � ddl }d|j _ t � }t |t
� }|�sddt
j � v st j t � rt j t � nddt
j � v st j |� rt j |� nddt
j � v st j t
� rt j t
� ndt j |� d�z }t t j |� � �d}t � }||u }|s�t j d|fd ||f� dt
j � v st j |� rt j |� ndd
t
j � v st j |� rt j |� nd
d�z }dd
|iz }t t j |� � �d}y)z8Test that get_job_manager creates and returns singleton.r Nz5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}�
isinstance�manager1r ��py0�py1�py2�py4)�is)z%(py0)s is %(py2)s�manager2)r r zassert %(py4)sr )�mcp_background_job.server�server�_job_managerr r r �@py_builtins�locals�
@pytest_ar�_should_repr_global_name� _saferepr�AssertionError�_format_explanation�_call_reprcompare)�self�mcp_background_jobr �@py_assert3�@py_format5r �@py_assert1�@py_format3s �W/Users/dylan/Workspace/mcp/servers/mcp-background-job/tests/unit/test_server_startup.py�test_get_job_manager_singletonz0TestServerStartup.test_get_job_manager_singleton
s � � )�15��!�!�.� #�$���(�J�/�/�/�/�/�/�/�/�z�/�/�/�z�/�/�/�/�/�/�(�/�/�/�(�/�/�/�/�/�/�J�/�/�/�J�/�/�/�/�/�/�/�/�/�/� #�$���8�#�#�#�#�x�8�#�#�#�#�#�#�x�#�#�#�x�#�#�#�#�#�#�8�#�#�#�8�#�#�#�#�#�#�#� c � � K � t � }d� }||_ ddl}||j _ t � � d{ ��� y7 ��w)zTest cleanup function.c � � K � y �w)N� r* r'