test_kubernetes.py•1.46 kB
import json
import pytest
from unittest import mock
import grpc
from src.server import MCPServicer
from src.generated import mcp_pb2
@pytest.fixture
def servicer():
return MCPServicer()
def test_kubernetes_list_namespaces(servicer):
"""Test Kubernetes namespace listing with mock."""
with mock.patch('kubernetes.client.CoreV1Api') as mock_api:
mock_instance = mock_api.return_value
mock_instance.list_namespace.return_value = mock.MagicMock(
items=[mock.MagicMock(metadata=mock.MagicMock(name="default"))]
)
req = mcp_pb2.InvokeRequest(
fq_name="kubernetes.CoreV1Api.list_namespace",
json_args='{}'
)
resp = servicer.Invoke(req, grpc.ServicerContext())
assert "default" in resp.json_result
def test_kubernetes_get_pods(servicer):
"""Test Kubernetes pod listing with mock."""
with mock.patch('kubernetes.client.CoreV1Api') as mock_api:
mock_instance = mock_api.return_value
mock_instance.list_pod_for_all_namespaces.return_value = mock.MagicMock(
items=[mock.MagicMock(metadata=mock.MagicMock(name="test-pod"))]
)
req = mcp_pb2.InvokeRequest(
fq_name="kubernetes.CoreV1Api.list_pod_for_all_namespaces",
json_args='{}'
)
resp = servicer.Invoke(req, grpc.ServicerContext())
assert "test-pod" in resp.json_result