@@ -55,7 +55,7 @@ def mock_container():
5555 """Create a mock Docker container"""
5656 container = MagicMock ()
5757 container .id = "test-container-id"
58- container .name = "mcp-test-service-user12345 "
58+ container .name = "mcp-test-service-tenant12-user1234 "
5959 container .status = "running"
6060 container .attrs = {
6161 "NetworkSettings" : {
@@ -316,27 +316,27 @@ class TestGenerateContainerName:
316316
317317 def test_generate_container_name_basic (self , docker_container_client ):
318318 """Test basic container name generation"""
319- name = docker_container_client ._generate_container_name ("test-service" , "user12345" )
320- assert name == "test-service-user1234"
319+ name = docker_container_client ._generate_container_name ("test-service" , "tenant123" , " user12345" )
320+ assert name == "mcp- test-service-tenant12 -user1234"
321321
322322 def test_generate_container_name_with_special_chars (self , docker_container_client ):
323323 """Test container name generation with special characters"""
324- name = docker_container_client ._generate_container_name ("test@service#123" , "user12345" )
325- assert name == "test-service-123-user1234"
324+ name = docker_container_client ._generate_container_name ("test@service#123" , "tenant123" , " user12345" )
325+ assert name == "mcp- test-service-123-tenant12 -user1234"
326326 assert "@" not in name
327327 assert "#" not in name
328328
329329 def test_generate_container_name_long_user_id (self , docker_container_client ):
330330 """Test container name generation with long user ID"""
331331 long_user_id = "a" * 20
332- name = docker_container_client ._generate_container_name ("test-service" , long_user_id )
333- # Should only use first 8 characters of user_id
334- assert name == f"test-service-{ long_user_id [:8 ]} "
332+ name = docker_container_client ._generate_container_name ("test-service" , "tenant123" , long_user_id )
333+ # Should only use first 8 characters of tenant_id and user_id
334+ assert name == f"mcp- test-service-tenant12 -{ long_user_id [:8 ]} "
335335
336336 def test_generate_container_name_short_user_id (self , docker_container_client ):
337337 """Test container name generation with short user ID"""
338- name = docker_container_client ._generate_container_name ("test-service" , "user" )
339- assert name == "test-service-user"
338+ name = docker_container_client ._generate_container_name ("test-service" , "tenant123" , " user" )
339+ assert name == "mcp- test-service-tenant12 -user"
340340
341341
342342# ---------------------------------------------------------------------------
@@ -1132,7 +1132,7 @@ def test_list_containers_no_filters(self, docker_container_client, mock_containe
11321132
11331133 assert len (result ) == 1
11341134 assert result [0 ]["container_id" ] == "test-container-id"
1135- assert result [0 ]["name" ] == "mcp-test-service-user12345 "
1135+ assert result [0 ]["name" ] == "mcp-test-service-tenant12-user1234 "
11361136 assert result [0 ]["status" ] == "running"
11371137 assert result [0 ]["host_port" ] == "5020"
11381138
@@ -1189,7 +1189,7 @@ def test_list_containers_no_port_mapping(self, docker_container_client):
11891189 """Test listing containers without port mapping"""
11901190 container = MagicMock ()
11911191 container .id = "test-container-id"
1192- container .name = "mcp-test-service-user12345 "
1192+ container .name = "mcp-test-service-tenant12-user1234 "
11931193 container .status = "running"
11941194 container .attrs = {
11951195 "NetworkSettings" : {
@@ -1209,7 +1209,7 @@ def test_list_containers_empty_port_mapping(self, docker_container_client):
12091209 """Test listing containers with empty port mapping"""
12101210 container = MagicMock ()
12111211 container .id = "test-container-id"
1212- container .name = "mcp-test-service-user12345 "
1212+ container .name = "mcp-test-service-tenant12-user1234 "
12131213 container .status = "running"
12141214 container .attrs = {
12151215 "NetworkSettings" : {
@@ -1230,7 +1230,7 @@ def test_list_containers_host_port_none_or_empty(self, docker_container_client):
12301230 """Test listing containers when host_port is None or empty string (line 448)"""
12311231 container = MagicMock ()
12321232 container .id = "test-container-id"
1233- container .name = "mcp-test-service-user12345 "
1233+ container .name = "mcp-test-service-tenant12-user1234 "
12341234 container .status = "running"
12351235 container .attrs = {
12361236 "NetworkSettings" : {
@@ -1269,7 +1269,7 @@ def test_list_containers_service_filter_special_chars(self, docker_container_cli
12691269 result = docker_container_client .list_containers (service_name = "test@service#123" )
12701270
12711271 # Should match because sanitized name is "test-service-123"
1272- assert len (result ) == 0 # Actually won't match because container name is "mcp-test-service-user12345 "
1272+ assert len (result ) == 0 # Actually will not match because container name is "mcp-test-service-tenant12-user1234 "
12731273
12741274
12751275# ---------------------------------------------------------------------------
@@ -1343,7 +1343,7 @@ def test_get_container_status_success(self, docker_container_client, mock_contai
13431343
13441344 assert result is not None
13451345 assert result ["container_id" ] == "test-container-id"
1346- assert result ["name" ] == "mcp-test-service-user12345 "
1346+ assert result ["name" ] == "mcp-test-service-tenant12-user1234 "
13471347 assert result ["status" ] == "running"
13481348 assert result ["host_port" ] == "5020"
13491349 assert result ["created" ] == "2024-01-01T00:00:00Z"
@@ -1361,7 +1361,7 @@ def test_get_container_status_no_port_mapping(self, docker_container_client):
13611361 """Test getting container status without port mapping"""
13621362 container = MagicMock ()
13631363 container .id = "test-container-id"
1364- container .name = "mcp-test-service-user12345 "
1364+ container .name = "mcp-test-service-tenant12-user1234 "
13651365 container .status = "running"
13661366 container .attrs = {
13671367 "NetworkSettings" : {
@@ -1391,7 +1391,7 @@ def test_get_container_status_empty_port_mapping(self, docker_container_client):
13911391 """Test getting container status with empty port mapping"""
13921392 container = MagicMock ()
13931393 container .id = "test-container-id"
1394- container .name = "mcp-test-service-user12345 "
1394+ container .name = "mcp-test-service-tenant12-user1234 "
13951395 container .status = "running"
13961396 container .attrs = {
13971397 "NetworkSettings" : {
@@ -1414,7 +1414,7 @@ def test_get_container_status_host_port_none_or_empty(self, docker_container_cli
14141414 """Test getting container status when host_port is None or empty string (line 513)"""
14151415 container = MagicMock ()
14161416 container .id = "test-container-id"
1417- container .name = "mcp-test-service-user12345 "
1417+ container .name = "mcp-test-service-tenant12-user1234 "
14181418 container .status = "running"
14191419 container .attrs = {
14201420 "NetworkSettings" : {
@@ -1864,7 +1864,7 @@ def test_list_containers_in_docker_uses_port_env(self, docker_container_client):
18641864 """Test listing containers in Docker mode uses PORT env variable"""
18651865 container = MagicMock ()
18661866 container .id = "test-container-id"
1867- container .name = "mcp-test-service-user12345 "
1867+ container .name = "mcp-test-service-tenant12-user1234 "
18681868 container .status = "running"
18691869 container .attrs = {
18701870 "Config" : {
@@ -1877,18 +1877,18 @@ def test_list_containers_in_docker_uses_port_env(self, docker_container_client):
18771877 docker_container_client .client .containers .list .return_value = [container ]
18781878
18791879 with patch .object (DockerContainerClient , "_is_running_in_docker" , return_value = True ), \
1880- patch .object (DockerContainerClient , "_get_service_host" , return_value = "mcp-test-service-user12345 " ):
1880+ patch .object (DockerContainerClient , "_get_service_host" , return_value = "mcp-test-service-tenant12-user1234 " ):
18811881 result = docker_container_client .list_containers ()
18821882
18831883 assert len (result ) == 1
18841884 assert result [0 ]["host_port" ] == "5020"
1885- assert result [0 ]["service_url" ] == "http://mcp-test-service-user12345 :5020/mcp"
1885+ assert result [0 ]["service_url" ] == "http://mcp-test-service-tenant12-user1234 :5020/mcp"
18861886
18871887 def test_list_containers_in_docker_no_port_env (self , docker_container_client ):
18881888 """Test listing containers in Docker mode when no PORT env variable"""
18891889 container = MagicMock ()
18901890 container .id = "test-container-id"
1891- container .name = "mcp-test-service-user12345 "
1891+ container .name = "mcp-test-service-tenant12-user1234 "
18921892 container .status = "running"
18931893 container .attrs = {
18941894 "Config" : {
@@ -1901,7 +1901,7 @@ def test_list_containers_in_docker_no_port_env(self, docker_container_client):
19011901 docker_container_client .client .containers .list .return_value = [container ]
19021902
19031903 with patch .object (DockerContainerClient , "_is_running_in_docker" , return_value = True ), \
1904- patch .object (DockerContainerClient , "_get_service_host" , return_value = "mcp-test-service-user12345 " ):
1904+ patch .object (DockerContainerClient , "_get_service_host" , return_value = "mcp-test-service-tenant12-user1234 " ):
19051905 result = docker_container_client .list_containers ()
19061906
19071907 assert len (result ) == 1
@@ -1921,7 +1921,7 @@ def test_get_container_status_in_docker_uses_port_env(self, docker_container_cli
19211921 """Test getting container status in Docker mode uses PORT env variable"""
19221922 container = MagicMock ()
19231923 container .id = "test-container-id"
1924- container .name = "mcp-test-service-user12345 "
1924+ container .name = "mcp-test-service-tenant12-user1234 "
19251925 container .status = "running"
19261926 container .attrs = {
19271927 "Config" : {
@@ -1936,18 +1936,18 @@ def test_get_container_status_in_docker_uses_port_env(self, docker_container_cli
19361936 docker_container_client .client .containers .get .return_value = container
19371937
19381938 with patch .object (DockerContainerClient , "_is_running_in_docker" , return_value = True ), \
1939- patch .object (DockerContainerClient , "_get_service_host" , return_value = "mcp-test-service-user12345 " ):
1939+ patch .object (DockerContainerClient , "_get_service_host" , return_value = "mcp-test-service-tenant12-user1234 " ):
19401940 result = docker_container_client .get_container_status ("test-container-id" )
19411941
19421942 assert result is not None
19431943 assert result ["host_port" ] == "5020"
1944- assert result ["service_url" ] == "http://mcp-test-service-user12345 :5020/mcp"
1944+ assert result ["service_url" ] == "http://mcp-test-service-tenant12-user1234 :5020/mcp"
19451945
19461946 def test_get_container_status_in_docker_no_port_env (self , docker_container_client ):
19471947 """Test getting container status in Docker mode when no PORT env variable"""
19481948 container = MagicMock ()
19491949 container .id = "test-container-id"
1950- container .name = "mcp-test-service-user12345 "
1950+ container .name = "mcp-test-service-tenant12-user1234 "
19511951 container .status = "running"
19521952 container .attrs = {
19531953 "Config" : {
@@ -1962,7 +1962,7 @@ def test_get_container_status_in_docker_no_port_env(self, docker_container_clien
19621962 docker_container_client .client .containers .get .return_value = container
19631963
19641964 with patch .object (DockerContainerClient , "_is_running_in_docker" , return_value = True ), \
1965- patch .object (DockerContainerClient , "_get_service_host" , return_value = "mcp-test-service-user12345 " ):
1965+ patch .object (DockerContainerClient , "_get_service_host" , return_value = "mcp-test-service-tenant12-user1234 " ):
19661966 result = docker_container_client .get_container_status ("test-container-id" )
19671967
19681968 assert result is not None
0 commit comments